.PHONY: help dev-up dev-down dev-build dev-logs prod-up prod-down prod-build prod-logs shell migrate createsuperuser clean help: @echo "Доступные команды:" @echo "" @echo "Development:" @echo " make dev-up - Запустить development окружение" @echo " make dev-down - Остановить development окружение" @echo " make dev-build - Пересобрать development контейнеры" @echo " make dev-logs - Показать логи development" @echo "" @echo "Production:" @echo " make prod-up - Запустить production окружение" @echo " make prod-down - Остановить production окружение" @echo " make prod-build - Пересобрать production контейнеры" @echo " make prod-logs - Показать логи production" @echo "" @echo "Celery (Production):" @echo " make prod-worker-logs - Логи Celery worker" @echo " make prod-beat-logs - Логи Celery beat" @echo " make prod-celery-status - Статус Celery" @echo " make prod-celery-test - Тест Celery подключения" @echo "" @echo "Django:" @echo " make shell - Открыть Django shell" @echo " make migrate - Выполнить миграции" @echo " make createsuperuser - Создать суперпользователя" @echo " make clean - Удалить все контейнеры и volumes" # Development команды dev-up: docker-compose up -d dev-down: docker-compose down dev-build: docker-compose up -d --build dev-logs: docker-compose logs -f dev-restart: docker-compose restart web # Production команды prod-up: docker-compose -f docker-compose.prod.yaml up -d prod-down: docker-compose -f docker-compose.prod.yaml down prod-build: docker-compose -f docker-compose.prod.yaml up -d --build prod-logs: docker-compose -f docker-compose.prod.yaml logs -f prod-restart: docker-compose -f docker-compose.prod.yaml restart web # Django команды (для development по умолчанию) shell: docker-compose exec web python manage.py shell migrate: docker-compose exec web python manage.py migrate makemigrations: docker-compose exec web python manage.py makemigrations createsuperuser: docker-compose exec web python manage.py createsuperuser collectstatic: docker-compose exec web python manage.py collectstatic --noinput # Для production prod-shell: docker-compose -f docker-compose.prod.yaml exec web python manage.py shell prod-migrate: docker-compose -f docker-compose.prod.yaml exec web python manage.py migrate prod-createsuperuser: docker-compose -f docker-compose.prod.yaml exec web python manage.py createsuperuser # Backup и восстановление backup: docker-compose exec db pg_dump -U geralt geodb > backup_$(shell date +%Y%m%d_%H%M%S).sql restore: @read -p "Введите имя файла backup: " file; \ docker-compose exec -T db psql -U geralt geodb < $$file # Очистка clean: docker-compose down -v docker system prune -f clean-all: docker-compose down -v docker-compose -f docker-compose.prod.yaml down -v docker system prune -af --volumes # Проверка статуса status: docker-compose ps prod-status: docker-compose -f docker-compose.prod.yaml ps # Celery команды для production prod-worker-logs: docker-compose -f docker-compose.prod.yaml logs -f worker prod-beat-logs: docker-compose -f docker-compose.prod.yaml logs -f beat prod-celery-status: docker-compose -f docker-compose.prod.yaml exec web uv run celery -A dbapp inspect active prod-celery-test: docker-compose -f docker-compose.prod.yaml exec web uv run python test_celery.py prod-redis-test: docker-compose -f docker-compose.prod.yaml exec web uv run python check_redis.py # Celery команды для development celery-status: cd dbapp && uv run celery -A dbapp inspect active celery-test: cd dbapp && uv run python test_celery.py redis-test: cd dbapp && uv run python check_redis.py