Skip to main content

Режимы запуска

Настройка webhook

Минимальный .env для webhook

Сгенерируйте WEBHOOK_SECRET_TOKEN и WEB_API_DEFAULT_TOKEN командой openssl rand -hex 32. WEBHOOK_URL должен быть доступен извне по HTTPS.

Полные настройки webhook

  • WEBHOOK_URL — публичный HTTPS-домен прокси. К нему автоматически добавляется путь из WEBHOOK_PATH.
  • WEBHOOK_SECRET_TOKEN — защитный токен Telegram, обязательно задайте своё значение.
  • Очередь можно тюнить через WEBHOOK_MAX_QUEUE_SIZE, WEBHOOK_WORKERS, WEBHOOK_ENQUEUE_TIMEOUT и WEBHOOK_WORKER_SHUTDOWN_TIMEOUT.
  • Если миниапка или админка доступны по другим доменам, перечислите их через запятую в WEB_API_ALLOWED_ORIGINS.
После изменения .env перезапустите сервис: docker compose up -d remnawave_bot.

Docker Compose

Вариант 1: Бот на отдельном сервере

docker-compose.yml
Docker Compose для Caddy (отдельный файл):
docker-compose.caddy.yml

Вариант 2: Бот на одном сервере с панелью

Если бот и панель Remnawave на одном сервере, подключите бота к сети панели:
docker-compose.local.yml
Сеть remnawave-network должна быть создана панелью Remnawave. В .env укажите REMNAWAVE_API_URL=http://remnawave:3000 — обращение через Docker-сеть без внешних запросов.

Обратный прокси

Caddy (рекомендуется)

Caddy автоматически получает и продлевает SSL-сертификаты через Let’s Encrypt.
Caddyfile
Если прокси запускается на том же сервере (без Docker-сети), замените remnawave_bot:8080 на localhost:8080.

Nginx

nginx.conf
Docker Compose для Nginx:
docker-compose.nginx.yml
Если прокси запускается на том же сервере (без Docker-сети), замените remnawave_bot:8080 на localhost:8080.

Настройка SSL для Nginx

Caddy получает сертификаты автоматически. Для Nginx нужно настроить вручную через Certbot.

1. Установка Certbot

2. Генерация сертификатов

3. Копирование сертификатов

4. Запуск Nginx

5. Автообновление сертификатов

6. Проверка SSL

Замените domain.com и your-email@example.com на свои данные. Замените /path/to/docker-compose.yml на реальный путь. Убедитесь, что DNS-записи для доменов указывают на IP вашего сервера.

Проверка здоровья

Переключение на dev-ветку

Для тестирования новых функций можно переключиться на ветку dev. Ваши данные БД и .env не затрагиваются.

Переключение на dev

После переключения пересоберите контейнер:

Возврат на main

Переключение ветки не затрагивает базу данных, .env, директории data/ и logs/ — они хранятся в Docker volumes и примонтированных папках.

Рекомендации

  • Откройте входящие порты 80/443 в файерволе
  • Если используете Cloudflare/анти-DDoS, разрешите метод POST и заголовок X-Telegram-Bot-Api-Secret-Token
  • После развёртывания перезапустите бот (make reload), чтобы он заново зарегистрировал webhook