services: poc-db: image: postgres:16-alpine environment: POSTGRES_DB: ${POSTGRES_DB:-pocdb} POSTGRES_USER: ${POSTGRES_USER:-pocuser} POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:-pocpassword} ports: - "5432:5432" volumes: - poc-db-data:/var/lib/postgresql/data networks: - poc-network poc-graph-gen: build: context: ./POCGraphGen dockerfile: Dockerfile environment: NODE_ENV: production PORT: 3000 PIPELINE_RETRY_LIMIT: ${PIPELINE_RETRY_LIMIT:-1} ANTHROPIC_API_KEY: ${ANTHROPIC_API_KEY:-} OPENAI_API_KEY: ${OPENAI_API_KEY:-} AZURE_OPENAI_API_KEY: ${AZURE_OPENAI_API_KEY:-} AZURE_OPENAI_ENDPOINT: ${AZURE_OPENAI_ENDPOINT:-} GOOGLE_API_KEY: ${GOOGLE_API_KEY:-} ports: - "3001:3000" networks: - poc-network poc-site: build: context: ./POCSite dockerfile: Dockerfile depends_on: - poc-db - poc-graph-gen environment: PIPELINE_SERVICE_URL: http://poc-graph-gen:3000 DATABASE_URL: postgresql://${POSTGRES_USER:-pocuser}:${POSTGRES_PASSWORD:-pocpassword}@poc-db:5432/${POSTGRES_DB:-pocdb}?schema=public ENCRYPTION_KEY: ${ENCRYPTION_KEY:?ENCRYPTION_KEY must be set} NEXT_PUBLIC_APP_URL: ${NEXT_PUBLIC_APP_URL:-http://localhost:3000} HOSTNAME: 0.0.0.0 PORT: 3000 RUN_MIGRATIONS: ${RUN_MIGRATIONS:-true} ports: - "3000:3000" networks: - poc-network volumes: poc-db-data: networks: poc-network: driver: bridge