docs: switch examples from Redis Stack to Redis 8 - #361
Open
ClaireXi99 wants to merge 1 commit into
Open
Conversation
Redis 8 ships the query engine and JSON support that this project needs, so the user-facing examples should no longer point at Redis Stack images. Replace the Redis Stack images in the quick-start guide and both compose files with the official redis image, defaulting to 8. Also move `--appendonly yes` from `REDIS_ARGS` into a `command:` override. `REDIS_ARGS` is honored only by the Redis Stack images; the official redis entrypoint ignores it, so swapping the image alone would have silently dropped AOF persistence. Update two stale "Redis Stack" mentions in V0/AGENTS.md that document the `docker-compose up redis` command changed here.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fixes #287
Redis 8 ships the query engine and JSON support this project needs, so the user-facing examples should no longer steer people toward Redis Stack images. This updates the three places named in the issue, plus two stale wording references that the change would otherwise leave inaccurate.
Changes
V0/docs/quick-start.mddocker runnow usesredis:8(container renamedredis-stack→redis); production compose snippet usesredis:8V0/docker-compose.ymlredis/redis-stack-server→redis, andREDIS_ARGS→command:V0/docker-compose-task-workers.ymlV0/AGENTS.mddocker-compose up redisWhy this is more than an image-tag swap
The two compose files configured persistence like this:
REDIS_ARGSis a Redis Stack image feature. It is documented only under Redis Stack's Docker page ("To pass in arbitrary configuration changes, you can set any of these environment variables:REDIS_ARGS: extra arguments for Redis"), and the officialredisimage's entrypoint never reads it — that entrypoint only reflows leading-dash arguments ontoredis-serverand honorsSKIP_DROP_PRIVS/SKIP_FIX_PERMS.So changing only the image tag would have left
REDIS_ARGSas dead config and silently dropped AOF persistence. I moved the flag to acommand:override instead:Verified against live containers
CONFIG GET appendonlyredis/redis-stack-server:latest+REDIS_ARGS=--appendonly yes(what this repo had)yesredis:8+REDIS_ARGS=--appendonly yes(image-tag swap only)noredis:8+command: redis-server --appendonly yes(this PR)yesThe middle row is the regression this PR avoids.
Notes on two judgment calls
Kept the
REDIS_VERSIONknob rather than hardcodingredis:8, so the default is nowredis:8while existing overrides keep working. Worth flagging that the tag namespace changes meaning (it now names aredistag rather than aredis-stack-serverone). Happy to hardcoderedis:8if you would rather drop the variable.Left
.github/workflows/python-tests.ymlalone. The issue notes the Redis Stack entry in the test matrix may be intentional for compatibility coverage, so I did not touch it — removing it would quietly reduce coverage inside a docs change.The two
V0/AGENTS.mdedits are included because they document the exactdocker-compose up rediscommand changed here, so leaving them would contradict both this change andAGENTS.mdline 5 ("Do not use Redis Stack or other earlier versions of Redis"). Glad to split them out if you prefer.Verification
Static checks:
pre-commit runpasses on all four files (check-yaml,trailing-whitespace,end-of-file-fixer,typos;ruffskipped, no Python touched)docker compose config redisrendersimage: redis:8with thecommand:list and no leftoverenvironment:keyredis-stackcontainer, and that the only remaining "Redis Stack" strings are the CI matrix entry above and the prohibition inAGENTS.mdline 5Runtime checks, via
docker compose up redis -don the modifiedV0/docker-compose.yml(Docker 29.4.3):CONFIG GET appendonly→yes, and/data/appendonlydirreally containsappendonly.aof.manifestplus the base and incr fileshealthyredis-serverrunning as uid999(redis), and/dataplus the AOF files are owned byredis:redis— so the entrypoint'schownand privilege drop still happen with an explicitcommand:MODULE LISTreportssearch(redisearch.so) andReJSON(rejson.so), confirmingredis:8covers what this project needsPossible follow-ups, deliberately not in this PR
Found while checking the above, all pre-existing on
main:V0/tests/docker-compose.yml,V0/tests/docker-compose.amd64.ymland.devcontainer/docker-compose.ymlalready useredis:8/redis:8.6but still setREDIS_ARGS, so those settings are currently ignored — the same dead-config situation measured in the table above. The test ones are entangled with the CI matrix (REDIS_IMAGEis overridden per matrix leg, andREDIS_ARGSis honored on the Redis Stack leg), so that deserves its own change with CI runs behind it.V0/docker/standalone/supervisord.confstill passes--loadmodule .../redisearch.so,rejson.so,redisbloom.so,redistimeseries.so, whileV0/Dockerfile.standaloneisFROM redis:8.6where those capabilities are built in.Happy to open issues or PRs for either if useful.