# Baron SSO용 Docker Compose 헬퍼 # 환경 변수 로드 ifneq (,$(wildcard ./.env)) include .env export endif # Compose 파일 경로 COMPOSE_INFRA := compose.infra.yaml COMPOSE_ORY := compose.ory.yaml COMPOSE_APP := docker-compose.yaml # --- 기본 실행 --- # 주의: --remove-orphan 사용 금지 (다른 스택이 orphan으로 판단되어 종료될 수 있음) up-all: @echo "Starting ALL stacks (infra + ory + app)..." docker compose -f $(COMPOSE_INFRA) -f $(COMPOSE_ORY) -f $(COMPOSE_APP) up -d # --- 개별 스택 실행 --- up-infra: @echo "Starting Infra stack (postgres/clickhouse/redis)..." docker compose -f $(COMPOSE_INFRA) up -d up-ory: @echo "Starting Ory stack (kratos/hydra/keto/oathkeeper)..." docker compose -f $(COMPOSE_ORY) up -d up-app: @echo "Starting App stack (backend/userfront/adminfront/devfront)..." docker compose -f $(COMPOSE_APP) up -d up-backend: @echo "Starting Backend only..." docker compose -f $(COMPOSE_APP) up -d backend up-dev: up-infra up-ory @echo "Dev stack is up (infra + ory)." up-front-dev: up-infra up-ory up-backend @echo "Dev stack is up (infra + ory + backend)." # --- 종료 (Down) --- down-all: @echo "Stopping ALL stacks (infra + ory + app)..." docker compose -f $(COMPOSE_INFRA) -f $(COMPOSE_ORY) -f $(COMPOSE_APP) down down-app: @echo "Stopping App stack..." docker compose -f $(COMPOSE_APP) down down-backend: @echo "Stopping Backend only..." docker compose -f $(COMPOSE_APP) stop backend down-infra: @echo "Stopping Infra stack..." docker compose -f $(COMPOSE_INFRA) down down-ory: @echo "Stopping Ory stack..." docker compose -f $(COMPOSE_ORY) down # --- 유틸리티 --- # 인프라 상태 확인 check-infra: @echo "Checking infra status..." @if [ "$$(docker inspect -f '{{.State.Health.Status}}' baron_postgres 2>/dev/null)" != "healthy" ]; then \ echo "Error: PostgreSQL is not running or not healthy."; \ echo "Please run 'make up-infra' first."; \ exit 1; \ else \ echo "PostgreSQL is healthy."; \ fi ps: docker compose -f $(COMPOSE_INFRA) -f $(COMPOSE_ORY) -f $(COMPOSE_APP) ps logs-infra: docker compose -f $(COMPOSE_INFRA) logs -f logs-ory: docker compose -f $(COMPOSE_ORY) logs -f logs-app: docker compose -f $(COMPOSE_APP) logs -f