### APP ### APP_PORT=3000 METRICS_PORT=3001 ### API ### # Possible values: max (start instances on all cores), number (start instances on number of cores), -1 (start instances on all cores - 1) # !!! Do not set this value more than physical cores count in your machine !!! # Review documentation: https://docs.rw/docs/install/environment-variables#scaling-api API_INSTANCES=1 ### DATABASE ### # FORMAT: postgresql://{user}:{password}@{host}:{port}/{database} DATABASE_URL="postgresql://postgres:postgres@remnawave-db:5432/postgres" ### REDIS ### REDIS_HOST=remnawave-redis REDIS_PORT=6379 ### JWT ### ### CHANGE DEFAULT VALUES ### JWT_AUTH_SECRET=change_me JWT_API_TOKENS_SECRET=change_me ### TELEGRAM NOTIFICATIONS ### IS_TELEGRAM_NOTIFICATIONS_ENABLED=false TELEGRAM_BOT_TOKEN=change_me TELEGRAM_NOTIFY_USERS_CHAT_ID=change_me TELEGRAM_NOTIFY_NODES_CHAT_ID=change_me TELEGRAM_NOTIFY_CRM_CHAT_ID=change_me # Optional # Only set if you want to use topics TELEGRAM_NOTIFY_USERS_THREAD_ID= TELEGRAM_NOTIFY_NODES_THREAD_ID= TELEGRAM_NOTIFY_CRM_THREAD_ID= ### FRONT_END ### # Used by CORS, you can leave it as * or place your domain there FRONT_END_DOMAIN=* ### SUBSCRIPTION PUBLIC DOMAIN ### ### DOMAIN, WITHOUT HTTP/HTTPS, DO NOT ADD / AT THE END ### ### Used in "profile-web-page-url" response header and in UI/API ### ### Review documentation: https://docs.rw/docs/install/environment-variables#domains SUB_PUBLIC_DOMAIN=panel.domain.com/api/sub ### If CUSTOM_SUB_PREFIX is set in @remnawave/subscription-page, append the same path to SUB_PUBLIC_DOMAIN. Example: SUB_PUBLIC_DOMAIN=sub-page.example.com/sub ### SWAGGER ### SWAGGER_PATH=/docs SCALAR_PATH=/scalar IS_DOCS_ENABLED=false ### PROMETHEUS ### ### Metrics are available at http://127.0.0.1:METRICS_PORT/metrics METRICS_USER=admin METRICS_PASS=admin # Webhook configuration # Enable webhook notifications (true/false, defaults to false if not set or empty) WEBHOOK_ENABLED=false # Webhook URL to send notifications to (can specify multiple URLs separated by commas if needed) # Only http:// or https:// are allowed. WEBHOOK_URL=https://your-webhook-url.com/endpoint ### This secret is used to sign the webhook payload, must be exact 64 characters. Only a-z, 0-9, A-Z are allowed. WEBHOOK_SECRET_HEADER=vsmu67Kmg6R8FjIOF1WUY8LWBHie4scdEqrfsKmyf4IAf8dY3nFS0wwYHkhh6ZvQ ### Bandwidth usage reached notifications BANDWIDTH_USAGE_NOTIFICATIONS_ENABLED=false # Only in ASC order (example: [60, 80]), must be valid array of integer(min: 25, max: 95) numbers. No more than 5 values. BANDWIDTH_USAGE_NOTIFICATIONS_THRESHOLD=[60, 80] ### Not connected users notification (webhook, telegram) NOT_CONNECTED_USERS_NOTIFICATIONS_ENABLED=false # Only in ASC order (example: [6, 12, 24]), must be valid array of integer(min: 1, max: 168) numbers. No more than 3 values. # Each value represents HOURS passed after user creation (user.createdAt) NOT_CONNECTED_USERS_NOTIFICATIONS_AFTER_HOURS=[6, 24, 48] ### CLOUDFLARE ### # USED ONLY FOR docker-compose-prod-with-cf.yml # NOT USED BY THE APP ITSELF CLOUDFLARE_TOKEN=ey... ### Database ### ### For Postgres Docker container ### # NOT USED BY THE APP ITSELF POSTGRES_USER=postgres POSTGRES_PASSWORD=postgres POSTGRES_DB=postgres