.PHONY: dev prod build up down logs clean local static deploy deploy-pull deploy-rebuild # Development mode with hot reload dev: MODE=development DEV_MOUNT=./src docker compose up --build # Production mode (local) prod: MODE=production docker compose up -d --build # Build only build: docker compose build # Start containers up: docker compose up -d # Stop containers down: docker compose down # View logs logs: docker compose logs -f # Clean up clean: docker compose down -v --rmi local # Local development without Docker local: npm run dev # Build static site static: npm run build # --- Production Deployment (forrest.warehack.ing) --- # Remote: warehack.ing (149.28.126.25) # User: warehack-ing (requires SSH agent forwarding for git pull) # Path: /home/warehack-ing/forrest-mims-library/site PROD_HOST = warehack-ing@warehack.ing PROD_PATH = /home/warehack-ing/forrest-mims-library # Full deploy: push, pull remote, rebuild container deploy: deploy-push deploy-pull deploy-rebuild # Push local commits to Gitea deploy-push: git push origin main # Pull latest on production server deploy-pull: ssh -A $(PROD_HOST) "cd $(PROD_PATH) && git pull origin main" # Rebuild and restart production container deploy-rebuild: ssh -A $(PROD_HOST) "cd $(PROD_PATH)/site && MODE=production docker compose up -d --build" # Check production container status deploy-status: ssh $(PROD_HOST) "docker ps --filter name=mims-library --format 'table {{.Names}}\t{{.Status}}\t{{.Image}}'" # View production logs deploy-logs: ssh $(PROD_HOST) "docker logs mims-library --tail 20"