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

5 KiB
Raw Permalink Blame History

Инструкция для пользователя

Первая установка на новом сервере

Требования

  • Docker и Docker Compose установлены
  • Доступ к GitHub репозиторию

Шаг 1: Клонирование репозитория

git clone https://github.com/vrubelroman/LichessStatTgWeb.git
cd LichessStatTgWeb

Шаг 2: Передача базы данных (опционально)

Если у вас есть бэкап базы данных с другого сервера:

# Скопируйте файл базы на сервер
cp /path/to/backup.db LichessClientTG_bot/data/lichess_bot.db

Или импортируйте через скрипт:

chmod +x import_db.sh
./import_db.sh /path/to/backup.db

Шаг 3: Запуск

chmod +x start.sh
./start.sh

Скрипт автоматически:

  • Остановит существующие контейнеры (если есть)
  • Создаст бэкап базы данных
  • Пересоберет Docker образы
  • Запустит все три сервиса

Шаг 4: Проверка

Откройте в браузере:

Проверьте логи:

docker logs lichess-telegram-bot -f

Обновление до новой версии

Шаг 1: Создайте бэкап (рекомендуется)

chmod +x export_db.sh
./export_db.sh

Это создаст копию базы в папке backups/.

Шаг 2: Обновите код

cd /path/to/LichessStatTgWeb
git pull

Шаг 3: Перезапустите сервисы

./start.sh

Важно: start.sh НЕ удалит вашу базу данных. Она останется в LichessClientTG_bot/data/.

Шаг 4: Проверка

Проверьте что все контейнеры запущены:

docker ps | grep lichess

Работа с бэкапами

Экспорт базы данных

./export_db.sh

Создает файл в backups/export_lichess_bot_YYYYMMDD_HHMMSS.db

Импорт базы данных

./import_db.sh backups/export_lichess_bot_20251028_123456.db

Автоматически создаст бэкап текущей базы перед импортом.

Просмотр логов

Все сервисы

docker-compose logs -f

Только бот

docker logs lichess-telegram-bot -f

Только API

docker logs lichess-api -f

Только веб-интерфейс

docker logs lichess-web-view -f

Остановка и удаление

Остановка без удаления данных

docker-compose down

База данных остается.

Полное удаление (с данными!)

docker-compose down -v  # ОПАСНО! Удалит volumes
rm -rf LichessClientTG_bot/data/  # Удалит базу данных

Перенос на другой сервер

На старом сервере:

./export_db.sh
# Скопируйте файл из backups/ на новый сервер

На новом сервере:

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

Решение:

# Найдите процесс на порту
sudo fuser -k 8001/tcp  # Для API
sudo fuser -k 5000/tcp  # Для веб-интерфейса

# Перезапустите
./start.sh

Контейнер не запускается

# Проверьте логи
docker logs lichess-telegram-bot

# Удалите и пересоздайте
docker-compose down
docker-compose build --no-cache
./start.sh

База данных повреждена

# Восстановите из бэкапа
./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             # Импорт БД