services: db: image: postgres:17-alpine shm_size: 1g user: postgres restart: always healthcheck: test: "pg_isready -U user --dbname=postgres" interval: 10s timeout: 5s retries: 5 ports: - 5430:5432 environment: POSTGRES_USER: user POSTGRES_DB: orbit_dev POSTGRES_PASSWORD: password volumes: - db_data:/var/lib/postgresql/data valkey: image: valkey/valkey:9.0-alpine ports: - '6379:6379' volumes: - valkey_data:/data - ./etc/valkey.conf:/etc/valkey/valkey.conf command: valkey-server /etc/valkey/valkey.conf environment: - ALLOW_EMPTY_PASSWORD=yes healthcheck: test: ["CMD", "valkey-cli", "ping"] interval: 10s timeout: 5s retries: 5 start_period: 5s api: build: ./api volumes: - ./api:/app - /app/node_modules ports: - 3000:3000 env_file: - api/.env.development depends_on: valkey: condition: service_healthy db: condition: service_healthy restart: always volumes: db_data: valkey_data: