2025-10-28 21:38:10 +03:00
|
|
|
|
# Инструкция для пользователя
|
|
|
|
|
|
|
|
|
|
|
|
## Первая установка на новом сервере
|
|
|
|
|
|
|
|
|
|
|
|
### Требования
|
|
|
|
|
|
|
|
|
|
|
|
- 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 образы
|
2026-07-02 18:32:06 +00:00
|
|
|
|
- Запустит оба сервиса
|
2025-10-28 21:38:10 +03:00
|
|
|
|
|
|
|
|
|
|
### Шаг 4: Проверка
|
|
|
|
|
|
|
|
|
|
|
|
Откройте в браузере:
|
|
|
|
|
|
- **API документация**: http://localhost:8001/docs
|
|
|
|
|
|
|
|
|
|
|
|
Проверьте логи:
|
|
|
|
|
|
|
|
|
|
|
|
```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-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
|
|
|
|
|
|
|
|
|
|
|
|
# Перезапустите
|
|
|
|
|
|
./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!)
|
|
|
|
|
|
├── backups/ # Бэкапы БД (НЕ в git!)
|
|
|
|
|
|
├── docs/ # Документация
|
|
|
|
|
|
├── docker-compose.yml # Конфигурация Docker
|
|
|
|
|
|
├── start.sh # Скрипт запуска
|
|
|
|
|
|
├── export_db.sh # Экспорт БД
|
|
|
|
|
|
└── import_db.sh # Импорт БД
|
|
|
|
|
|
```
|
|
|
|
|
|
|