Update wiki page 'Развёртывание'

2026-04-24 13:30:18 +03:00
parent 569a4a5243
commit e05cf1a77f
@@ -1,6 +1,6 @@
# Развёртывание # Развёртывание
Текущий production-like способ запуска — Docker Compose из `compose.yaml`. Текущий production-like способ запуска GM-Relay **v1.2.0** — Docker Compose из `compose.yaml`.
## Сервисы Docker Compose ## Сервисы Docker Compose
@@ -15,13 +15,13 @@
`bot`: `bot`:
- образ: `git.codeanddice.ru/toutsu/gmrelay-bot:1.1.5`; - образ: `git.codeanddice.ru/toutsu/gmrelay-bot:1.2.0`;
- запускается после успешного healthcheck сервиса `db`; - запускается после успешного healthcheck сервиса `db`;
- переменные окружения: `ConnectionStrings__gmrelaydb`, `Telegram__BotToken`. - переменные окружения: `ConnectionStrings__gmrelaydb`, `Telegram__BotToken`.
`web`: `web`:
- образ: `git.codeanddice.ru/toutsu/gmrelay-web:1.1.5`; - образ: `git.codeanddice.ru/toutsu/gmrelay-web:1.2.0`;
- запускается после успешного healthcheck сервиса `db`; - запускается после успешного healthcheck сервиса `db`;
- переменные окружения: `ConnectionStrings__gmrelaydb`, `Telegram__BotToken`, `Telegram__BotUsername`; - переменные окружения: `ConnectionStrings__gmrelaydb`, `Telegram__BotToken`, `Telegram__BotUsername`;
- порт: `${GMRELAY_WEB_PORT:-8080}:8080`; - порт: `${GMRELAY_WEB_PORT:-8080}:8080`;
@@ -68,7 +68,7 @@ docker compose logs -f web
docker compose down docker compose down
``` ```
Остановить сервисы и удалить volumes стоит только при осознанном сбросе окружения: Остановить сервисы и удалить volumes:
```bash ```bash
docker compose down -v docker compose down -v
@@ -79,11 +79,11 @@ docker compose down -v
- Данные PostgreSQL хранятся в volume `pgdata`. - Данные PostgreSQL хранятся в volume `pgdata`.
- Ключи web-аутентификации и Data Protection хранятся в volume `web_keys`. - Ключи web-аутентификации и Data Protection хранятся в volume `web_keys`.
`web_keys` важен для cookie-аутентификации ASP.NET Data Protection. Если ключи не сохранять между пересозданиями контейнера, существующие auth-cookie могут стать недействительными. `web_keys` важен для cookie-аутентификации ASP.NET Data Protection. Если ключи не сохранять между перезапусками контейнера, существующие auth-cookie могут стать недействительными.
## Требования Telegram ## Требования Telegram
Для работы в группах: Для работы в группе:
- бот должен быть участником группы; - бот должен быть участником группы;
- в forum-группах боту нужны права управления темами; - в forum-группах боту нужны права управления темами;
@@ -92,9 +92,7 @@ docker compose down -v
## Поведение миграций ## Поведение миграций
Бот применяет DbUp-миграции при старте до обработки Telegram updates. Миграции встроены в `GmRelay.Bot` как embedded resources, поэтому обновление Docker-образа может одновременно обновлять и схему БД. Бот применяет DbUp-миграции при старте до обработки Telegram updates. В версии `1.2.0` добавлена миграция `V006__add_session_capacity_waitlist.sql`; она расширяет схему лимитом мест и листом ожидания. После обновления стоит проверить логи `bot`, чтобы убедиться, что миграции применились без ошибок.
После обновления стоит проверить логи `bot`, чтобы убедиться, что миграции применились без ошибок.
## Безопасность ## Безопасность
@@ -110,4 +108,4 @@ docker compose down -v
3. Выполнить `docker compose pull`, если образы опубликованы в registry. 3. Выполнить `docker compose pull`, если образы опубликованы в registry.
4. Выполнить `docker compose up -d`. 4. Выполнить `docker compose up -d`.
5. Проверить `docker compose logs -f bot`: миграции, подключение к БД и старт Telegram polling. 5. Проверить `docker compose logs -f bot`: миграции, подключение к БД и старт Telegram polling.
6. Проверить вход в web-панель и одну read-only страницу группы или сессии до редактирования данных. 6. Проверить вход в Web-панель и одну read-only страницу группы или сессии до редактирования данных.