From 64c12d657f9a097be6e93643e326cda7abef11be Mon Sep 17 00:00:00 2001 From: oh-innovapost Date: Mon, 10 Nov 2025 16:17:06 -0500 Subject: [PATCH 1/3] init commits for valkey proposal --- scripts/docker-compose.yml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/scripts/docker-compose.yml b/scripts/docker-compose.yml index 3347d21318..ac3ac909f4 100644 --- a/scripts/docker-compose.yml +++ b/scripts/docker-compose.yml @@ -1,18 +1,18 @@ version: '3.7' services: redis: - image: redis:alpine - container_name: redis + image: valkey/valkey:alpine + container_name: valkey healthcheck: - test: ['CMD-SHELL', 'redis-cli ping | grep PONG'] + test: ['CMD-SHELL', 'valkey-cli ping | grep PONG'] interval: 1s timeout: 3s retries: 5 ports: - '6379:6379' volumes: - - ./data/redis:/data - command: redis-server --appendonly yes + - ./data/valkey:/data + command: valkey-server --appendonly yes postgres: image: ankane/pgvector container_name: postgres From 93cb790b6536c8169367baa22b317fa11e2ed5fb Mon Sep 17 00:00:00 2001 From: oh-innovapost Date: Wed, 12 Nov 2025 11:42:04 -0500 Subject: [PATCH 2/3] enable switching b/w redis & valkey, default is redis --- scripts/docker-compose.yml | 12 +++++++----- scripts/run-with-redis.sh | 11 +++++++++++ scripts/run-with-valkey.sh | 11 +++++++++++ 3 files changed, 29 insertions(+), 5 deletions(-) create mode 100755 scripts/run-with-redis.sh create mode 100755 scripts/run-with-valkey.sh diff --git a/scripts/docker-compose.yml b/scripts/docker-compose.yml index ac3ac909f4..9cf82276de 100644 --- a/scripts/docker-compose.yml +++ b/scripts/docker-compose.yml @@ -1,18 +1,20 @@ version: '3.7' services: redis: - image: valkey/valkey:alpine - container_name: valkey + # Use environment variables to choose between redis (default) or valkey + # Usage: CACHE_IMAGE=valkey/valkey:alpine docker compose up + image: ${CACHE_IMAGE:-redis:alpine} + container_name: ${CACHE_CONTAINER_NAME:-redis} healthcheck: - test: ['CMD-SHELL', 'valkey-cli ping | grep PONG'] + test: ${CACHE_HEALTHCHECK:-['CMD-SHELL', 'redis-cli ping | grep PONG']} interval: 1s timeout: 3s retries: 5 ports: - '6379:6379' volumes: - - ./data/valkey:/data - command: valkey-server --appendonly yes + - ./data/${CACHE_DATA_DIR:-redis}:/data + command: ${CACHE_COMMAND:-redis-server --appendonly yes} postgres: image: ankane/pgvector container_name: postgres diff --git a/scripts/run-with-redis.sh b/scripts/run-with-redis.sh new file mode 100755 index 0000000000..904ad89146 --- /dev/null +++ b/scripts/run-with-redis.sh @@ -0,0 +1,11 @@ +#!/bin/bash +# Run docker-compose with Redis + +export CACHE_IMAGE="redis:alpine" +export CACHE_CONTAINER_NAME="redis" +export CACHE_HEALTHCHECK="['CMD-SHELL', 'redis-cli ping | grep PONG']" +export CACHE_COMMAND="redis-server --appendonly yes" +export CACHE_DATA_DIR="redis" + +echo "Starting services with Redis..." +docker compose -f scripts/docker-compose.yml "$@" diff --git a/scripts/run-with-valkey.sh b/scripts/run-with-valkey.sh new file mode 100755 index 0000000000..06aa4c5b2c --- /dev/null +++ b/scripts/run-with-valkey.sh @@ -0,0 +1,11 @@ +#!/bin/bash +# Run docker-compose with Valkey (default) + +export CACHE_IMAGE="valkey/valkey:alpine" +export CACHE_CONTAINER_NAME="valkey" +export CACHE_HEALTHCHECK="['CMD-SHELL', 'valkey-cli ping | grep PONG']" +export CACHE_COMMAND="valkey-server --appendonly yes" +export CACHE_DATA_DIR="valkey" + +echo "Starting services with Valkey..." +docker compose -f scripts/docker-compose.yml "$@" From 9760a631b3b908b74b593bb8df72eacc254ef248 Mon Sep 17 00:00:00 2001 From: oh-innovapost Date: Thu, 13 Nov 2025 10:45:58 -0500 Subject: [PATCH 3/3] removed test-with-xxx.sh scripts and updated doc --- scripts/docker-compose.yml | 21 +++++++++++++++++++-- scripts/run-with-redis.sh | 11 ----------- scripts/run-with-valkey.sh | 11 ----------- 3 files changed, 19 insertions(+), 24 deletions(-) delete mode 100755 scripts/run-with-redis.sh delete mode 100755 scripts/run-with-valkey.sh diff --git a/scripts/docker-compose.yml b/scripts/docker-compose.yml index 9cf82276de..ca25ea58c7 100644 --- a/scripts/docker-compose.yml +++ b/scripts/docker-compose.yml @@ -1,8 +1,25 @@ +# Letta Infrastructure Services +# Provides Redis/Valkey (cache) + PostgreSQL (database) for local development +# +# USAGE: +# +# Option 1: Redis (Default) +# docker compose -f scripts/docker-compose.yml up -d +# +# Option 2: Valkey (Alternative) +# CACHE_IMAGE=valkey/valkey:alpine \ +# CACHE_CONTAINER_NAME=valkey \ +# CACHE_HEALTHCHECK="['CMD-SHELL', 'valkey-cli ping | grep PONG']" \ +# CACHE_COMMAND="valkey-server --appendonly yes" \ +# CACHE_DATA_DIR=valkey \ +# docker compose -f scripts/docker-compose.yml up -d +# +# Both Redis and Valkey are 100% protocol-compatible. +# See scripts/README.md for more details. + version: '3.7' services: redis: - # Use environment variables to choose between redis (default) or valkey - # Usage: CACHE_IMAGE=valkey/valkey:alpine docker compose up image: ${CACHE_IMAGE:-redis:alpine} container_name: ${CACHE_CONTAINER_NAME:-redis} healthcheck: diff --git a/scripts/run-with-redis.sh b/scripts/run-with-redis.sh deleted file mode 100755 index 904ad89146..0000000000 --- a/scripts/run-with-redis.sh +++ /dev/null @@ -1,11 +0,0 @@ -#!/bin/bash -# Run docker-compose with Redis - -export CACHE_IMAGE="redis:alpine" -export CACHE_CONTAINER_NAME="redis" -export CACHE_HEALTHCHECK="['CMD-SHELL', 'redis-cli ping | grep PONG']" -export CACHE_COMMAND="redis-server --appendonly yes" -export CACHE_DATA_DIR="redis" - -echo "Starting services with Redis..." -docker compose -f scripts/docker-compose.yml "$@" diff --git a/scripts/run-with-valkey.sh b/scripts/run-with-valkey.sh deleted file mode 100755 index 06aa4c5b2c..0000000000 --- a/scripts/run-with-valkey.sh +++ /dev/null @@ -1,11 +0,0 @@ -#!/bin/bash -# Run docker-compose with Valkey (default) - -export CACHE_IMAGE="valkey/valkey:alpine" -export CACHE_CONTAINER_NAME="valkey" -export CACHE_HEALTHCHECK="['CMD-SHELL', 'valkey-cli ping | grep PONG']" -export CACHE_COMMAND="valkey-server --appendonly yes" -export CACHE_DATA_DIR="valkey" - -echo "Starting services with Valkey..." -docker compose -f scripts/docker-compose.yml "$@"