services: redis: build: context: . image: han-chat-redis:${RELEASE_VERSION:-local} environment: REDIS_API_PASSWORD: ${REDIS_API_PASSWORD} REDIS_SAFETY_PASSWORD: ${REDIS_SAFETY_PASSWORD} REDIS_HEALTH_PASSWORD: ${REDIS_HEALTH_PASSWORD} REDIS_MAXMEMORY: ${REDIS_MAXMEMORY:-384mb} REDIS_EVICTION_POLICY: ${REDIS_EVICTION_POLICY:-volatile-lru} expose: ["6379"] volumes: - redis-data:/data networks: [backend] healthcheck: test: ["CMD-SHELL", "redis-cli --no-auth-warning --user ops_health --pass \"$$REDIS_HEALTH_PASSWORD\" PING | grep -qx PONG"] interval: 10s timeout: 3s retries: 10 start_period: 10s restart: unless-stopped stop_grace_period: 30s read_only: true tmpfs: - /tmp:size=8m,mode=1777 security_opt: ["no-new-privileges:true"] cap_drop: ["ALL"] mem_limit: 512m ulimits: nofile: {soft: 65536, hard: 65536} logging: driver: json-file options: {max-size: "50m", max-file: "5"}