I Measured What Self-Hosted Chatwoot Actually Uses
Description and use
A single 4 GB VPS can run a self‑hosted Chatwoot with 34 seats and 348,703 messages using only 1.8 GB RAM; usage scales with message volume, not seat count. Self‑hosting is viable if ops capacity exists; otherwise Cloud is cheaper due to reduced overhead.
Problem
Clients need realistic resource estimates for self‑hosted Chatwoot, but pricing articles only list tier numbers without showing actual usage.
Outcome
A single 4 GB VPS can comfortably run a self‑hosted Chatwoot instance with 34 seats and 348,703 messages using only 1.8 GB RAM; resource usage is driven by message volume, not seat count. Self‑hosting is viable if ops capacity exists; otherwise Cloud is cheaper due to reduced operational overhead.
Workflow
- Set up a single‑box Docker deployment of Chatwoot (rails, postgres, sidekiq, redis).
- Run
docker statsduring steady state to capture container memory usage. - Record disk usage of Postgres (997 MB) and total system usage (20 GB of 38 GB).
- Calculate message volume per seat and per inbox.
- Compare retention limits on Chatwoot Cloud tiers to actual conversation history length.
- Publish findings on personal blog for transparency.
- Provide guidance on when self‑hosting is cost‑effective versus Cloud.
- Offer affiliate code for Cloud discounts.
- Document operational challenges encountered (connection‑pool exhaustion, Redis eviction, log rotation, upgrade issues).
Evidence
348,703 messages across 20 inboxes fit inside about 1.8 GB of RAM.
The whole box sits at 20 GB of 38 GB used and 2.4 GB of 3.7 GB RAM — and that box hosts other things too.
Adding an agent to a self-hosted install costs nothing. On Cloud, every seat is another line on the bill, every month, for as long as you have it.
- Record date: 2026-09-05T19:15:38.173Z