177 lines
3.7 KiB
Markdown
177 lines
3.7 KiB
Markdown
# Docker & Celery Setup - Быстрый Старт
|
||
|
||
## 🚀 Начало Работы
|
||
|
||
### Шаг 1: Подготовка
|
||
|
||
```bash
|
||
# Клонировать репозиторий
|
||
git clone <your-repo-url>
|
||
cd TG_autoposter
|
||
|
||
# Скопировать конфигурацию
|
||
cp .env.example .env
|
||
|
||
# Отредактировать .env с реальными значениями
|
||
nano .env
|
||
```
|
||
|
||
### Шаг 2: Запуск
|
||
|
||
Используйте Makefile:
|
||
```bash
|
||
make up
|
||
```
|
||
|
||
Или Docker Compose напрямую:
|
||
```bash
|
||
docker-compose up -d
|
||
```
|
||
|
||
### Шаг 3: Проверка
|
||
|
||
```bash
|
||
# Статус контейнеров
|
||
make ps
|
||
# или
|
||
docker-compose ps
|
||
|
||
# Показать логи
|
||
make logs
|
||
# или
|
||
docker-compose logs -f
|
||
```
|
||
|
||
## 📊 Мониторинг
|
||
|
||
### Flower (Веб-интерфейс Celery)
|
||
|
||
Откройте в браузере: **http://localhost:5555**
|
||
|
||
Показывает:
|
||
- 🔴 Активные задачи
|
||
- ⏰ Запланированные задачи
|
||
- 🖥️ Статус рабочих
|
||
- 📈 Статистику
|
||
|
||
```bash
|
||
make flower
|
||
```
|
||
|
||
## 🔧 Основные Команды
|
||
|
||
### Docker
|
||
|
||
```bash
|
||
make up # Запустить
|
||
make down # Остановить
|
||
make build # Пересобрать образы
|
||
make restart # Перезагрузить
|
||
make clean # Удалить контейнеры
|
||
make ps # Статус
|
||
make logs # Логи
|
||
make shell # Подключиться к боту
|
||
```
|
||
|
||
### База Данных
|
||
|
||
```bash
|
||
make db-init # Инициализировать БД
|
||
make db-backup # Создать backup
|
||
make db-restore # Восстановить из backup
|
||
```
|
||
|
||
### Celery
|
||
|
||
```bash
|
||
make status # Статус Celery
|
||
docker-compose exec bot celery -A app.celery_config inspect active
|
||
```
|
||
|
||
## 📝 Примеры Использования
|
||
|
||
### Отправить сообщение в несколько групп
|
||
|
||
```bash
|
||
# Через веб-интерфейс бота:
|
||
/send <message_id> <group_id>
|
||
```
|
||
|
||
### Расписать рассылку
|
||
|
||
```bash
|
||
# Через команду /schedule в боте:
|
||
/schedule add 1 10 "0 9 * * *"
|
||
# Отправит сообщение 1 в группу 10 ежедневно в 9:00 UTC
|
||
```
|
||
|
||
### Проверить статус задач
|
||
|
||
Перейти на **http://localhost:5555** и смотреть в реальном времени.
|
||
|
||
## 🗂️ Структура Сервисов
|
||
|
||
```
|
||
┌─ postgres:5432 БД
|
||
├─ redis:6379 Cache & Message Broker
|
||
├─ bot:8000 Telegram Bot
|
||
├─ celery_worker_* Рабочие для задач
|
||
├─ celery_beat Планировщик
|
||
└─ flower:5555 Веб-интерфейс мониторинга
|
||
```
|
||
|
||
## 🐛 Устранение Проблем
|
||
|
||
### Бот не отвечает
|
||
```bash
|
||
make logs-bot
|
||
make restart
|
||
```
|
||
|
||
### Celery не выполняет задачи
|
||
```bash
|
||
make status
|
||
make logs-celery
|
||
```
|
||
|
||
### PostgreSQL проблемы
|
||
```bash
|
||
docker-compose exec postgres psql -U autoposter -d autoposter_db
|
||
```
|
||
|
||
### Redis не отвечает
|
||
```bash
|
||
docker-compose exec redis redis-cli ping
|
||
```
|
||
|
||
## 📚 Полная Документация
|
||
|
||
Смотрите [DOCKER_CELERY.md](docs/DOCKER_CELERY.md) для подробного руководства.
|
||
|
||
## 🔗 Важные Ссылки
|
||
|
||
- Flower: http://localhost:5555
|
||
- PostgreSQL: localhost:5432
|
||
- Redis: localhost:6379
|
||
- Bot API: http://localhost:8000
|
||
|
||
## 💾 Резервные Копии
|
||
|
||
```bash
|
||
# Backup
|
||
make db-backup
|
||
|
||
# Restore
|
||
make db-restore
|
||
```
|
||
|
||
## 🛑 Остановка
|
||
|
||
```bash
|
||
make down
|
||
```
|
||
|
||
---
|
||
|
||
**Нужна помощь?** Смотрите документацию в `/docs/DOCKER_CELERY.md`
|