version: "3.9" services: postgres: image: postgres:16-alpine environment: POSTGRES_USER: insurance POSTGRES_PASSWORD: insurance_dev POSTGRES_DB: insurance ports: - "5432:5432" volumes: - postgres_data:/var/lib/postgresql/data healthcheck: test: ["CMD-SHELL", "pg_isready -U insurance"] interval: 5s timeout: 3s retries: 10 api: build: context: ./server dockerfile: Dockerfile depends_on: postgres: condition: service_healthy environment: DATABASE_URL: postgresql://insurance:insurance_dev@postgres:5432/insurance?schema=public JWT_SECRET: dev-change-me PORT: "4000" HOST: "0.0.0.0" NODE_ENV: development UPLOAD_DIR: /data/uploads ports: - "4000:4000" volumes: - uploads:/data/uploads volumes: postgres_data: uploads: