.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)