services: postgres: image: postgres:16-alpine container_name: report-db restart: always environment: POSTGRES_DB: ${DB_NAME:-report_db} POSTGRES_USER: ${DB_USER:-postgres} POSTGRES_PASSWORD: ${DB_PASSWORD:-daoblock12!!} ports: - "5442:5432" volumes: - postgres-data:/var/lib/postgresql/data networks: - report-network healthcheck: test: ["CMD-SHELL", "pg_isready -U ${DB_USER:-postgres} -d ${DB_NAME:-report_db}"] interval: 5s timeout: 5s retries: 20 start_period: 30s backend: build: ./backend container_name: report-backend restart: always ports: - "${BACKEND_PORT:-54530}:3000" environment: - DB_HOST=${DB_HOST:-postgres} - DB_PORT=${DB_PORT:-5432} - DB_USER=${DB_USER:-postgres} - DB_PASSWORD=${DB_PASSWORD:-daoblock12!!} - DB_NAME=${DB_NAME:-report_db} - ACCESS_SECRET=${ACCESS_SECRET:-your_jwt_access_secret_123} - REFRESH_SECRET=${REFRESH_SECRET:-your_jwt_refresh_secret_123} - ADMIN_USER=${ADMIN_USER:-kyeongmi} - ADMIN_PASS=${ADMIN_PASS:-kyeongmi} - JEMINI_KEY=${JEMINI_KEY} depends_on: postgres: condition: service_healthy volumes: - ./backend/img:/app/img networks: - report-network frontend: build: ./frontend container_name: report-frontend restart: always ports: - "${FRONTEND_PORT:-55110}:80" depends_on: - backend networks: - report-network networks: report-network: driver: bridge volumes: postgres-data: