networks: app-network: name: app-network shared-network: name: shared-network volumes: supabase-config: clamav-data: x-agpt-services: &agpt-services networks: - app-network - shared-network x-supabase-services: &supabase-services networks: - app-network - shared-network services: # AGPT services migrate: <<: *agpt-services extends: file: ./docker-compose.platform.yml service: migrate redis: <<: *agpt-services extends: file: ./docker-compose.platform.yml service: redis rabbitmq: <<: *agpt-services extends: file: ./docker-compose.platform.yml service: rabbitmq rest_server: <<: *agpt-services extends: file: ./docker-compose.platform.yml service: rest_server executor: <<: *agpt-services extends: file: ./docker-compose.platform.yml service: executor websocket_server: <<: *agpt-services extends: file: ./docker-compose.platform.yml service: websocket_server database_manager: <<: *agpt-services extends: file: ./docker-compose.platform.yml service: database_manager scheduler_server: <<: *agpt-services extends: file: ./docker-compose.platform.yml service: scheduler_server notification_server: <<: *agpt-services extends: file: ./docker-compose.platform.yml service: notification_server clamav: <<: *agpt-services image: clamav/clamav-debian:latest ports: - "3310:3310" volumes: - clamav-data:/var/lib/clamav environment: - CLAMAV_NO_FRESHCLAMD=false - CLAMD_CONF_StreamMaxLength=50M - CLAMD_CONF_MaxFileSize=100M - CLAMD_CONF_MaxScanSize=100M - CLAMD_CONF_MaxThreads=12 - CLAMD_CONF_ReadTimeout=300 healthcheck: test: ["CMD-SHELL", "clamdscan --version || exit 1"] interval: 30s timeout: 10s retries: 3 frontend: <<: *agpt-services extends: file: ./docker-compose.platform.yml service: frontend # Supabase services (minimal: auth + db + kong) kong: <<: *supabase-services extends: file: ./db/docker/docker-compose.yml service: kong auth: <<: *supabase-services extends: file: ./db/docker/docker-compose.yml service: auth environment: GOTRUE_MAILER_AUTOCONFIRM: true db: <<: *supabase-services extends: file: ./db/docker/docker-compose.yml service: db ports: - 5432:5432 # We don't use Supavisor locally, so we expose the db directly. # Studio and its dependencies for local development only meta: <<: *supabase-services profiles: - local extends: file: ./db/docker/docker-compose.yml service: meta studio: <<: *supabase-services profiles: - local extends: file: ./db/docker/docker-compose.yml service: studio depends_on: meta: condition: service_healthy # environment: # NEXT_PUBLIC_ENABLE_LOGS: false # Disable analytics/logging features deps: <<: *supabase-services profiles: - local image: busybox command: /bin/true depends_on: - kong - auth - db - studio - redis - rabbitmq - clamav - migrate deps_backend: <<: *agpt-services profiles: - local image: busybox command: /bin/true depends_on: - deps - rest_server - executor - websocket_server - database_manager