:6379RESP3
Redis wire protocol, crowkis cli or any Redis client.
A single hardened Docker image with the whole engine compiled in. Pull it, run it, and free Community edition is live at full power, a license file flips it to Enterprise at boot.
$ docker pull crowkis/crowkis:latest
✓ pulled · signed · linux/amd64 · linux/arm64
$ docker run -d -p 6379:6379 -p 6380:6380 \
-v crowkis-data:/data crowkis/crowkis
✓ crowkis up · RESP :6379 · dashboard :6380
$ curl 127.0.0.1:6380/health
{ "status": "ok", "admin_auth": "enabled" }
▮Three ports, three surfaces
:6379RESP3
Redis wire protocol, crowkis cli or any Redis client.
:6380HTTP
Dashboard + management REST API + /health.
:6381gRPC
h2c, Get / Set / GetStream / Stats / Invalidate.
Four ways in
Run the engine with Docker, or reach it from your code with the SDKs and CLI. Pick the one that fits, they all talk to the same cache.
The whole engine in one hardened image, the way to run it in production.
$ docker pull crowkis/crowkisDrop-in SDK: sync + async, get_or_compute, streaming. Cache LLM calls in three lines.
$ pip install crowkisTyped client with retry/backoff and a CachedOpenAI wrapper for TS and JS.
$ npm install crowkisThe command line, talk to any instance, script it, pipe it. Ships in the binary.
$ crowkis cliLet Claude Code and agents use the cache as a tool over MCP, one config block.
$ crowkis mcpOne command per platform
Native installs through the package manager you already use, or the Docker image, which works today with no setup. Same engine either way.
Homebrew
$ brew install crowkis/tap/crowkisEvery build is signed, with checksums published alongside the release. Latest stable · macOS · Linux · Windows · Docker.
Step 1 · run it
One docker run for a quick spin, or the hardened compose file for the real thing. Ports publish to localhost only, going public is an explicit choice, never a default you discover.
$ docker pull crowkis/crowkis:latestdocker run -d --name crowkis \
-p 127.0.0.1:6379:6379 \
-p 127.0.0.1:6380:6380 \
-p 127.0.0.1:6381:6381 \
-v crowkis-data:/data \
crowkis/crowkis:latestAsk the container itself, the health endpoint reports status and whether admin auth is active.
$ curl 127.0.0.1:6380/healthDon't trust it, test it. Unauthenticated management reads must bounce when auth is on.
$ curl -i 127.0.0.1:6380/api/metricsThe binary ships the REPL, or point any Redis client at 6379 and watch the dashboard.
$ docker exec -it crowkis crowkis cliHardened by default
Everything below is the stock deployment shape. You harden it by not editing it.
✓read_only: true
The container filesystem is immutable. Data lives on the mounted volume; /tmp is tmpfs.
✓cap_drop: ALL
Every Linux capability dropped. The process needs none of them.
✓no-new-privileges
Even a compromised process can't gain privileges it didn't start with.
✓Non-root user
Built into the image, not something you have to remember to configure.
✓pids_limit: 512
Fork bombs hit a wall.
✓Localhost-only ports
Published to 127.0.0.1 by default. Going public is an explicit choice.
✓HEALTHCHECK built in
/health endpoint wired into the image, so orchestrators see real readiness.
✓Binary-only image
One stripped Rust binary, a non-root user, /data. No shell tooling, no package manager, no supply chain.
Environment reference
None are required, the image boots with sensible defaults. Full reference in the configuration docs.
| Variable | Default | What it does |
|---|---|---|
| CROWKIS_ADMIN_KEY | change-me-admin-key | Auth key for the management API and dashboard metrics. |
| CROWKIS_AUTH_TOKEN | change-me-resp-grpc-token | Bearer token required for RESP and gRPC traffic. |
| CROWKIS_BIND_ADDR | 127.0.0.1 | Published-port bind address. Keep localhost until you mean it. |
| CROWKIS_MEMORY_LIMIT | 512m | Runtime memory ceiling for the cache process. |
| CROWKIS_BLOCK_CACHE_BYTES | 64m | Block cache capacity for hot SSTable reads. |
| CROWKIS_MAX_CONNECTIONS | 10000 | Concurrent connection ceiling. |
| CROWKIS_LOG_QUERY_PREVIEWS | 0 | Keeps prompt text out of logs. On by default, on purpose. |
| CROWKIS_LICENSE_PATH | /etc/crowkis/license.json | Enterprise license file. Absent = Community edition, free. |
Local experiments only: CROWKIS_ALLOW_UNAUTHENTICATED_ADMIN=1 disables the management auth gate. Never set it on anything with a public interface.
$ docker pull crowkis/crowkis:latest && docker compose up -d$ docker compose down$ docker compose down -v