docker run command, or compose it alongside your application, database, and other services using a standard docker-compose.yml.
Quick start
Pull the latest image and expose both the RESP2 port and the dashboard:http://localhost:8080 for the live dashboard and connect on port 6379 with any Redis client.
With persistence
By default, Cache-Pot persists data tocache-pot.snapshot in the working directory inside the container. Mount a named volume so your data survives container restarts and image updates:
With authentication
Set a password using theCACHEPOT_AUTH environment variable. Any Redis client that connects must then call AUTH <password> before issuing other commands:
Docker Compose
The followingdocker-compose.yml brings up Cache-Pot with persistence, authentication, and semantic caching enabled. Environment variables for secrets are read from your shell or a .env file so credentials never live in the Compose file itself.
docker-compose.yml
Environment variables reference
Every Cache-Pot option is available as aCACHEPOT_* environment variable. Each one mirrors a CLI flag of the same shape.
| Environment variable | Default | Description |
|---|---|---|
CACHEPOT_ADDR | :6379 | TCP address and port for the RESP2 server |
CACHEPOT_AUTH | (empty — no auth) | Require clients to authenticate with this password |
CACHEPOT_SNAPSHOT_PATH | cache-pot.snapshot | Path for the periodic snapshot file; set to empty to disable |
CACHEPOT_SNAPSHOT_INTERVAL | 60s | How often to write a snapshot to disk |
CACHEPOT_AOF_PATH | (empty — disabled) | Path for the append-only file; set to enable crash-safe writes |
CACHEPOT_AOF_FSYNC | everysec | fsync policy for the AOF: always, everysec, or no |
CACHEPOT_SWEEP_INTERVAL | 10s | How often the background expiry sweeper runs |
CACHEPOT_DASHBOARD_ADDR | :8080 | Address for the web dashboard; set to empty to disable |
CACHEPOT_EMBED_URL | (empty — disabled) | Embeddings endpoint URL for the semantic cache (e.g. https://api.openai.com/v1/embeddings) |
CACHEPOT_EMBED_MODEL | text-embedding-3-small | Embedding model name to send in API requests |
CACHEPOT_EMBED_KEY | (empty) | API key for the embeddings endpoint |
CACHEPOT_MCP_ADDR | localhost:6379 | Target address used by cache-pot mcp to reach the running server |
CACHEPOT_EMBED_URL and CACHEPOT_EMBED_KEY are only needed if you plan to use SCACHE.GET / SCACHE.SET or the MCP search tool. All other features work without an embeddings provider.