# Delivery Tracker - Local Build & Deploy REGISTRY = gitea.chedius.ru/chedius PLATFORM = linux/amd64 # Build and push both services .PHONY: all build push deploy all: build push build: docker build --platform $(PLATFORM) -t $(REGISTRY)/delivery-tracker/backend:latest ./backend docker build --platform $(PLATFORM) -t $(REGISTRY)/delivery-tracker/frontend:latest ./frontend push: docker push $(REGISTRY)/delivery-tracker/backend:latest docker push $(REGISTRY)/delivery-tracker/frontend:latest # Quick deploy - build, push and trigger watchtower check deploy: build push @echo "Build and push complete. Watchtower will auto-update within 60 seconds." @echo "Or run 'make watchtower-now' to force immediate update" # Force watchtower to check now (run from server) watchtower-now: docker exec delivery-tracker-watchtower-1 /watchtower --run-once delivery-tracker-backend-1 delivery-tracker-frontend-1 # Update specific containers on server (if watchtower fails) update-server: docker pull $(REGISTRY)/delivery-tracker/backend:latest docker pull $(REGISTRY)/delivery-tracker/frontend:latest docker-compose up -d --force-recreate backend frontend # Full workflow: commit, build, push release: @if [ -z "$(MSG)" ]; then echo "Usage: make release MSG='commit message'"; exit 1; fi git add -A git commit -m "$(MSG)" || true git push $(MAKE) build push @echo "Released! Watchtower will deploy within 60 seconds."