Перейти к содержимому

Переменные окружения

Настройки читаются из .env в рабочей папке (и из ../.env) или из окружения процесса. Некорректные значения не принимаются: панель не запустится и напишет, какая переменная неверна.

Переменная По умолчанию Описание
APP_SECRET обязательно Секрет не короче 32 символов. Подписывает JWT и участвует в хешах паролей, API-токенах и шифровании SSH-данных нод - не меняйте его на работающей панели
APP_HOST 127.0.0.1 Адрес, на котором слушают панель и метрики. Наружу панель отдаётся через reverse proxy с HTTPS; 0.0.0.0 нужен только внутри контейнера
APP_PORT 3000 Порт панели и API
PANEL_DOMAIN localhost:3000 Домен панели
SUB_PUBLIC_DOMAIN localhost:3000/api/sub Публичный адрес подписок
FRONT_END_DOMAIN * Разрешённые домены для CORS
JWT_AUTH_LIFETIME 12 Срок жизни сессии администратора, часы
SHORT_UUID_LENGTH 16 Длина короткого UUID подписки, 16-64
Переменная По умолчанию Описание
DB_DRIVER sqlite sqlite или postgres. Если не задан, а DATABASE_URL начинается с postgres://, выбирается PostgreSQL
DATABASE_URL gowave.db Путь к файлу SQLite или DSN PostgreSQL
DB_MAX_CONNECTIONS 20 Размер пула соединений PostgreSQL, 1-500. Каждое соединение - отдельный процесс PostgreSQL на несколько МБ; 20 хватает даже под нагрузкой бенчмарка
Переменная По умолчанию Описание
METRICS_PORT 3001 Порт Prometheus-метрик
METRICS_USER, METRICS_PASS не заданы Basic auth для /metrics
Переменная По умолчанию Описание
SERVICE_CLEAN_USAGE_HISTORY false Очищать историю использования
SERVICE_DISABLE_USER_USAGE_RECORDS false Не записывать статистику трафика по пользователям
SERVICE_DISABLE_SRH_RECORDS false Не записывать историю запросов подписки
USER_USAGE_IGNORE_BELOW_BYTES 0 Не учитывать трафик меньше этого значения
EXPORT_TO_STREAM_ENABLED false Экспорт событий в поток
Переменная Описание
WEBHOOK_ENABLED true, чтобы включить
WEBHOOK_URL Один или несколько адресов через запятую, http:// или https://
WEBHOOK_SECRET_HEADER Не короче 32 латинских букв и цифр; обязателен при включённых вебхуках
Переменная Описание
IS_TELEGRAM_NOTIFICATIONS_ENABLED true, чтобы включить
TELEGRAM_BOT_TOKEN Токен бота; обязателен при включённых уведомлениях
TELEGRAM_BOT_API_ROOT Свой Bot API сервер (по умолчанию https://api.telegram.org)
TELEGRAM_BOT_PROXY Прокси для запросов к Telegram
TELEGRAM_NOTIFY_USERS Чат для событий пользователей: chatId или chatId:threadId
TELEGRAM_NOTIFY_NODES Чат для событий нод
TELEGRAM_NOTIFY_SERVICE Чат для сервисных событий и ошибок
TELEGRAM_NOTIFY_CRM Чат для событий CRM
TELEGRAM_NOTIFY_TBLOCKER Чат для Torrent Blocker

Чат со значением change_me считается ненастроенным. Кнопка «View user» в отчётах Torrent Blocker ведёт на PANEL_DOMAIN с учётом PANEL_BASE_PATH и не добавляется, если домен локальный. При неудачном входе в Telegram уходит только длина введённого пароля, сам пароль не отправляется.

Настройки уведомлений старой панели переносятся при миграции автоматически. На уже установленной GoWave их можно перенести пунктом меню установщика «Перенести уведомления Telegram и вебхуки из старой панели».

Списки задаются JSON-массивом чисел, например [60, 80, 95], и действуют только при включённом флаге:

Флаг Список
BANDWIDTH_USAGE_NOTIFICATIONS_ENABLED BANDWIDTH_USAGE_NOTIFICATIONS_THRESHOLD - проценты лимита трафика
NOT_CONNECTED_USERS_NOTIFICATIONS_ENABLED NOT_CONNECTED_USERS_NOTIFICATIONS_AFTER_HOURS - часы без подключения
EXPIRATION_NOTIFICATIONS_ENABLED EXPIRATION_NOTIFICATIONS - когда предупреждать об окончании подписки

Только для compose-установки:

Переменная Описание
GOWAVE_IMAGE Образ панели, по умолчанию ghcr.io/aaasazan/gowave:latest
GOWAVE_COMPOSE_DIR Папка с docker-compose.yml; используется в подсказке обновления
POSTGRES_USER, POSTGRES_DB По умолчанию gowave
POSTGRES_PASSWORD Обязателен
POSTGRES_PORT Порт PostgreSQL на 127.0.0.1, по умолчанию 5432