version: "3.8" services: nginx: container_name: nginx build: context: ./nginx dockerfile: Dockerfile ports: - 80:80 depends_on: - plane-web - plane-api db: image: postgres:15.2-alpine container_name: db restart: always volumes: - pgdata:/var/lib/postgresql/data environment: POSTGRES_USER: plane POSTGRES_DB: plane POSTGRES_PASSWORD: xyzzyspoon PGDATA : /var/lib/postgresql/data command: postgres -c 'max_connections=1000' ports: - 5432:5432 redis: image: redis:6.2.7-alpine container_name: redis restart: always ports: - 6379:6379 volumes: - redisdata:/data plane-web: container_name: planefrontend build: context: . dockerfile: ./apps/app/Dockerfile.web restart: always command: node apps/app/server.js env_file: - ./apps/app/.env ports: - 3000:3000 plane-api: container_name: planebackend build: context: ./apiserver dockerfile: Dockerfile.api restart: always ports: - 8000:8000 env_file: - ./apiserver/.env depends_on: - db - redis command: ./bin/takeoff links: - db:db - redis:redis plane-worker: container_name: planerqworker build: context: ./apiserver dockerfile: Dockerfile.api depends_on: - redis - db - plane-api command: ./bin/worker links: - redis:redis - db:db env_file: - ./apiserver/.env volumes: pgdata: redisdata: