#!/usr/bin/env sh set -eu # Đọc biến môi trường (có default hợp lý) REDIS_PASSWORD="${REDIS_PASSWORD:?REDIS_PASSWORD is required}" REDIS_MAXMEMORY="${REDIS_MAXMEMORY:-512mb}" REDIS_EVICTION_POLICY="${REDIS_EVICTION_POLICY:-allkeys-lru}" ENABLE_PERSIST="${ENABLE_PERSIST:-NO}" # Thư mục dữ liệu mkdir -p /data CMD="redis-server \ --requirepass '${REDIS_PASSWORD}' \ --maxmemory ${REDIS_MAXMEMORY} \ --maxmemory-policy ${REDIS_EVICTION_POLICY} \ --bind 0.0.0.0 \ --port 6379 \ --loglevel notice \ --dir /data \ --protected-mode yes" if [ "${ENABLE_PERSIST}" = "YES" ]; then # Snapshot nhẹ (RDB): 900s nếu >=1 key đổi; 300s nếu >=10 key CMD="$CMD --save 900 1 --save 300 10 --appendonly no" else # Cache thuần: tắt persist để giảm I/O CMD="$CMD --save '' --appendonly no" fi echo "[entrypoint] Starting: $CMD" exec sh -c "$CMD"