> ## Documentation Index
> Fetch the complete documentation index at: https://docs.remnashop.dev/llms.txt
> Use this file to discover all available pages before exploring further.

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

> Описание всех переменных окружения для настройки Remnashop

## Основные

| Переменная | Обязательная | По умолчанию | Описание |
| - | :-: | - | - |
| `APP_DOMAIN` | ✅ | — | Домен бота без HTTP/HTTPS и без завершающего слеша. Используется для вебхуков. |
| `APP_CRYPT_KEY` | ✅ | — | Ключ шифрования конфиденциальных данных в БД. Валидная Base64-строка длиной 44 символа. |
| `APP_HOST` | ❌ | `0.0.0.0` | Адрес, на котором запускается приложение. |
| `APP_PORT` | ❌ | `5000` | Порт приложения. |
| `APP_LOCALES` | ❌ | `ru` | Список поддерживаемых локалей через запятую. Пример: `en, ru` |
| `APP_DEFAULT_LOCALE` | ❌ | `ru` | Локаль по умолчанию. |
| `APP_ORIGINS` | ❌ | — | Список разрешённых CORS-источников через запятую. |
| `APP_SWAGGER_ENABLED` | ❌ | `false` | Включить ли Swagger UI и документацию OpenAPI. |

***

## Бот

| Переменная | Обязательная | По умолчанию | Описание |
| - | :-: | - | - |
| `BOT_TOKEN` | ✅ | — | Токен Telegram Bot API. Получите у [@BotFather](https://t.me/BotFather). |
| `BOT_SECRET_TOKEN` | ✅ | — | Секретный токен для верификации вебхуков от Telegram. |
| `BOT_OWNER_ID` | ✅ | — | Telegram ID владельца бота. Предоставляет расширенные права. |
| `BOT_SUPPORT_USERNAME` | ✅ | — | Telegram username аккаунта поддержки для deep-link (без @). |
| `BOT_MINI_APP` | ❌ | `false` | Поведение кнопки «подключить»: `false` — браузер, `true` — WebApp, URL — открыть указанный адрес. |
| `BOT_RESET_WEBHOOK` | ❌ | `false` | Сбрасывать ли вебхук при запуске. |
| `BOT_DROP_PENDING_UPDATES` | ❌ | `false` | Игнорировать ли накопившиеся обновления при запуске. |
| `BOT_SETUP_COMMANDS` | ❌ | `true` | Устанавливать ли команды бота при запуске. |
| `BOT_USE_BANNERS` | ❌ | `true` | Использовать ли баннеры в сообщениях бота. |
| `BOT_PROXY_URL` | ❌ | — | URL SOCKS5-прокси для подключения к Telegram API. Актуально при блокировке через ТСПУ/DPI. Поддерживает `socks5://` (локальный DNS) и `socks5h://` (удалённый DNS). Пример: `socks5://user:password@1.2.3.4:1080` |

***

## Remnawave

| Переменная | Обязательная | По умолчанию | Описание |
| - | :-: | - | - |
| `REMNAWAVE_TOKEN` | ✅ | — | API-токен Remnawave. Создаётся в панели: Настройки → API Токены. |
| `REMNAWAVE_WEBHOOK_SECRET` | ✅ | — | Секретный токен для верификации вебхуков от Remnawave. Должен совпадать с `WEBHOOK_SECRET_HEADER` в `.env` панели. |
| `REMNAWAVE_HOST` | ❌ | `remnawave` | Хост или имя Docker-сервиса для подключения к API Remnawave. Без HTTP/HTTPS и без слеша. |
| `REMNAWAVE_CADDY_TOKEN` | ❌ | — | Токен для аутентификации через Caddy. |
| `REMNAWAVE_COOKIE` | ❌ | — | Cookie для запросов в формате `key=value`. |
| `REMNAWAVE_CF_CLIENT_ID` | ❌ | — | Cloudflare Access Client ID. |
| `REMNAWAVE_CF_CLIENT_SECRET` | ❌ | — | Cloudflare Access Client Secret. |

***

## База данных

| Переменная | Обязательная | По умолчанию | Описание |
| - | :-: | - | - |
| `DATABASE_PASSWORD` | ✅ | — | Пароль для подключения к PostgreSQL. |
| `DATABASE_HOST` | ❌ | `remnashop-db` | Хост базы данных. |
| `DATABASE_PORT` | ❌ | `5432` | Порт базы данных. |
| `DATABASE_NAME` | ❌ | `remnashop` | Название базы данных. |
| `DATABASE_USER` | ❌ | `remnashop` | Пользователь базы данных. |
| `DATABASE_POOL_SIZE` | ❌ | `10` | Размер пула соединений. |
| `DATABASE_MAX_OVERFLOW` | ❌ | `20` | Максимум дополнительных соединений сверх пула. |
| `DATABASE_POOL_TIMEOUT` | ❌ | `30` | Таймаут ожидания соединения из пула (сек). |
| `DATABASE_POOL_RECYCLE` | ❌ | `1800` | Время жизни соединения в пуле (сек). |
| `DATABASE_ECHO` | ❌ | `false` | Логировать SQL-запросы. |
| `DATABASE_ECHO_POOL` | ❌ | `false` | Логировать события пула соединений. |

***

## Redis

| Переменная | Обязательная | По умолчанию | Описание |
| - | :-: | - | - |
| `REDIS_HOST` | ❌ | `remnashop-redis` | Хост Redis. |
| `REDIS_PORT` | ❌ | `6379` | Порт Redis. |
| `REDIS_NAME` | ❌ | `0` | Номер базы данных Redis. |
| `REDIS_PASSWORD` | ❌ | — | Пароль Redis. |

***

## Логирование

| Переменная | Обязательная | По умолчанию | Описание |
| - | :-: | - | - |
| `LOG_TO_FILE` | ❌ | `true` | Записывать логи в файл. |
| `LOG_LEVEL` | ❌ | `DEBUG` | Уровень логирования: `DEBUG`, `INFO`, `WARNING`, `ERROR`, `CRITICAL`. |
| `LOG_ROTATION` | ❌ | `100MB` | Условие ротации лог-файла. Пример: `100MB` или `00:00`. |
| `LOG_COMPRESSION` | ❌ | `zip` | Формат сжатия архивных логов. |
| `LOG_RETENTION` | ❌ | `3 days` | Срок хранения архивных логов. |


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.