services: db: image: postgres:16 environment: POSTGRES_DB: app POSTGRES_USER: app POSTGRES_PASSWORD: ${DB_PASS} ports: - "5432:5432" volumes: - pgdata:/var/lib/postgresql/data - ./config/schema.sql:/docker-entrypoint-initdb.d/schema.sql healthcheck: test: ["CMD-SHELL", "pg_isready -U app"] interval: 5s timeout: 5s retries: 5 app: build: . ports: - "8080:5000" env_file: config/.env depends_on: db: condition: service_healthy scheduler: build: . command: ["python", "-m", "scheduler.daemon"] env_file: config/.env depends_on: db: condition: service_healthy bot: build: . command: ["python", "-m", "bot.bot"] env_file: config/.env depends_on: app: condition: service_started client: build: context: ./synculous-client dockerfile: Dockerfile ports: - "3000:3000" environment: - NEXT_PUBLIC_API_URL=http://app:5000 depends_on: - app volumes: pgdata: