name: baron-sso services: backend: image: ${BACKEND_IMAGE_NAME}:${IMAGE_TAG} container_name: baron_backend restart: unless-stopped env_file: - .env environment: - APP_ENV=${APP_ENV:-production} - APP_ENV=production - COOKIE_SECRET=${COOKIE_SECRET} - DB_HOST=postgres - CLICKHOUSE_HOST=clickhouse - CLICKHOUSE_PORT=${CLICKHOUSE_PORT_NATIVE:-9000} - CLICKHOUSE_USER=${CLICKHOUSE_USER:-baron} - CLICKHOUSE_PASSWORD=${CLICKHOUSE_PASSWORD:-password} - USERFRONT_URL=${USERFRONT_URL:-https://sso.hmac.kr} - BACKEND_PORT=3000 - SEED_TENANT_CSV_PATH=/app/seed-tenant.csv ports: - "${PROD_BACKEND_PORT:-3010}:3000" volumes: - ./adminfront/seed-tenant.csv:/app/seed-tenant.csv:ro depends_on: - infra_check healthcheck: test: ["CMD", "/app/healthcheck"] interval: 10s timeout: 5s retries: 12 start_period: 60s networks: - baron_net userfront: image: ${USERFRONT_IMAGE_NAME}:${IMAGE_TAG} container_name: baron_userfront restart: unless-stopped env_file: - .env environment: - USERFRONT_URL=${USERFRONT_URL:-https://sso.hmac.kr} - BACKEND_URL=${BACKEND_URL:-https://sso.hmac.kr} ports: - "${USERFRONT_PORT:-80}:5000" depends_on: backend: condition: service_healthy networks: - baron_net healthcheck: test: ["CMD", "wget", "-qO-", "http://127.0.0.1:5000/"] interval: 10s timeout: 5s retries: 5 start_period: 30s adminfront: image: ${ADMINFRONT_IMAGE_NAME}:${IMAGE_TAG} container_name: baron_adminfront restart: unless-stopped env_file: - .env environment: - APP_ENV=production - API_PROXY_TARGET=http://baron_backend:${BACKEND_PORT:-3000} ports: - "${ADMINFRONT_PORT:-5173}:5173" depends_on: backend: condition: service_healthy networks: - baron_net devfront: image: ${DEVFRONT_IMAGE_NAME}:${IMAGE_TAG} container_name: baron_devfront restart: unless-stopped env_file: - .env environment: - APP_ENV=production - API_PROXY_TARGET=http://baron_backend:${BACKEND_PORT:-3000} ports: - "${DEVFRONT_PORT:-5174}:5174" depends_on: backend: condition: service_healthy networks: - baron_net orgfront: image: ${ORGFRONT_IMAGE_NAME}:${IMAGE_TAG} container_name: baron_orgfront restart: unless-stopped env_file: - .env environment: - APP_ENV=production - API_PROXY_TARGET=http://baron_backend:${BACKEND_PORT:-3000} - USERFRONT_URL=${USERFRONT_URL} ports: - "${ORGFRONT_PORT:-5175}:5175" depends_on: backend: condition: service_healthy networks: - baron_net infra_check: image: alpine command: ["echo", "Infrastructure assumed running"] networks: - baron_net networks: baron_net: external: true name: baron_network