services: db: image: postgres:16-alpine container_name: davinci-platform-db ports: - '55434:5432' environment: POSTGRES_USER: davinci POSTGRES_PASSWORD: davinci POSTGRES_DB: davinci_platform_dev volumes: - platform-pgdata:/var/lib/postgresql/data healthcheck: test: ['CMD-SHELL', 'pg_isready -U davinci -d davinci_platform_dev'] interval: 5s timeout: 5s retries: 5 networks: - davinci-platform api: build: context: . dockerfile: Dockerfile target: api-builder container_name: davinci-platform-api command: ['node', 'packages/api/dist/main.js'] ports: - '4300:3001' depends_on: db: condition: service_healthy environment: DATABASE_URL: postgresql://davinci:davinci@db:5432/davinci_platform_dev?schema=public PORT: 3001 NODE_ENV: development DAVINCI_MODE: mothership healthcheck: test: ['CMD-SHELL', 'wget -qO- http://127.0.0.1:3001/health || exit 1'] interval: 10s timeout: 5s retries: 3 volumes: - ./packages/api/src:/app/packages/api/src networks: - davinci-platform web: build: context: . dockerfile: Dockerfile target: web-builder container_name: davinci-platform-web command: ['node', 'packages/web/.next/standalone/packages/web/server.js'] ports: - '4000:3000' depends_on: - api environment: NEXT_PUBLIC_API_URL: http://localhost:4300/api HOSTNAME: '0.0.0.0' PORT: '3000' networks: - davinci-platform volumes: platform-pgdata: networks: davinci-platform: name: davinci-platform