From 2b83dc89e57743153a8551c18ab73992bffe4b43 Mon Sep 17 00:00:00 2001 From: Toutsu Date: Fri, 24 Apr 2026 10:57:46 +0300 Subject: [PATCH] Create wiki page 'Quick Start' --- Quick-Start.md | 77 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 77 insertions(+) create mode 100644 Quick-Start.md diff --git a/Quick-Start.md b/Quick-Start.md new file mode 100644 index 0000000..96e73f4 --- /dev/null +++ b/Quick-Start.md @@ -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`. \ No newline at end of file