Skip to content

Redis/Valkey

A Redis-protocol server is needed for session storage, the background task queue (RQ), metadata/heartbeat caching, and socket.io pubsub when running multiple replicas. Both Redis and Valkey (the open-source fork) are supported.

Embedded

The default full-image container runs an embedded Valkey instance, no REDIS_* env vars needed. Data is persisted to /redis-data inside the container. The reference compose mounts this to a Docker volume (romm_redis_data). Don't skip the volume, or you'll lose in-flight tasks on every docker compose up -d.

External container

services:
    romm:
        environment:
            - REDIS_HOST=romm-redis
            - REDIS_PORT=6379
            - REDIS_PASSWD=<strong-password>
        depends_on:
            romm-redis:
                condition: service_healthy

    romm-redis:
        image: valkey/valkey:7-alpine # or redis:7-alpine, identical command/volume
        command:
            [
                "valkey-server",
                "--requirepass",
                "<strong-password>",
                "--appendonly",
                "yes",
            ]
        volumes:
            - redis_data:/data
        healthcheck:
            test: ["CMD", "valkey-cli", "-a", "<strong-password>", "ping"]
            interval: 10s

volumes:
    redis_data: