Переменные окружения
Все настройки сервера — в файле .env в папке установки. Файл создаёт скрипт установки, права 600, в git и в образы Docker он не попадает. После правки — перезапустить сервисы:
bash
docker compose up -d api worker caddyБольшинство настроек — в админке
Курсы, платёжные системы, почта, уведомления, AML/KYC, дизайн и тексты меняются в админке без правки сервера. Ключи, вписанные в админке, хранятся в базе в зашифрованном виде (ключом SETTINGS_SECRET), и админка показывает только, заданы ли они.
Создаются сами
Эти значения скрипт установки генерирует один раз. Менять их без нужды не стоит.
| Переменная | Что это |
|---|---|
NODE_ENV | production на сервере |
POSTGRES_PASSWORD | Пароль владельца базы — под ним идут миграции |
APP_DB_PASSWORD | Пароль роли приложения: она не может менять журнал действий и журнал денег |
DATABASE_URL | Подключение приложения к базе (под ролью приложения) |
SESSION_SECRET | Подпись сессий, не короче 32 символов |
SETTINGS_SECRET | Ключ шифрования секретов из админки. Сменили — все ключи из админки придётся вписать заново |
BACKUP_PASSWORD | Пароль шифрования бэкапов. Без него копию не открыть — сохраните в менеджере паролей |
ADMIN_GATE_SECRET | Секрет, с которым Caddy спрашивает API, пускать ли адрес в админку |
Домены и доступ
| Переменная | По умолчанию | Что это |
|---|---|---|
SITE_DOMAIN | из команды установки | Домен сайта. Меняется здесь — код не трогаем |
ADMIN_DOMAIN | admin. + домен | Поддомен админки. На основном домене админки нет |
ADMIN_ALLOWED_IPS | 127.0.0.1/32 (закрыто для всех) | Аварийный доступ к админке: IP или подсети через пробел. Работает, даже если API лежит |
Резервные копии
| Переменная | По умолчанию | Что это |
|---|---|---|
BACKUP_HOST_DIR | /home/deploy/backups/auto | Папка копий на сервере, вне папки установки — обновление её не трогает |
Расписание, срок хранения и отправка в Telegram — в админке, Настройки → Бэкапы.
Внешние сервисы
| Переменная | Что это |
|---|---|
TELEGRAM_BOT_TOKEN | Токен Telegram-бота от @BotFather: уведомления, бэкапы в Telegram, бот для клиентов |
API_INTERNAL_URL | Куда бот передаёт обращения внутри Docker. По умолчанию http://api:3000 — не менять |
ANTHROPIC_API_KEY | Подсказка ответа поддержке от ИИ. Без ключа кнопка «Подсказать ответ» скрыта |
AMLBOT_ACCESS_ID, AMLBOT_ACCESS_KEY, AMLBOT_API_URL | AML-проверка через AMLBot. Обычно провайдеры AML подключаются в админке, AML и KYC |
KYC_PROVIDER | manual — документы загружаются на сайте, решает оператор |
KYC_STORAGE_DIR | Закрытая папка документов KYC и чеков об оплате. На сервере это отдельный том Docker — данные не пропадают при обновлении |
Почта — запасной вариант
Обычно почта задаётся в админке, Почта. Эти переменные нужны, только если админка ещё недоступна.
| Переменная | Что это |
|---|---|
SMTP_HOST, SMTP_PORT | Сервер и порт: 465 — сразу TLS, 587 — STARTTLS |
SMTP_SECURE | true / false, если сервер требует не как обычно для своего порта |
SMTP_USER, SMTP_PASSWORD | Логин и пароль ящика |
SMTP_FROM | Отправитель, например "Обменник <no-reply@example.com>" |