# Инструкция для пользователя ## Первая установка на новом сервере ### Требования - Docker и Docker Compose установлены - Доступ к GitHub репозиторию ### Шаг 1: Клонирование репозитория ```bash git clone https://github.com/vrubelroman/LichessStatTgWeb.git cd LichessStatTgWeb ``` ### Шаг 2: Передача базы данных (опционально) Если у вас есть бэкап базы данных с другого сервера: ```bash # Скопируйте файл базы на сервер cp /path/to/backup.db LichessClientTG_bot/data/lichess_bot.db ``` Или импортируйте через скрипт: ```bash chmod +x import_db.sh ./import_db.sh /path/to/backup.db ``` ### Шаг 3: Запуск ```bash chmod +x start.sh ./start.sh ``` Скрипт автоматически: - Остановит существующие контейнеры (если есть) - Создаст бэкап базы данных - Пересоберет Docker образы - Запустит все три сервиса ### Шаг 4: Проверка Откройте в браузере: - **API документация**: http://localhost:8001/docs - **Веб-интерфейс**: http://localhost:5000 Проверьте логи: ```bash docker logs lichess-telegram-bot -f ``` ## Обновление до новой версии ### Шаг 1: Создайте бэкап (рекомендуется) ```bash chmod +x export_db.sh ./export_db.sh ``` Это создаст копию базы в папке `backups/`. ### Шаг 2: Обновите код ```bash cd /path/to/LichessStatTgWeb git pull ``` ### Шаг 3: Перезапустите сервисы ```bash ./start.sh ``` **Важно:** `start.sh` **НЕ удалит** вашу базу данных. Она останется в `LichessClientTG_bot/data/`. ### Шаг 4: Проверка Проверьте что все контейнеры запущены: ```bash docker ps | grep lichess ``` ## Работа с бэкапами ### Экспорт базы данных ```bash ./export_db.sh ``` Создает файл в `backups/export_lichess_bot_YYYYMMDD_HHMMSS.db` ### Импорт базы данных ```bash ./import_db.sh backups/export_lichess_bot_20251028_123456.db ``` Автоматически создаст бэкап текущей базы перед импортом. ## Просмотр логов ### Все сервисы ```bash docker-compose logs -f ``` ### Только бот ```bash docker logs lichess-telegram-bot -f ``` ### Только API ```bash docker logs lichess-api -f ``` ### Только веб-интерфейс ```bash docker logs lichess-web-view -f ``` ## Остановка и удаление ### Остановка без удаления данных ```bash docker-compose down ``` База данных остается. ### Полное удаление (с данными!) ```bash docker-compose down -v # ОПАСНО! Удалит volumes rm -rf LichessClientTG_bot/data/ # Удалит базу данных ``` ## Перенос на другой сервер ### На старом сервере: ```bash ./export_db.sh # Скопируйте файл из backups/ на новый сервер ``` ### На новом сервере: ```bash git clone https://github.com/vrubelroman/LichessStatTgWeb.git cd LichessStatTgWeb chmod +x import_db.sh start.sh ./import_db.sh /path/to/backup.db ./start.sh ``` ## Устранение проблем ### Порт уже занят Ошибка: `bind: address already in use` Решение: ```bash # Найдите процесс на порту sudo fuser -k 8001/tcp # Для API sudo fuser -k 5000/tcp # Для веб-интерфейса # Перезапустите ./start.sh ``` ### Контейнер не запускается ```bash # Проверьте логи docker logs lichess-telegram-bot # Удалите и пересоздайте docker-compose down docker-compose build --no-cache ./start.sh ``` ### База данных повреждена ```bash # Восстановите из бэкапа ./import_db.sh backups/export_lichess_bot_YYYYMMDD_HHMMSS.db ``` ## Структура проекта ``` LichessStatTgWeb/ ├── LichessWebServices/ # API сервис ├── LichessClientTG_bot/ # Telegram бот │ └── data/ │ └── lichess_bot.db # База данных (НЕ в git!) ├── LichessWebView/ # Веб-интерфейс ├── backups/ # Бэкапы БД (НЕ в git!) ├── docs/ # Документация ├── docker-compose.yml # Конфигурация Docker ├── start.sh # Скрипт запуска ├── export_db.sh # Экспорт БД └── import_db.sh # Импорт БД ```