Chatwoot
Open-source customer support - shared inbox, live chat, channels, help center - with no per-agent pricing.
One-click deploy, from $25/mo on a Miget plan.
Support tooling prices per agent, which punishes exactly the team you want answering customers. Chatwoot is the open-source counter: a shared inbox across live chat, email, and social channels, with assignment rules, canned responses, automations, and a help center - and this template ships the pure-MIT community-edition image (v4-ce, no enterprise code).
The topology is the full production shape: Rails web (live chat rides websockets at /cable), a Sidekiq worker, an idempotent migrate sidecar, a noeviction Valkey for the queues - and a pgvector Postgres container, because Chatwoot v4 hard-requires the extension (its AI features embed conversations).
A 5-agent team pays $145-275/month at Intercom or Zendesk before AI add-ons. This stack is $25/month with unlimited agents, and a noisy month costs nothing extra.
Upstream project: Chatwoot (CE)
#what you get
- Shared inbox: live chat widget, email, API, and social channels
- Assignment, teams, labels, canned responses, automations
- Help center / knowledge base included
- Pure MIT community image (v4-ce) - no enterprise code
- Production shape: web + Sidekiq + migrate + noeviction queue
- pgvector Postgres (v4 requirement) handled in-template
#topology
| Service | Role | Public |
|---|---|---|
| web | app + live chat websockets at /cable (:5000) | yes |
| worker / migrate | Sidekiq + idempotent schema prepare | no |
| broker / db | noeviction Valkey / Postgres + pgvector | no |
#miget sizing
// this stack needs
3.8 GiB RAM · 15 GB disk · 5 services
1 GiB each for web and Sidekiq is the realistic floor; the worker is the scaling dial on busy inboxes. S3-compatible storage makes the pair stateless when you outgrow the volume.
Hobby - recommended fit
$25/mo
2 vCPU · 4 GiB · 80 GiB disk
Headroom for your own apps: 8 GiB at $49/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.
| Service | Plan | Monthly | What you get |
|---|---|---|---|
| Chatwoot on Miget ★ | 4 GiB plan | $25 | this whole stack, flat - no usage meters, and room left for your own apps |
| Intercom | Essential | ~$145 | $29/seat/mo at 5 agents, + $0.99 per Fin AI resolution |
| Zendesk | Suite Team | ~$275 | $55/agent/mo at 5 agents |
| Chatwoot Cloud | Startups | ~$95 | $19/agent/mo (annual) at 5 agents - same software, their hosting |
#vs. other PaaS
Estimated monthly cost of running this exact stack (3.8 GiB RAM, 15 GB disk, 5 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 | ~$188 | no volumes; nothing between 1 GB ($50) and 2.5 GB ($250) dynos - 2 GB containers cost far more than shown |
| Render | ~$51 | per-service instances (0.5 GB $7, 2 GB $25) - every container is its own paid service |
| DO App Platform | ~$50 | no persistent volumes - stateful containers need managed DBs/Spaces (base $5 Spaces included here) |
| Railway | ~$40 | usage-based ($10/GB RAM-mo); vCPU billed separately at $20/vCPU-mo on top |
| Fly.io | ~$24 | 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
chatwoot -
Set the required variables:
SECRET_KEY_BASE, alphanumeric secretREDIS_AUTH, queue passwordFRONTEND_URL, the app’s https domain after first deploy (the chat widget embeds it)
- 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/chatwoot
docker compose up -d Same files, same behavior. The template README covers connection strings and scaling notes.
#faq
What does this save vs Intercom or Zendesk?
Intercom Essential is $29/seat/month (plus $0.99 per AI resolution); Zendesk Suite Team is $55/agent. Five agents cost $145-275/month before add-ons - versus $25 flat here, agents uncounted. Chatwoot’s own cloud is $19/agent, so even first-party hosting meters what this does not.
Why does the template run its own Postgres?
Chatwoot v4 requires the pgvector extension (migrations fail without it), which managed Postgres offerings do not ship - so the template runs the pgvector image as a private container. Everything else about the stack uses the standard catalogue patterns.
How does the live chat widget work?
Create a website inbox and embed the snippet; visitor chats arrive over websockets at /cable on your domain, which the platform ingress passes through. FRONTEND_URL must be your real https domain - the widget embeds it.
Is the CE image missing anything important?
The v4-ce tag strips the commercial enterprise directory (SLA policies, audit logs, some AI features). The core support workflow - inboxes, channels, automations, help center, reports - is fully there, under plain MIT.
Ship Chatwoot today
One compose stack, 3.8 GiB of RAM, from $25/month flat, and it runs on your laptop with the same files.