services: # Payment service with idempotency key support payment-service: build: context: ./mock-lab dockerfile: Dockerfile.payment ports: - "3001:3001" environment: - NODE_ENV=development - PORT=3001 volumes: - ./mock-lab/payments-data:/app/data healthcheck: test: ["CMD", "wget", "--no-verbose", "--tries=1", "--spider", "http://localhost:3001/health"] interval: 30s timeout: 10s retries: 3 # Webhook service with HMAC signature verification webhook-service: build: context: ./mock-lab dockerfile: Dockerfile.webhook ports: - "3004:3004" environment: - NODE_ENV=development - PORT=3004 - WEBHOOK_SECRET=your-webhook-secret-key-here healthcheck: test: ["CMD", "wget", "--no-verbose", "--tries=1", "--spider", "http://localhost:3004/health"] interval: 30s timeout: 10s retries: 3 # OAuth2 PKCE server oauth2-server: build: context: ./mock-lab dockerfile: Dockerfile.oauth2 ports: - "3003:3003" environment: - NODE_ENV=development - PORT=3003 - ISSUER_URL=http://localhost:3003 healthcheck: test: ["CMD", "wget", "--no-verbose", "--tries=1", "--spider", "http://localhost:3003/.well-known/openid_configuration"] interval: 30s timeout: 10s retries: 3 networks: default: name: docless-api-demo volumes: payments-data: driver: local