docs: document panel dry-run development mode
This commit is contained in:
@@ -117,6 +117,10 @@
|
|||||||
| --- | --- |
|
| --- | --- |
|
||||||
| `PANEL_API_URL` | URL API панели, например `https://panel.example.com/api`. |
|
| `PANEL_API_URL` | URL API панели, например `https://panel.example.com/api`. |
|
||||||
| `PANEL_API_KEY` | API-ключ панели. |
|
| `PANEL_API_KEY` | API-ключ панели. |
|
||||||
|
| `APP_RUNTIME_MODE` | Профиль запуска: `production`, `development`, `staging`, `test`. |
|
||||||
|
| `PANEL_WRITE_MODE` | `auto`, `live` или `dry_run`. В `dry_run` приложение читает живую Remnawave Panel, но мутации пользователей только валидируются и логируются. `auto` включает dry-run для `development`/`test`, а в production остается live. |
|
||||||
|
| `PANEL_DRY_RUN_VALIDATE_REMOTE` | При dry-run проверять ссылки на panel users/internal squads через live `GET`. |
|
||||||
|
| `PANEL_DRY_RUN_SYNTHETIC_CREATE` | При dry-run возвращать синтетического panel user на попытку `POST /users`, чтобы dev-цепочки могли завершиться в локальной БД. |
|
||||||
| `PANEL_WEBHOOK_SECRET` | Секрет проверки Remnawave webhook. Задайте его в Remnawave Panel и вставьте то же значение сюда или в админку. |
|
| `PANEL_WEBHOOK_SECRET` | Секрет проверки Remnawave webhook. Задайте его в Remnawave Panel и вставьте то же значение сюда или в админку. |
|
||||||
| `USER_SQUAD_UUIDS` | Internal Squads по умолчанию для legacy-режима без JSON-каталога. |
|
| `USER_SQUAD_UUIDS` | Internal Squads по умолчанию для legacy-режима без JSON-каталога. |
|
||||||
| `USER_EXTERNAL_SQUAD_UUID` | Необязательный External Squad. |
|
| `USER_EXTERNAL_SQUAD_UUID` | Необязательный External Squad. |
|
||||||
|
|||||||
@@ -409,3 +409,37 @@ app.example.com {
|
|||||||
```bash
|
```bash
|
||||||
APP_ENV_FILE=.env.staging docker compose --env-file .env.staging up -d --build
|
APP_ENV_FILE=.env.staging docker compose --env-file .env.staging up -d --build
|
||||||
```
|
```
|
||||||
|
|
||||||
|
## Dev dry-run рядом с production
|
||||||
|
|
||||||
|
Для проверки фичей на той же Remnawave Panel поднимайте dev-стек с отдельным
|
||||||
|
env-файлом, отдельным Telegram-ботом и локальной БД.
|
||||||
|
В dev-режиме приложение продолжает читать пользователей, squads, devices и
|
||||||
|
статистику из живой панели, но записи в пользователей Remnawave не отправляет:
|
||||||
|
payload валидируется, а в логах появляется строка вида
|
||||||
|
`[PANEL DRY-RUN OK] would PATCH /users ...`.
|
||||||
|
|
||||||
|
Минимальный фрагмент `.env.dev`:
|
||||||
|
|
||||||
|
```env
|
||||||
|
APP_RUNTIME_MODE=development
|
||||||
|
PANEL_WRITE_MODE=dry_run
|
||||||
|
PANEL_DRY_RUN_VALIDATE_REMOTE=True
|
||||||
|
PANEL_DRY_RUN_SYNTHETIC_CREATE=True
|
||||||
|
|
||||||
|
REDIS_KEY_PREFIX=remnawave-tg-shop-dev
|
||||||
|
BACKUP_ENABLED=False
|
||||||
|
```
|
||||||
|
|
||||||
|
Запуск:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
APP_ENV_FILE=.env.dev docker compose --env-file .env.dev up -d --build
|
||||||
|
```
|
||||||
|
|
||||||
|
`PANEL_WRITE_MODE=live` можно поставить только для отдельной тестовой Remnawave
|
||||||
|
Panel, потому что этот режим реально меняет пользователей панели.
|
||||||
|
|
||||||
|
Если второй стек запускается на том же хосте, дополнительно разведите
|
||||||
|
`WEB_SERVER_PORT` и `FRONTEND_PORT`. Если production на другом сервере, локальные
|
||||||
|
порты можно оставить стандартными.
|
||||||
|
|||||||
Reference in New Issue
Block a user