Skip to content

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

Все настройки сервера — в файле .env в папке установки. Файл создаёт скрипт установки, права 600, в git и в образы Docker он не попадает. После правки — перезапустить сервисы:

bash
docker compose up -d api worker caddy

Большинство настроек — в админке

Курсы, платёжные системы, почта, уведомления, AML/KYC, дизайн и тексты меняются в админке без правки сервера. Ключи, вписанные в админке, хранятся в базе в зашифрованном виде (ключом SETTINGS_SECRET), и админка показывает только, заданы ли они.

Создаются сами ​

Эти значения скрипт установки генерирует один раз. Менять их без нужды не стоит.

ПеременнаяЧто это
NODE_ENVproduction на сервере
POSTGRES_PASSWORDПароль владельца базы — под ним идут миграции
APP_DB_PASSWORDПароль роли приложения: она не может менять журнал действий и журнал денег
DATABASE_URLПодключение приложения к базе (под ролью приложения)
SESSION_SECRETПодпись сессий, не короче 32 символов
SETTINGS_SECRETКлюч шифрования секретов из админки. Сменили — все ключи из админки придётся вписать заново
BACKUP_PASSWORDПароль шифрования бэкапов. Без него копию не открыть — сохраните в менеджере паролей
ADMIN_GATE_SECRETСекрет, с которым Caddy спрашивает API, пускать ли адрес в админку

Домены и доступ ​

ПеременнаяПо умолчаниюЧто это
SITE_DOMAINиз команды установкиДомен сайта. Меняется здесь — код не трогаем
ADMIN_DOMAINadmin. + доменПоддомен админки. На основном домене админки нет
ADMIN_ALLOWED_IPS127.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_URLAML-проверка через AMLBot. Обычно провайдеры AML подключаются в админке, AML и KYC
KYC_PROVIDERmanual — документы загружаются на сайте, решает оператор
KYC_STORAGE_DIRЗакрытая папка документов KYC и чеков об оплате. На сервере это отдельный том Docker — данные не пропадают при обновлении

Почта — запасной вариант ​

Обычно почта задаётся в админке, Почта. Эти переменные нужны, только если админка ещё недоступна.

ПеременнаяЧто это
SMTP_HOST, SMTP_PORTСервер и порт: 465 — сразу TLS, 587 — STARTTLS
SMTP_SECUREtrue / false, если сервер требует не как обычно для своего порта
SMTP_USER, SMTP_PASSWORDЛогин и пароль ящика
SMTP_FROMОтправитель, например "Обменник <no-reply@example.com>"

Документация движка обменника OneSwaper