-
Notifications
You must be signed in to change notification settings - Fork 376
Expand file tree
/
Copy path.env.example
More file actions
133 lines (110 loc) · 4.89 KB
/
Copy path.env.example
File metadata and controls
133 lines (110 loc) · 4.89 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
## Server listen address and port.
UVICORN_HOST = "0.0.0.0"
UVICORN_PORT = 8000
## Use a Unix domain socket instead of host/port when running behind a local proxy.
# UVICORN_UDS = "/run/pasarguard.socket"
## TLS certificate paths. Set both certfile and keyfile to enable HTTPS.
# UVICORN_SSL_CERTFILE = "/var/lib/pasarguard/certs/example.com/fullchain.pem"
# UVICORN_SSL_KEYFILE = "/var/lib/pasarguard/certs/example.com/key.pem"
# UVICORN_SSL_CA_TYPE = "public"
## Uvicorn process and event loop settings.
# UVICORN_WORKERS = 4
# UVICORN_LOOP = "auto"
## Enable when Pasarguard runs behind a trusted reverse proxy.
# UVICORN_PROXY_HEADERS = False
# UVICORN_FORWARDED_ALLOW_IPS = "127.0.0.1"
## Comma-separated browser origins allowed to call the API. Use "*" to allow all origins.
# ALLOWED_ORIGINS = "*"
## Dashboard mount path and API base URL used by the frontend.
# DASHBOARD_PATH = "/dashboard/"
# VITE_BASE_API = "https://example.com/"
## Subscription paths. XRAY_SUBSCRIPTION_PATH takes precedence when set.
# XRAY_SUBSCRIPTION_PATH = ""
# SUBSCRIPTION_PATH = "sub"
# USER_SUBSCRIPTION_CLIENTS_LIMIT = 10
## External config to import into v2ray format subscription.
# EXTERNAL_CONFIG = "config://..."
## Custom page templates. Client subscription templates are stored in DB table
## `core_templates` and managed via `/api/client_template`.
# CUSTOM_TEMPLATES_DIRECTORY = "/var/lib/pasarguard/templates/"
# SUBSCRIPTION_PAGE_TEMPLATE = "subscription/index.html"
# HOME_PAGE_TEMPLATE = "home/index.html"
## Database URL. SQLite is the default; PostgreSQL or MySQL are recommended for larger deployments.
# SQLALCHEMY_DATABASE_URL = "sqlite+aiosqlite:///db.sqlite3"
# SQLALCHEMY_DATABASE_URL = "postgresql+asyncpg://postgres:DB_PASSWORD@localhost:5432/pasarguard"
# SQLALCHEMY_DATABASE_URL = "mysql+asyncmy://root:DB_PASSWORD@127.0.0.1/pasarguard"
## Database pool settings are per worker, not global. Four workers with pool size 10 can open up to 40 base connections.
# SQLALCHEMY_POOL_SIZE = 25
# SQLALCHEMY_MAX_OVERFLOW = 60
# SQLALCHEMY_POOL_RECYCLE = 300
# ECHO_SQL_QUERIES = False
## NATS connection and subjects for multi-process/node coordination.
# NATS_ENABLED = False
# NATS_URL = "nats://nats:4222"
# NATS_WORKER_SYNC_SUBJECT = "pasarguard.worker_sync"
# NATS_NODE_COMMAND_SUBJECT = "pasarguard.node.command"
# NATS_NODE_RPC_SUBJECT = "pasarguard.node.rpc"
# NATS_SCHEDULER_RPC_SUBJECT = "pasarguard.scheduler.rpc"
# NATS_NODE_LOG_SUBJECT = "pasarguard.node.logs"
# NATS_NODE_RPC_TIMEOUT = 30.0
# NATS_SCHEDULER_RPC_TIMEOUT = 5.0
# NATS_NODE_COMMAND_MAX_PAYLOAD_BYTES = 900000
# NATS_NODE_UPDATE_USERS_BATCH_SIZE = 100
## NATS pub/sub channels, KV buckets, and streams.
# CORE_PUBSUB_CHANNEL = "core_hosts_updates"
# HOST_PUBSUB_CHANNEL = "host_manager_updates"
# NATS_TELEGRAM_KV_BUCKET = "pasarguard_telegram"
# NATS_NOTIFICATION_STREAM = "NOTIFICATIONS"
# NATS_NOTIFICATION_SUBJECT = "notifications.queue"
# NATS_NOTIFICATION_CONSUMER = "notification_workers"
# NATS_WEBHOOK_STREAM = "WEBHOOK_NOTIFICATIONS"
# NATS_WEBHOOK_SUBJECT = "notifications.webhook"
# NATS_WEBHOOK_CONSUMER = "webhook_workers"
## We recommend adding admins with `pasarguard cli`. These values create a
## static admin account and should not be used for normal deployments.
# SUDO_USERNAME = "admin"
# SUDO_PASSWORD = "admin"
## Use negative values to disable user auto-delete by default.
# USERS_AUTODELETE_DAYS = -1
# USER_AUTODELETE_INCLUDE_LIMITED_ACCOUNTS = False
## Telegram bot logging behavior.
# DO_NOT_LOG_TELEGRAM_BOT = True
## Logging settings. Rotation unit accepts "S", "M", "H", "D", "W0"-"W6", or "midnight".
# SAVE_LOGS_TO_FILE = False
# LOG_FILE_PATH = "pasarguard.log"
# LOG_BACKUP_COUNT = 72
# LOG_ROTATION_ENABLED = False
# LOG_ROTATION_INTERVAL = 1
# LOG_ROTATION_UNIT = "H"
# LOG_MAX_BYTES = 10485760
# LOG_LEVEL = "INFO"
## JWT access token lifetime in minutes.
# JWT_ACCESS_TOKEN_EXPIRE_MINUTES = 1440
## Usage recording. Node stats recording is only available for PostgreSQL/TimescaleDB.
# DISABLE_RECORDING_NODE_USAGE = False
# ENABLE_RECORDING_NODES_STATS = False
# RESET_USER_USAGE_CLEAN_CHART_DATA = False
## Background job intervals in seconds.
# JOB_CORE_HEALTH_CHECK_INTERVAL = 10
# JOB_RECORD_NODE_USAGES_INTERVAL = 30
# JOB_RECORD_USER_USAGES_INTERVAL = 10
# JOB_REVIEW_USERS_INTERVAL = 30
# JOB_REVIEW_ADMIN_LIMITS_INTERVAL = 10
# JOB_SEND_NOTIFICATIONS_INTERVAL = 30
# JOB_GATHER_NODES_STATS_INTERVAL = 25
# JOB_REMOVE_OLD_INBOUNDS_INTERVAL = 600
# JOB_REMOVE_EXPIRED_USERS_INTERVAL = 3600
# JOB_RESET_USER_DATA_USAGE_INTERVAL = 600
# JOB_RESET_NODE_USAGE_INTERVAL = 60
# JOB_CHECK_NODE_LIMITS_INTERVAL = 60
# JOB_CLEANUP_SUBSCRIPTION_UPDATES_INTERVAL = 600
## WireGuard peer allocation and subscription output.
# WIREGUARD_ENABLED = True
# WIREGUARD_GLOBAL_POOL = "10.0.0.0/8"
# WIREGUARD_RESERVED = "10.0.0.0/31"
## Developer and test flags.
# DOCS = False
# DEBUG = False
# TESTING = False
## Experimental features.
# STOP_NODES_ON_SHUTDOWN = True