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

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

Задаются в docker-compose.yml. Обязательны только первые две — остальное обычно трогать не нужно.

Переменная Обяз. По умолчанию Что делает
BOT_TOKEN ✅ — токен бота от @BotFather
ADMIN_TELEGRAM_ID ✅ — ваш Telegram ID (число) — у кого доступ в админку
DATA_DIR /data папка данных в контейнере (том bot-data)
DB_KIND — sqlite или postgres — выбрать базу без мастера. Действует, только пока база ещё не выбрана
DATABASE_URL — строка подключения к своему Postgres (postgres://…). Нужна, если бот не может сам поднять Postgres рядом с собой
SECRET_KEY — ключ шифрования настроек. Если не задан, бот создаёт его сам — файл secret.key в папке данных
PREMIUM_EMOJI — премиум-эмодзи вида ✅=id,⏳=id. Проще настроить командой /emoji — заданное там главнее
CUSTOM_STATIC_DIR /custom папка со своим дизайном мини-аппа и кабинета (см. ниже)
TRUSTED_PROXIES — адреса или сети прокси через запятую (203.0.113.9, 2001:db8::/32). Нужна, только если reverse-proxy стоит на другом сервере с публичным IP: прокси на той же машине или в docker-сети и так считается своим. Без неё такой прокси не пустят: кабинет уйдёт в бесконечный редирект на HTTPS, API ответит 426
ALLOW_PLAIN_HTTP — 1 — отключить требование HTTPS. Временный выход, если прокси не передаёт X-Forwarded-Proto; правильнее поправить прокси
LOG_LEVEL info debug / info / warn / error. На debug в лог пишутся платежи (Telegram ID, суммы) — включайте только на время разбора
CADDY_AUTH_API_TOKEN — ключ X-Api-Key, если панель закрыта аддоном «Caddy with security». Главнее ключа, введённого в админке
COMPOSE_FILE_PATH /compose/docker-compose.yml где внутри контейнера лежит compose-файл (нужен для /update, Postgres и портов)
COMPOSE_PROJECT remnachillbot имя проекта docker compose
COMPOSE_HOST_DIR /opt/remnachillbot папка бота на сервере
PANEL_CONTAINER remnawave имя контейнера панели — к её сети бот подключается в режиме «Локально»
PANEL_NETWORK remnawave-network сеть панели на случай, если контейнер панели не найден. Обычно менять не нужно
SELF_CONTAINER remnabot имя контейнера бота — по нему прокси панели находит бота

Встроенный интерфейс можно заменить своим: смонтируйте папку с файлами в контейнер (в docker-compose.yml есть готовая закомментированная строка):

volumes:
- /opt/remnachillbot/custom:/custom:ro
  • Файл из папки заменяет одноимённый встроенный. Новые файлы (css, js, картинки) просто становятся доступны рядом.
  • index.html — общий для мини-аппа и кабинета; miniapp.html и cabinet.html — только для одного из них.
  • Своя страница главнее дизайна, выбранного в админке.
  • Правки видны сразу, перезапуск не нужен.
  • Заголовок, описание и favicon кабинета из админки подставляются и в ваш HTML.

⚠️ Вся логика (вход, покупка, оплата) живёт в JS внутри страницы. Начинайте с копии встроенной — index.html или minimal.html — и меняйте стили и вёрстку. После обновлений бота сверяйте свой файл с новой версией.