Create wiki page 'Quick Start'
+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`.
|
||||
Reference in New Issue
Block a user