services: pay: container_name: pay-service build: context: . dockerfile: Dockerfile ports: - "8000:8000" environment: PYTHONUNBUFFERED: "1" APP_MODULE: "src.main:app" APP_HOST: "0.0.0.0" APP_PORT: "8000" APP_WORKERS: "2" KEYDB_HOST: "pay_keydb" KEYDB_PORT: "${KEYDB_PORT:-6380}" KEYDB_PASSWORD: "${REDIS_PASSWORD}" KEYDB_DB: "${REDIS_DB:-0}" env_file: - .env depends_on: pay_keydb: condition: service_healthy restart: no pay_keydb: image: eqalpha/keydb container_name: pay_keydb restart: no expose: - "${KEYDB_PORT:-6380}" volumes: - pay_keydb_data:/data command: - keydb-server - --port - "${KEYDB_PORT:-6380}" - --requirepass - ${REDIS_PASSWORD} - --dir - /data - --appendonly - "yes" - --appendfsync - everysec - --save - "900" - "1" - --save - "300" - "10" - --save - "60" - "10000" healthcheck: test: ["CMD", "redis-cli", "-p", "${KEYDB_PORT:-6380}", "-a", "${REDIS_PASSWORD}", "ping"] interval: 5s timeout: 2s retries: 20 volumes: pay_keydb_data: