version: "3" services: db: container_name: db image: postgres restart: always expose: - "5432" ports: - "5431:5432" env_file: - ./.env.sample app: container_name: app build: ./ healthcheck: test: ["CMD", "curl", "-f", "http://localhost:3000"] interval: 10s timeout: 10s retries: 10 start_period: 1m30s depends_on: - db env_file: - ./.env.sample ports: - "3000:3000" volumes: - ./:/app links: - db worker: container_name: worker build: ./worker depends_on: db: condition: service_started app: condition: service_healthy env_file: - ./.env.sample ports: - "8080:8080" volumes: - ./:/app links: - db entrypoint: ["/bin/sh", "-c"] command: - node worker/index.js