Caches & Key-Value 6 services 1.9 GiB RAM 15 GB disk

Redis Sentinel

Highly-available Redis with automatic failover - one master, two replicas, three sentinels.

One-click deploy, from $13/mo on a Miget plan.

Redis Sentinel adds high availability to Redis: if the master goes down, the sentinels detect it, elect a new master from the replicas, and reconfigure the topology automatically. This template runs one master, two replicas, and three sentinels (quorum 2) - the standard HA layout.

One image plays all three roles, selected by an environment variable; the entrypoint builds each node`s command and the sentinel config from env. Sentinels are configured to resolve hostnames (service DNS) rather than raw IPs, which is what makes failover report a usable address on a multi-pod network. Verified locally: the master sees both replicas and all three sentinels agree.

Clients connect through Sentinel, not the master directly - a Sentinel-aware client (ioredis, redis-py, Lettuce, go-redis) asks a sentinel for the current master and is rerouted automatically on failover.

#what you get

  • Automatic failover: replica promoted when the master dies
  • One master, two replicas, three sentinels (quorum 2)
  • Hostname-based discovery - works on a multi-pod network
  • Transparent to Sentinel-aware clients
  • All internal-only, password-protected
  • Redis 8 is AGPL-3.0

#topology

ServiceRolePublic
redis-masterprimary (:6379)no (internal)
redis-replica-1/2replicas (failover targets)no
redis-sentinel-1/2/3monitors + electors (:26379)no

#miget sizing

// this stack needs

1.9 GiB RAM · 15 GB disk · 6 services

Master and replicas hold the full dataset in memory (size accordingly); sentinels are tiny (128 MiB). Six services, all internal.

Hobby - recommended fit

$13/mo

1 vCPU · 2 GiB · 50 GiB disk

Headroom for your own apps: 2 GiB at $19/mo

Professional - production

$43/mo

2 vCPU · 4 GiB · 25 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.

ServicePlanMonthlyWhat you get
Redis Sentinel on Miget 2 GiB plan$13this whole stack, flat - no usage meters, and room left for your own apps
AWS ElastiCacheMulti-AZ (2 nodes)~$24primary + replica on-demand/mo for the smallest size
Redis CloudHA (multi-AZ)~$28highly-available tier, scales with memory

Managed HA caches bill per node per AZ; this runs the whole failover topology on one flat plan.

#vs. other PaaS

Estimated monthly cost of running this exact stack (1.9 GiB RAM, 15 GB disk, 6 containers) elsewhere, from published June 2026 rates.

PlatformEst. monthlyNotes
Miget $13 flat compose stacks first-class: one deploy, dedicated vCPU, managed Postgres/Valkey, volumes and TLS all included in the plan
Heroku ~$94 no volumes; nothing between 1 GB ($50) and 2.5 GB ($250) dynos - 2 GB containers cost far more than shown
Render ~$46 per-service instances (0.5 GB $7, 2 GB $25) - every container is its own paid service
DO App Platform ~$35 no persistent volumes - stateful containers need managed DBs/Spaces (base $5 Spaces included here)
Railway ~$21 usage-based ($10/GB RAM-mo); vCPU billed separately at $20/vCPU-mo on top
Fly.io ~$14 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

  1. Create a Compose Stack in app.miget.com pointing at the templates repository
  2. Set the stack path to redis-sentinel
  3. Set the required variable:
    • REDIS_PASSWORD, shared by master, replicas, and sentinel auth
  4. 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/redis-sentinel
docker compose up -d

Same files, same behavior. The template README covers connection strings and scaling notes.

#faq

When should I use Sentinel vs Cluster?

Sentinel gives you high availability (automatic failover) for a single dataset that fits on one node. Use redis-cluster instead when the data or throughput exceeds one node and you need sharding across multiple masters.

How do clients connect?

Through Sentinel, not the master directly. Point a Sentinel-aware client at redis-sentinel-1:26379, redis-sentinel-2:26379, redis-sentinel-3:26379 with master name "mymaster"; the client discovers the current master and follows failovers.

Does failover actually work on a PaaS?

Yes - the sentinels resolve service hostnames instead of pod IPs, so after a promotion they report a DNS name clients can reach. This template was smoke-tested locally: master with two connected replicas and three mutually-aware sentinels.

Ship Redis Sentinel today

One compose stack, 1.9 GiB of RAM, from $13/month flat, and it runs on your laptop with the same files.