Create wiki page 'Quick Start'

2026-04-24 10:57:46 +03:00
parent 1df77f5ffe
commit 2b83dc89e5
+77
@@ -0,0 +1,77 @@
# Quick Start
Эта страница описывает минимальный запуск текущей версии GM-Relay.
## Требования
- Docker и Docker Compose для packaged-запуска.
- `.NET 10 SDK` для локальной разработки через решение `GM-Relay.slnx`.
- Telegram-бот, созданный через `@BotFather`.
- PostgreSQL поднимается автоматически в Docker Compose или Aspire.
## Docker Compose
1. Создайте `.env` из шаблона:
```powershell
Copy-Item .env.example .env
```
На Linux/macOS:
```bash
cp .env.example .env
```
2. Заполните обязательные переменные:
```env
TELEGRAM_BOT_TOKEN=YOUR_BOT_TOKEN_HERE
TELEGRAM_BOT_USERNAME=YOUR_BOT_USERNAME_HERE
POSTGRES_PASSWORD=StrongPasswordForDatabase
GMRELAY_WEB_PORT=8080
```
3. Запустите стек:
```bash
docker compose up -d
```
Compose поднимает:
- `db`: PostgreSQL 17 Alpine, БД `gmrelay_db`, пользователь `gmrelay`.
- `bot`: образ `git.codeanddice.ru/toutsu/gmrelay-bot:1.1.5`.
- `web`: образ `git.codeanddice.ru/toutsu/gmrelay-web:1.1.5`.
Web UI доступен на `http://localhost:8080`, если `GMRELAY_WEB_PORT` не переопределён.
## Локальный запуск через .NET Aspire
Из корня репозитория:
```bash
dotnet restore GM-Relay.slnx
dotnet build GM-Relay.slnx -c Release
dotnet run --project src/GmRelay.AppHost
```
`GmRelay.AppHost` описывает PostgreSQL с PgAdmin и запускает проекты `GmRelay.Bot` и `GmRelay.Web`. Для standalone-запуска bot/web сервисов нужны конфигурационные значения:
- `ConnectionStrings__gmrelaydb` — строка подключения к PostgreSQL.
- `Telegram__BotToken` — токен Telegram-бота.
- `Telegram__BotUsername` — имя бота без `@`, нужно web-панели для Telegram Login Widget.
## Настройка Telegram
1. Добавьте бота в группу или супергруппу.
2. Для форум-групп выдайте право управления темами, иначе бот не сможет создавать topic под пачку игр.
3. Рекомендуемые права: отправка сообщений, закрепление сообщений, управление темами.
4. Для web-login настройте домен у `@BotFather` через `/setdomain`, если web-панель используется не только локально.
## Проверка после запуска
- Команда `/start` должна ответить `GM-Relay Bot ready. Use /help for commands.`
- Команда `/help` должна показать формат `/newsession`.
- Web-панель должна перенаправлять неавторизованного пользователя на `/login`.
- После входа через Telegram ГМ видит только группы, где он записан как `gm_telegram_id`.