services: postgres: image: postgres:16-alpine environment: POSTGRES_USER: postgres POSTGRES_PASSWORD: postgres POSTGRES_DB: invoice ports: - "5432:5432" healthcheck: test: ["CMD-SHELL", "pg_isready -U postgres -d invoice"] interval: 2s timeout: 3s retries: 20 mock-psp: build: . command: ["mock-psp"] environment: PORT: "3001" RUST_LOG: info ports: - "3001:3001" invoice-service: build: . command: ["invoice-service"] depends_on: postgres: condition: service_healthy mock-psp: condition: service_started environment: DATABASE_URL: postgres://postgres:postgres@postgres:5432/invoice PSP_URL: http://mock-psp:3001 PORT: "3000" RUST_LOG: invoice_service=info,sqlx=warn ports: - "3000:3000"