Files
batch-bot/DOCKER.md
bilal a18ad30961 Initial commit: Batch Bot - Telegram Comment Bot
0.0.1
Features:
- Multi-account support via session files
- AI comments generation via Ollama (local LLM)
- Telegram bot for moderation (approve/reject/regenerate)
- Docker support (controller + worker)
- Auto-join public groups
- Comment regeneration on group re-add
- Statistics tracking

Tech stack:
- Python 3.11
- Telethon 1.34 (Telegram user client)
- Aiogram 3.4 (Telegram bot framework)
- SQLite (Database)
- Docker & Docker Compose
- Ollama (Local LLM)
2026-02-24 04:40:07 +03:00

169 lines
3.2 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 Guide
## Предварительные требования
- ✅ Docker установлен
- ✅ Ollama запущена отдельно (на хосте)
- ✅ Есть токен бота от @BotFather
## 1. Настройка
```bash
cd batch-bot
# Скопируйте конфиг
cp .env.example .env
# Отредактируйте
nano .env
```
**Обязательные параметры:**
```bash
BOT_TOKEN=1234567890:AABBccDDeeFFggHHiiJJkkLLmmNNooP
TELEGRAM_API_ID=12345678
TELEGRAM_API_HASH=abc123def456ghi789
TARGET_GROUP_ID=1416283017
LOG_GROUP_ID=-1004804863247
ADMIN_IDS=123456789
# Ollama URL (Linux)
OLLAMA_URL=http://172.17.0.1:11434
```
## 2. Создание сессий
Сессии создаются **на хосте** (вне Docker):
```bash
pip install -r requirements.txt
python auth.py
```
Введите:
1. Номер телефона
2. Код из Telegram
**Для нескольких аккаунтов:**
```bash
python auth.py # первый
python auth.py # второй
```
Проверьте:
```bash
ls sessions/
# user_123456789.session user_987654321.session
```
## 3. Запуск
```bash
# Сборка
docker-compose build
# Запуск
docker-compose up -d
# Проверка
docker-compose ps
# Логи
docker-compose logs -f
```
**Ожидается:**
```
NAME STATUS
batch-bot-controller Up
batch-bot-worker Up
```
## 4. Проверка
1. Откройте бота в Telegram
2. Отправьте `/start`
3. Проверьте `/stats`
## 🔧 Управление
```bash
# Перезапуск
docker-compose restart
# Пересборка
docker-compose build --no-cache
# Остановка
docker-compose down
# Логи controller
docker-compose logs -f controller
# Логи worker
docker-compose logs -f worker
```
## ⚠️ Troubleshooting
**"BOT_TOKEN не задан":**
```bash
docker-compose config
docker-compose restart controller
```
**"Нет сессий":**
```bash
ls sessions/
docker-compose restart worker
```
**"Ollama не отвечает":**
```bash
# Проверка с хоста
curl http://172.17.0.1:11434/api/tags
# Проверка из контейнера
docker run --rm alpine wget -qO- http://172.17.0.1:11434/api/tags
```
**"Сессия не авторизована":**
```bash
rm sessions/user_*.session
python auth.py
docker-compose restart worker
```
## 📁 Тома
| Том | Описание |
|-----|----------|
| `./sessions:/app/sessions` | Файлы сессий |
| `./logs:/app/logs` | Логи |
| `./comments.db:/app/comments.db` | База данных |
## 🌐 Сетевые настройки
Контейнеры используют Docker bridge сеть.
**Доступ к хосту:**
- `172.17.0.1` — IP хоста в Docker bridge
- `host.docker.internal` — альтернативное имя (добавлено через `extra_hosts`)
**Если Ollama на другом сервере:**
```bash
OLLAMA_URL=http://192.168.1.100:11434
```
## 📝 Обновление
```bash
# Обновление кода
git pull
# Пересборка и перезапуск
docker-compose build
docker-compose up -d
```