services: db: image: postgres:15 restart: unless-stopped environment: POSTGRES_USER: ${POSTGRES_USER} POSTGRES_PASSWORD: ${POSTGRES_PASSWORD} POSTGRES_DB: ${POSTGRES_DB} volumes: - db_data:/var/lib/postgresql/data networks: - acs-net app: build: context: ../backend dockerfile: Dockerfile image: acs-app:local restart: unless-stopped environment: SPRING_PROFILES_ACTIVE: prod POSTGRES_HOST: db POSTGRES_PORT: 5432 POSTGRES_DB: ${POSTGRES_DB} POSTGRES_USER: ${POSTGRES_USER} POSTGRES_PASSWORD: ${POSTGRES_PASSWORD} # Pass delivery (dev = log only; hanbank = real LMS via DMZ API) ACS_SMS_PROVIDER: ${ACS_SMS_PROVIDER:-dev} ACS_SMS_API_URL: ${ACS_SMS_API_URL:-http://210.104.132.59:8000} ACS_PUBLIC_BASE_URL: ${ACS_PUBLIC_BASE_URL:-http://localhost} depends_on: - db networks: - acs-net web: build: context: ../frontend dockerfile: Dockerfile image: acs-web:local restart: unless-stopped ports: - "${WEB_PORT:-80}:80" depends_on: - app networks: - acs-net # One-shot user seeder (run manually): docker compose run --rm seed seed: image: python:3.12-slim profiles: ["tools"] working_dir: /work volumes: - ..:/work:rw environment: PGHOST: db PGPORT: 5432 PGUSER: ${POSTGRES_USER} PGPASSWORD: ${POSTGRES_PASSWORD} PGDATABASE: ${POSTGRES_DB} entrypoint: ["/bin/sh", "-c"] command: ["pip install -q -r scripts/requirements.txt && python scripts/seed-load.py --file scripts/seeds/users.csv"] depends_on: - db networks: - acs-net volumes: db_data: networks: acs-net: