# ============================================================ # OCDP stack orchestration Makefile # run-2: 构建前端静态资源 + 启动 nginx(统一入口)和 backend 栈 # clean-2: 清理 run-2 产生的容器 / 卷 / 网络 # ============================================================ SHELL := /bin/bash COMPOSE_BIN ?= docker compose ROOT_COMPOSE := docker-compose.yml BACKEND_COMPOSE := backend/docker-compose.yml BACKEND_PROFILE := backend COMPOSE_STACK := $(COMPOSE_BIN) -f $(ROOT_COMPOSE) -f $(BACKEND_COMPOSE) --profile $(BACKEND_PROFILE) COMPOSE_STACK_ALL := $(COMPOSE_BIN) -f $(ROOT_COMPOSE) -f $(BACKEND_COMPOSE) STACK_ENV := ADAPTER_MODE=production BACKEND_BUILD_CONTEXT=$(abspath backend) BACKEND_BUILD_DOCKERFILE=$(abspath backend/Dockerfile) BACKEND_MOCK_BUILD_DOCKERFILE=$(abspath backend/Dockerfile.mock) INIT_DB_SQL_PATH=$(abspath backend/scripts/init-db.sql) STACK_SERVICES := postgres backend nginx .PHONY: run-2 clean-2 build-backend run-2: @echo "═══════════════════════════════════════════════" @echo "🚀 run-2: rebuild static assets + start web gateway stack" @echo "═══════════════════════════════════════════════" @echo "" @export COMPOSE_PROJECT_NAME=ocdp && \ export ADAPTER_MODE=production && \ export BACKEND_BUILD_CONTEXT=$(abspath backend) && \ export BACKEND_BUILD_DOCKERFILE=$(abspath backend/Dockerfile) && \ export BACKEND_MOCK_BUILD_DOCKERFILE=$(abspath backend/Dockerfile.mock) && \ export INIT_DB_SQL_PATH=$(abspath backend/scripts/init-db.sql) && \ echo "→ Rebuilding frontend static assets" && \ $(COMPOSE_STACK) run --rm frontend-build && \ echo "" && \ echo "→ Rebuilding backend image" && \ $(COMPOSE_STACK) build backend && \ echo "" && \ echo "→ Bringing up backend + nginx services" && \ $(COMPOSE_STACK) up -d $(STACK_SERVICES) @echo "" @echo "✅ Services online:" @echo "═══════════════════════════════════════════════" clean-2: @echo "═══════════════════════════════════════════════" @echo "🧹 clean-2: tearing down run-2 stack" @echo "═══════════════════════════════════════════════" @$(COMPOSE_STACK_ALL) down --remove-orphans || true @$(COMPOSE_STACK_ALL) down -v --remove-orphans || true @$(COMPOSE_BIN) -f $(BACKEND_COMPOSE) down -v --remove-orphans || true @echo "✅ Environment cleaned" @echo "═══════════════════════════════════════════════"