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)
3.2 KiB
3.2 KiB
🐳 Docker Guide
Предварительные требования
- ✅ Docker установлен
- ✅ Ollama запущена отдельно (на хосте)
- ✅ Есть токен бота от @BotFather
1. Настройка
cd batch-bot
# Скопируйте конфиг
cp .env.example .env
# Отредактируйте
nano .env
Обязательные параметры:
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):
pip install -r requirements.txt
python auth.py
Введите:
- Номер телефона
- Код из Telegram
Для нескольких аккаунтов:
python auth.py # первый
python auth.py # второй
Проверьте:
ls sessions/
# user_123456789.session user_987654321.session
3. Запуск
# Сборка
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. Проверка
- Откройте бота в Telegram
- Отправьте
/start - Проверьте
/stats
🔧 Управление
# Перезапуск
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 не задан":
docker-compose config
docker-compose restart controller
"Нет сессий":
ls sessions/
docker-compose restart worker
"Ollama не отвечает":
# Проверка с хоста
curl http://172.17.0.1:11434/api/tags
# Проверка из контейнера
docker run --rm alpine wget -qO- http://172.17.0.1:11434/api/tags
"Сессия не авторизована":
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 bridgehost.docker.internal— альтернативное имя (добавлено черезextra_hosts)
Если Ollama на другом сервере:
OLLAMA_URL=http://192.168.1.100:11434
📝 Обновление
# Обновление кода
git pull
# Пересборка и перезапуск
docker-compose build
docker-compose up -d