docs: refactor docs structure

This commit is contained in:
3252a8
2026-05-26 21:45:44 +03:00
parent 0c167c8f09
commit 0df52d0235
41 changed files with 455 additions and 669 deletions
+2 -2
View File
@@ -9,7 +9,7 @@
- Убедитесь, что PostgreSQL и Redis здоровы.
- Проверьте обязательные переменные в `.env`.
## Telegram webhook не работает
## Вебхук Telegram не работает
- Проверьте `WEBHOOK_BASE_URL`.
- Убедитесь, что домен доступен по HTTPS.
@@ -26,7 +26,7 @@
## Платеж не засчитался
- Проверьте включение провайдера.
- Проверьте webhook URL и секреты.
- Проверьте URL вебхука и секреты.
- Посмотрите backend-логи.
- Сверьте статус платежа в админке и кабинете провайдера.
+11 -11
View File
@@ -14,14 +14,14 @@ docker compose logs migrate
## Что искать
- ошибки миграций в `migrate`;
- ошибки Telegram webhook и payment webhook в `backend`;
- ошибки вебхука Telegram и платежных вебхуков в `backend`;
- проблемы очереди вебхуков и фоновых задач в `worker`;
- ошибки проксирования `/api`, `/auth` и theme assets во `frontend`;
- ошибки проксирования `/api`, `/auth` и ассетов тем во `frontend`;
- ошибки авторизации Mini App и Telegram OAuth.
## Frontend proxy, `/api`, `/auth` и theme assets
## Проксирование frontend, `/api`, `/auth` и ассеты тем
`frontend` - это nginx-контейнер Mini App. Он отдает статику и проксирует Web App маршруты во внутренний backend WebApp server на `backend:8081`.
`frontend` - это nginx-контейнер Mini App. Он отдает статику и проксирует маршруты Web App во внутренний WebApp-сервер backend на `backend:8081`.
Сначала смотрите nginx-логи:
@@ -33,7 +33,7 @@ docker compose logs -f frontend
- `/api/*` и `/auth/*` должны попадать в `frontend:80`, а уже frontend проксирует их в `backend:8081`;
- `/webapp-logo`, `/webapp-uploaded-logo/*`, `/webapp-favicon/*`, `/webapp-theme-css/*` и `/webapp-theme-assets/*` тоже проксируются через frontend;
- внешний reverse proxy не должен отдельно уводить `/api` или `/auth` на webhook-сервер `backend:8080`.
- внешний обратный прокси не должен отдельно уводить `/api` или `/auth` на webhook-сервер `backend:8080`.
Быстрые проверки снаружи:
@@ -44,7 +44,7 @@ curl -i https://app.domain.com/auth/telegram/start
curl -i https://app.domain.com/webapp-theme-css/dark/style.css
```
Если `/health` отвечает, а `/api/bootstrap` или theme assets падают, смотрите одновременно frontend и backend:
Если `/health` отвечает, а `/api/bootstrap` или ассеты тем падают, смотрите одновременно frontend и backend:
```bash
docker compose logs -f frontend backend
@@ -54,12 +54,12 @@ 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 server backend: `WEBAPP_ENABLED=True`, `WEBAPP_SERVER_HOST=0.0.0.0`, `WEBAPP_SERVER_PORT=8081`.
- домен 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 auth и Telegram OAuth
## Авторизация Mini App и Telegram OAuth
Ошибки авторизации почти всегда видны в `backend`, потому что проверка Telegram Mini Apps `initData`, Telegram OAuth `id_token`, nonce/state и сессий выполняется на backend WebApp server.
Ошибки авторизации почти всегда видны в `backend`, потому что проверка Telegram Mini Apps `initData`, Telegram OAuth `id_token`, nonce/state и сессий выполняется на WebApp-сервере backend.
```bash
docker compose logs -f backend
@@ -92,7 +92,7 @@ docker compose logs -f backend
- `/auth/telegram/start` и `/auth/telegram/callback` проходят через frontend nginx в `backend:8081`;
- в браузере после callback нет статуса `telegram_auth=invalid_state`, `invalid_token`, `not_configured`, `unauthorized` или `failed`.
Подробности по маршрутам и настройке OAuth: [Web App / Mini App](../features/web-app.md).
Подробности по маршрутам и настройке OAuth: [веб-приложение / Mini App](../features/web-app.md).
## После изменения конфигурации