Valkey Cluster
Sharded, horizontally-scaled Valkey - 3 master shards + 3 replicas, keyspace partitioned. BSD.
One-click deploy, from $25/mo on a Miget plan.
Valkey Cluster shards the keyspace across multiple master nodes for horizontal scale - the same design as Redis Cluster, BSD-licensed and Redis-protocol compatible. This template runs six nodes (three masters + three replicas) and a one-shot init that forms the cluster.
Nodes announce their service hostname so clients and redirects use DNS instead of raw pod IPs; the forming init is idempotent. Use it when a single node`s RAM or throughput is not enough.
For failover of a single dataset without sharding, valkey-sentinel is simpler; for one node, use valkey. Existing Redis Cluster client libraries work unchanged.
Upstream project: Valkey
#what you get
- Automatic sharding across 3 master shards
- 6 nodes (3 masters + 3 replicas) + forming init
- Hostname-announced nodes for DNS-based routing
- Redis Cluster clients work unchanged
- All internal-only, password-protected
- BSD-3-Clause licensed
#topology
| Service | Role | Public |
|---|---|---|
| valkey-node-1..6 | 3 masters + 3 replicas (:6379) | no (internal) |
| valkey-init | forms the cluster once, then exits | no |
#miget sizing
// this stack needs
3.1 GiB RAM · 30 GB disk · 7 services
Six in-memory nodes - size RAM to the total dataset across 3 shards plus replicas. Experimental: like all cluster modes it expects stable node identity on a per-pod platform.
Hobby - recommended fit
$25/mo
2 vCPU · 4 GiB · 80 GiB disk
Headroom for your own apps: 8 GiB at $49/mo
Professional - production
$85/mo
4 vCPU · 8 GiB · 50 GiB disk
Dedicated resources, production SLOs - plan details
One Miget plan is a fixed pool of compute - the whole stack (managed databases included) deploys inside it, and anything left over runs your other apps. No per-service or per-seat math.
#vs. the managed service
What the hosted equivalents charge, against the flat Miget plan this stack fits on. Prices as of June 2026, sources linked.
| Service | Plan | Monthly | What you get |
|---|---|---|---|
| Valkey Cluster on Miget ★ | 4 GiB plan | $25 | this whole stack, flat - no usage meters, and room left for your own apps |
| AWS ElastiCache | cluster mode (6 nodes) | ~$72 | 3 shards + 3 replicas on-demand/mo at the smallest size |
Managed sharded caches bill every node; the full 6-node cluster here is one flat plan, BSD-licensed.
#vs. other PaaS
Estimated monthly cost of running this exact stack (3.1 GiB RAM, 30 GB disk, 7 containers) elsewhere, from published June 2026 rates.
| Platform | Est. monthly | Notes |
|---|---|---|
| Miget ★ | $25 flat | compose stacks first-class: one deploy, dedicated vCPU, managed Postgres/Valkey, volumes and TLS all included in the plan |
| Heroku | ~$156 | no volumes; nothing between 1 GB ($50) and 2.5 GB ($250) dynos - 2 GB containers cost far more than shown |
| Render | ~$57 | per-service instances (0.5 GB $7, 2 GB $25) - every container is its own paid service |
| DO App Platform | ~$43 | no persistent volumes - stateful containers need managed DBs/Spaces (base $5 Spaces included here) |
| Railway | ~$36 | usage-based ($10/GB RAM-mo); vCPU billed separately at $20/vCPU-mo on top |
| Fly.io | ~$23 | cheapest sticker price - but burstable shared CPUs (1/16 core; dedicated vCPUs cost ~2-3×), no compose deploys (one app per container, manual wiring), managed DBs billed extra |
Estimates assume RAM fully allocated at published on-demand rates - and sticker price isn't the whole comparison: the cheaper rows buy burstable shared CPUs, per-service wiring instead of a compose deploy, and managed databases billed separately. Heroku and DO App Platform have no persistent volumes at all - stateful stacks like this one need workarounds there.
#deploy it
On Miget
- Create a Compose Stack in app.miget.com pointing at the templates repository
- Set the stack path to
valkey-cluster -
Set the required variable:
VALKEY_PASSWORD, shared by every node and the init
- Deploy. Miget layers
compose.miget.yaml(RAM, privacy, volumes, managed services) automatically
Locally first?
Every template is portable, vanilla Docker Compose - the Miget overrides are ignored locally:
git clone https://github.com/deployable-sh/stacks
cd miget-compose-templates/valkey-cluster
docker compose up -d Same files, same behavior. The template README covers connection strings and scaling notes.
#faq
How does it relate to Redis Cluster?
Valkey Cluster is the same sharding design and wire protocol, under the permissive BSD license. Redis Cluster client libraries connect to the valkey-node-* services unchanged.
Why experimental?
Cluster mode expects stable node identities and is sensitive to address changes on per-pod platforms. Nodes announce service hostnames so routing uses DNS, but a pod IP change can require a re-meet - a power-user topology.
Cluster or Sentinel?
Cluster shards for scale; Sentinel (valkey-sentinel) gives failover HA for a single dataset. Choose Cluster only when one node cannot hold the data or serve the throughput.
Ship Valkey Cluster today
One compose stack, 3.1 GiB of RAM, from $25/month flat, and it runs on your laptop with the same files.