version: '3.8' services: postgres: image: postgres:15 environment: POSTGRES_DB: integral POSTGRES_USER: integral POSTGRES_PASSWORD: integral volumes: - pgdata:/var/lib/postgresql/data ports: - "5432:5432" redis: image: redis:7 command: ["redis-server", "--save", "60", "1", "--appendonly", "yes"] ports: - "6379:6379" apollo: build: ./services/apollo-server depends_on: - postgres - redis environment: - DATABASE_URL=postgresql://integral:integral@postgres:5432/integral - REDIS_URL=redis://redis:6379 - PORT=4000 ports: - "4000:4000" detection: build: ./services/detection-service depends_on: - postgres - redis environment: - DATABASE_URL=postgresql://integral:integral@postgres:5432/integral - REDIS_URL=redis://redis:6379 ports: - "3001:3001" verification: build: ./services/verification-worker depends_on: - redis - postgres environment: - DATABASE_URL=postgresql://integral:integral@postgres:5432/integral - REDIS_URL=redis://redis:6379 billing: build: ./services/billing-worker depends_on: - postgres - redis environment: - DATABASE_URL=postgresql://integral:integral@postgres:5432/integral - REDIS_URL=redis://redis:6379 dashboard: build: ./services/dashboard depends_on: - apollo environment: - REACT_APP_GRAPHQL_HTTP=http://apollo:4000/graphql - REACT_APP_GRAPHQL_WS=ws://apollo:4000/graphql ports: - "3000:3000" volumes: pgdata: