LichessStatTgWeb/docs/USER_GUIDE.md
vrubelroman e8ced9bca7 Добавлена документация и скрипты для работы с БД
- Удалены лишние .gitignore из подпапок (теперь один общий в корне)
- Добавлен import_db.sh для импорта базы данных
- Создана документация: docs/ARCHITECTURE.md для разработчиков
- Создана документация: docs/USER_GUIDE.md для пользователей
- Обновлен .gitignore для исключения временных файлов
2025-10-28 21:38:10 +03:00

223 lines
5 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Инструкция для пользователя
## Первая установка на новом сервере
### Требования
- 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 # Импорт БД
```