diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..e44641d --- /dev/null +++ b/Makefile @@ -0,0 +1,75 @@ +.PHONY: build up down restart logs logs-backend logs-frontend logs-db shell-backend shell-db clean pull deploy rebuild + +# Build containers +build: + docker-compose build + +# Start containers +up: + docker-compose up -d + +# Stop containers +down: + docker-compose down + +# Restart all containers +restart: + docker-compose restart + +# Restart specific service +restart-backend: + docker-compose restart backend + +restart-frontend: + docker-compose restart frontend + +# View logs +logs: + docker-compose logs -f + +logs-backend: + docker-compose logs -f backend + +logs-frontend: + docker-compose logs -f frontend + +logs-db: + docker-compose logs -f db + +# Shell access +shell-backend: + docker-compose exec backend bash + +shell-db: + docker-compose exec db psql -U animequiz -d animequiz + +# Clean up +clean: + docker-compose down -v --rmi local + +# Pull latest code and rebuild +pull: + git pull origin main + +# Full deploy: pull, build, restart +deploy: + git pull origin main + docker-compose build + docker-compose up -d + +# Rebuild without cache +rebuild: + docker-compose build --no-cache + docker-compose up -d + +# Show status +status: + docker-compose ps + +# Database backup +backup-db: + docker-compose exec db pg_dump -U animequiz animequiz > backup_$$(date +%Y%m%d_%H%M%S).sql + +# Database restore (usage: make restore-db FILE=backup.sql) +restore-db: + cat $(FILE) | docker-compose exec -T db psql -U animequiz -d animequiz