Files
TG_autoposter/Makefile
2025-12-18 05:55:32 +09:00

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)