# Адрес панели Remnawave (без хвостового слэша) — ПУБЛИЧНЫЙ https-адрес, тот же, # по которому вы открываете панель в браузере. # # Внутренний адрес вида http://remnawave:3000 НЕ РАБОТАЕТ, даже если контейнеры # в одной сети Docker: панель обслуживает только запросы, пришедшие через её # reverse proxy, а на прямое обращение молча закрывает соединение, не отдав ни # байта. В логах это выглядит как «Панель Remnawave недоступна» с причиной # «fetch failed ← other side closed (UND_ERR_SOCKET)». REMNAWAVE_URL=https://panel.example.com # API-токен Remnawave (Панель → API Tokens). В браузер не попадает. REMNAWAVE_TOKEN= # Пароль входа в редактор. Либо открытый текст (мин. 8 символов), # либо bcrypt-хэш (начинается с $2) — сгенерировать: npx bcrypt-cli "пароль" 12 # ВАЖНО для хэша: Docker Compose интерполирует "$" в .env и молча портит хэш. # Возьмите значение в одинарные кавычки ИЛИ замените каждый "$" на "$$": # APP_PASSWORD='$2b$12$abc...' или APP_PASSWORD=$$2b$$12$$abc... APP_PASSWORD= # Секрет подписи сессионных cookie, мин. 32 случайных символа: # openssl rand -hex 32 SESSION_SECRET= # Порт на хосте (внутри контейнера всегда 3000). 5065, а не 3000, потому что # на 3000 обычно уже висит сама панель Remnawave. Порт открыт только на # loopback — снаружи редактор отдают через HTTPS-прокси, см. README. PORT=5065 # Ссылки на geo-базы (geosite/geoip) задаются в самом редакторе — диалог «Geo-базы». # Сервер скачивает их по этим ссылкам и по умолчанию отказывается ходить во # внутреннюю сеть: приватные, loopback и link-local адреса отклоняются, включая # редиректы на них. Это защита от SSRF — ссылку задаёт пользователь, а сервер # имеет доступ к вещам, недоступным извне (соседние контейнеры, метаданные облака). # Включайте true ТОЛЬКО если базы лежат на вашем зеркале в локальной сети. GEO_ALLOW_PRIVATE_URLS=false # Путь к бинарю Xray для проверки конфига ядром (кнопка «Проверить конфиг»). # В Docker-образе бинарь уже лежит по этому пути. Если бинаря нет, редактор # просто сообщит, что проверка недоступна. XRAY_BIN=xray