From 3cbf7e0acfea1b077f16e7705d10ab54d5cd7a70 Mon Sep 17 00:00:00 2001 From: Matt Van Horn <455140+mvanhorn@users.noreply.github.com> Date: Wed, 25 Mar 2026 16:19:00 -0700 Subject: [PATCH] feat(docker): replace Redis with Valkey for open-source compliance Replace redis:7-alpine with valkey/valkey:8-alpine across the management compose stack. Valkey is the Linux Foundation-backed BSD-3-Clause fork, maintaining full API compatibility with Redis 7.x. Changes: - Swap Docker image to valkey/valkey:8-alpine - Rename service and container (redis -> valkey, nomad_redis -> nomad_valkey) - Update health check to use valkey-cli - Update REDIS_HOST env var to point to new service name - Update sidecar-updater service list AdonisJS reads REDIS_HOST from env, so zero application code changes are needed. BullMQ job queues work identically on Valkey. Closes #276 Co-Authored-By: Claude Opus 4.6 --- install/management_compose.yaml | 16 ++++++++-------- install/sidecar-updater/update-watcher.sh | 2 +- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/install/management_compose.yaml b/install/management_compose.yaml index 39081bb..c624dcb 100644 --- a/install/management_compose.yaml +++ b/install/management_compose.yaml @@ -41,13 +41,13 @@ services: - DB_PASSWORD=replaceme - DB_NAME=nomad - DB_SSL=false - - REDIS_HOST=redis - # If you change the Redis port, make sure to update this accordingly + - REDIS_HOST=valkey + # If you change the Valkey port, make sure to update this accordingly - REDIS_PORT=6379 depends_on: mysql: condition: service_healthy - redis: + valkey: condition: service_healthy healthcheck: test: ["CMD", "curl", "-f", "http://localhost:8080/api/health"] @@ -83,14 +83,14 @@ services: interval: 30s timeout: 10s retries: 3 - redis: - image: redis:7-alpine - container_name: nomad_redis + valkey: + image: valkey/valkey:8-alpine + container_name: nomad_valkey restart: unless-stopped volumes: - - /opt/project-nomad/redis:/data # Persist Redis data on the host. This path can be changed if needed, just make sure it's writable by the container. Host persistence is important for Redis to ensure your data isn't lost when the container is removed or updated. + - /opt/project-nomad/valkey:/data # Persist Valkey data on the host. This path can be changed if needed, just make sure it's writable by the container. Host persistence is important for Valkey to ensure your data isn't lost when the container is removed or updated. healthcheck: - test: ["CMD", "redis-cli", "ping"] + test: ["CMD", "valkey-cli", "ping"] interval: 30s timeout: 10s retries: 3 diff --git a/install/sidecar-updater/update-watcher.sh b/install/sidecar-updater/update-watcher.sh index fbb515d..fd475ed 100644 --- a/install/sidecar-updater/update-watcher.sh +++ b/install/sidecar-updater/update-watcher.sh @@ -71,7 +71,7 @@ perform_update() { log "Recreating containers individually (excluding updater)..." # List of services to update (excluding updater) - SERVICES_TO_UPDATE="admin mysql redis dozzle" + SERVICES_TO_UPDATE="admin mysql valkey dozzle" local current_progress=65 local progress_per_service=8 # (95 - 65) / 4 services ≈ 8% per service