# Логи Логи - главный источник диагностики при проблемах запуска, платежей, вебхуков и синхронизации с Remnawave Panel. ## Основные команды ```bash docker compose logs -f backend docker compose logs -f worker docker compose logs -f frontend docker compose logs migrate ``` ## Что искать - ошибки миграций в `migrate`; - ошибки вебхука Telegram и платежных вебхуков в `backend`; - проблемы очереди вебхуков и фоновых задач в `worker`; - ошибки проксирования `/api`, `/auth` и ассетов тем во `frontend`; - ошибки авторизации Mini App и Telegram OAuth. ## Проксирование frontend, `/api`, `/auth` и ассеты тем `frontend` - это nginx-контейнер Mini App. Он отдает статику и проксирует маршруты Web App во внутренний WebApp-сервер backend на `backend:8081`. Сначала смотрите nginx-логи: ```bash docker compose logs -f frontend ``` Если видите `404`, `502`, `upstream` или `connect() failed`, проверьте маршруты: - `/api/*` и `/auth/*` должны попадать в `frontend:80`, а уже frontend проксирует их в `backend:8081`; - `/webapp-logo`, `/webapp-uploaded-logo/*`, `/webapp-favicon/*`, `/webapp-theme-css/*` и `/webapp-theme-assets/*` тоже проксируются через frontend; - внешний обратный прокси не должен отдельно уводить `/api` или `/auth` на webhook-сервер `backend:8080`. Быстрые проверки снаружи: ```bash curl -i https://app.domain.com/health curl -i https://app.domain.com/api/bootstrap curl -i https://app.domain.com/auth/telegram/start curl -i https://app.domain.com/webapp-theme-css/dark/style.css ``` Если `/health` отвечает, а `/api/bootstrap` или ассеты тем падают, смотрите одновременно frontend и backend: ```bash docker compose logs -f frontend backend ``` Где проверять конфигурацию: - frontend nginx: `deploy/docker/frontend/nginx.conf`; - внешний Caddy/Nginx: `deploy/examples/caddy/Caddyfile` или `deploy/examples/nginx/nginx.conf.template`; - домен Web App: `SUBSCRIPTION_MINI_APP_URL`, он должен быть публичным HTTPS URL frontend, без `/api`, `/auth` или webhook-пути; - WebApp-сервер backend: `WEBAPP_ENABLED=True`, `WEBAPP_SERVER_HOST=0.0.0.0`, `WEBAPP_SERVER_PORT=8081`. ## Авторизация Mini App и Telegram OAuth Ошибки авторизации почти всегда видны в `backend`, потому что проверка Telegram Mini Apps `initData`, Telegram OAuth `id_token`, nonce/state и сессий выполняется на WebApp-сервере backend. ```bash docker compose logs -f backend ``` Ищите сообщения: - `Telegram WebApp initData hash mismatch`; - `Telegram WebApp initData auth_date is stale`; - `Failed to validate Telegram WebApp initData`; - `Telegram OAuth nonce mismatch`; - `Telegram OAuth ID token is stale`; - `Failed to validate Telegram OAuth ID token`; - `Telegram OAuth token exchange failed`; - `Telegram OAuth callback failed`; - `WebApp auth failed`. Для Mini App внутри Telegram проверьте: - `SUBSCRIPTION_MINI_APP_URL` совпадает с доменом, указанным в BotFather Mini Apps; - открывается именно HTTPS frontend-домен, а не backend webhook-домен; - время на сервере синхронизировано, иначе `auth_date is stale`; - `WEBAPP_AUTH_MAX_AGE_SECONDS` не слишком маленький; - `WEBAPP_SESSION_SECRET` постоянный между рестартами. Для Telegram OAuth вне Mini App проверьте: - `TELEGRAM_OAUTH_CLIENT_ID` и `TELEGRAM_OAUTH_CLIENT_SECRET`; - callback в Telegram OAuth/BotFather: `https://app.domain.com/auth/telegram/callback`; - `/auth/telegram/start` и `/auth/telegram/callback` проходят через frontend nginx в `backend:8081`; - в браузере после callback нет статуса `telegram_auth=invalid_state`, `invalid_token`, `not_configured`, `unauthorized` или `failed`. Подробности по маршрутам и настройке OAuth: [Telegram-авторизация](../features/telegram-auth.md). ## После изменения конфигурации ```bash docker compose up -d docker compose logs -f backend worker frontend ``` См. также [проблемы](issues.md) и [развертывание](../getting-started/deployment.md).