56 lines
2.0 KiB
Markdown
56 lines
2.0 KiB
Markdown
# Деплой бота PrimeKraft в Docker на Ubuntu 22
|
||
|
||
## Требования на сервере
|
||
|
||
- Ubuntu 22.04 LTS
|
||
- Docker и Docker Compose:
|
||
`sudo apt update && sudo apt install -y docker.io docker-compose-v2`
|
||
(или [официальная установка Docker](https://docs.docker.com/engine/install/ubuntu/))
|
||
|
||
## Подготовка на сервере
|
||
|
||
1. Склонируйте или скопируйте проект на сервер в каталог, например `/opt/primekraft-bot`.
|
||
|
||
2. Создайте файл **`.env`** в корне проекта (рядом с `docker-compose.yml`) со всеми переменными, как в локальной разработке (см. WINDOWS_SETUP.md). Пример:
|
||
```env
|
||
BOT_TOKEN=...
|
||
TG_CHAT_ID=...
|
||
GOOD_REVIEWS_THREAD_ID=...
|
||
BAD_REVIEWS_THREAD_ID=...
|
||
REVIEWS_SHEET_LINK=...
|
||
OZON_API_KEY=...
|
||
OZON_CLIENT_ID=...
|
||
WB_API_KEY=...
|
||
GPTUNNEL_API_KEY=...
|
||
```
|
||
|
||
3. Положите ключ Google Sheets в каталог **`google-auth/key.json`** (сервисный аккаунт).
|
||
|
||
## Запуск
|
||
|
||
```bash
|
||
cd /opt/primekraft-bot
|
||
docker compose build
|
||
docker compose up -d
|
||
```
|
||
|
||
Проверка логов:
|
||
```bash
|
||
docker compose logs -f bot
|
||
```
|
||
|
||
## Остановка и обновление
|
||
|
||
- Остановка: `docker compose down`
|
||
- Остановка с удалением данных (БД): `docker compose down -v`
|
||
- Пересборка и перезапуск после изменений кода:
|
||
```bash
|
||
docker compose build --no-cache
|
||
docker compose up -d
|
||
```
|
||
|
||
## Данные
|
||
|
||
- База SQLite хранится в Docker-томе **`bot-data`** (путь в контейнере: `/data/db.sqlite3`). При `docker compose down` без `-v` данные сохраняются.
|
||
- Файл **`google-auth/key.json`** монтируется с хоста (read-only), менять ключ можно без пересборки образа.
|