include .env export COMPOSE_BASE := docker compose -f docker-compose.yml -f docker-compose.$(MODE).yml .PHONY: dev prod build logs stop clean restart status help ## dev: start in dev mode with HMR and follow logs dev: @echo "Starting dev on $(SITE_DOMAIN) ..." MODE=dev docker compose -f docker-compose.yml -f docker-compose.dev.yml up --build -d MODE=dev docker compose -f docker-compose.yml -f docker-compose.dev.yml logs -f ## prod: build and start in production mode prod: @echo "Deploying prod on $(SITE_DOMAIN) ..." MODE=prod docker compose -f docker-compose.yml -f docker-compose.prod.yml up --build -d MODE=prod docker compose -f docker-compose.yml -f docker-compose.prod.yml logs --tail=40 ## build: build containers using current MODE from .env build: $(COMPOSE_BASE) build ## logs: follow container logs logs: $(COMPOSE_BASE) logs -f ## stop: stop containers stop: $(COMPOSE_BASE) down ## restart: rebuild and restart restart: stop $(COMPOSE_BASE) up --build -d $(COMPOSE_BASE) logs --tail=20 ## clean: stop, remove volumes and local images clean: $(COMPOSE_BASE) down -v --rmi local ## status: show running container status status: $(COMPOSE_BASE) ps ## help: show available targets help: @grep '^## ' Makefile | sed 's/^## //' | column -t -s ':'