--- services: postgres: image: 'postgres:17.4-bookworm' hostname: ${CMS_POSTGRES_HOST:-postgres} init: true restart: unless-stopped healthcheck: test: - CMD-SHELL - pg_isready - --hostname - localhost - --username - ${CMD_POSTGRES_USER:-postgres} interval: 10s timeout: 5s retries: 5 start_interval: 5s start_period: 30s environment: POSTGRES_USER: ${CMS_POSTGRES_USER:-postgres} POSTGRES_PASSWORD: ${CMS_POSTGRES_PASSWORD:-postgres} volumes: - 'postgres_data:/var/lib/postgresql/data' - './scripts/postgres:/docker-entrypoint-initdb.d' # NOTE: (jpd) this is an open-source alternative to redis valkey: image: 'valkey/valkey:8.0.2-bookworm' hostname: ${CMS_VALKEY_HOST:-valkey} init: true restart: unless-stopped healthcheck: test: - CMD-SHELL - '[ $$(redis-cli ping) = "PONG" ]' interval: 10s timeout: 5s retries: 5 start_interval: 5s start_period: 30s volumes: - 'valkey_data:/data' volumes: postgres_data: {} valkey_data: {}