116 lines
3.3 KiB
Makefile
116 lines
3.3 KiB
Makefile
.PHONY: help up down build logs shell ps restart clean db-init status
|
|
|
|
help:
|
|
@echo "TG Autoposter - Make Commands"
|
|
@echo ""
|
|
@echo "Docker:"
|
|
@echo " make up - Запустить контейнеры"
|
|
@echo " make down - Остановить контейнеры"
|
|
@echo " make build - Пересобрать образы"
|
|
@echo " make logs - Показать логи (все)"
|
|
@echo " make logs-bot - Логи бота"
|
|
@echo " make logs-celery - Логи Celery"
|
|
@echo " make shell - Подключиться к боту"
|
|
@echo " make ps - Статус контейнеров"
|
|
@echo " make restart - Перезагрузить все"
|
|
@echo " make clean - Удалить контейнеры"
|
|
@echo ""
|
|
@echo "Database:"
|
|
@echo " make db-init - Инициализировать БД"
|
|
@echo " make db-backup - Создать backup БД"
|
|
@echo " make db-restore - Восстановить БД"
|
|
@echo ""
|
|
@echo "Development:"
|
|
@echo " make install - Установить зависимости"
|
|
@echo " make test - Запустить тесты"
|
|
@echo " make lint - Lint проверка"
|
|
@echo ""
|
|
@echo "Monitoring:"
|
|
@echo " make flower - Открыть Flower"
|
|
@echo " make status - Статус Celery"
|
|
@echo ""
|
|
|
|
# Docker Commands
|
|
up:
|
|
docker-compose up -d
|
|
@echo "✅ Контейнеры запущены"
|
|
|
|
down:
|
|
docker-compose down
|
|
@echo "✅ Контейнеры остановлены"
|
|
|
|
build:
|
|
docker-compose build --no-cache
|
|
@echo "✅ Образы пересобраны"
|
|
|
|
logs:
|
|
docker-compose logs -f
|
|
|
|
logs-bot:
|
|
docker-compose logs -f bot
|
|
|
|
logs-celery:
|
|
docker-compose logs -f celery_worker_send celery_worker_parse
|
|
|
|
shell:
|
|
docker-compose exec bot /bin/bash
|
|
|
|
ps:
|
|
docker-compose ps
|
|
|
|
restart:
|
|
docker-compose restart
|
|
@echo "✅ Контейнеры перезагружены"
|
|
|
|
clean:
|
|
docker-compose down -v
|
|
@echo "✅ Контейнеры и volumes удалены"
|
|
|
|
# Database Commands
|
|
db-init:
|
|
docker-compose exec bot python -m app migrate
|
|
@echo "✅ БД инициализирована"
|
|
|
|
db-backup:
|
|
docker-compose exec postgres pg_dump -U $${DB_USER:-autoposter} $${DB_NAME:-autoposter_db} > backup_$$(date +%Y%m%d_%H%M%S).sql
|
|
@echo "✅ Backup создан"
|
|
|
|
db-restore:
|
|
@read -p "Введите имя файла backup: " file; \
|
|
docker-compose exec -T postgres psql -U $${DB_USER:-autoposter} $${DB_NAME:-autoposter_db} < $$file
|
|
@echo "✅ БД восстановлена"
|
|
|
|
# Development Commands
|
|
install:
|
|
pip install -r requirements.txt
|
|
@echo "✅ Зависимости установлены"
|
|
|
|
test:
|
|
python -m pytest tests/ -v
|
|
|
|
lint:
|
|
python -m flake8 app/
|
|
python -m black --check app/
|
|
|
|
# Monitoring Commands
|
|
flower:
|
|
@echo "Открыть http://localhost:5555"
|
|
open http://localhost:5555
|
|
|
|
status:
|
|
docker-compose exec bot celery -A app.celery_config inspect active
|
|
@echo ""
|
|
docker-compose exec bot celery -A app.celery_config inspect stats
|
|
|
|
# Utility
|
|
requirements:
|
|
pip freeze > requirements.txt
|
|
@echo "✅ requirements.txt обновлен"
|
|
|
|
fmt:
|
|
python -m black app/
|
|
@echo "✅ Код отформатирован"
|
|
|
|
env-check:
|
|
@grep -q "TELEGRAM_BOT_TOKEN" .env && echo "✅ .env файл найден" || (echo "❌ .env файл не найден"; exit 1)
|