Layer 5 · self-hosting reality check
What it actually takes to self-host Rocket.Chat
The docs say 2 GB. In practice you want 6 GB with MongoDB on the same machine. Here is the honest version — real requirements, real monthly cost, what you will be maintaining, and the one thing that catches people out.
Usually reached from Slack alternatives, where Rocket.Chat is one of the picks.
Wondering whether you need to at all? Is Slack free? — what the free tier actually allows, and where the wall is.
| RAM — documented minimum | 2 GB |
|---|---|
| RAM — what it really needs | 6 GB with MongoDB on the same machine |
| CPU | 2 vCPU, 4 with heavy use |
| Disk | 40 GB; MongoDB and uploads both grow |
| Monthly cost | $35–55/mo for a small team |
| Setup time | 2–3 hours |
| How you install it | docker compose with MongoDB — a replica set is required, even single-node |
| Ongoing maintenance | Active. MongoDB version compatibility is the recurring chore. |
| Where it stops scaling | Large deployments with a real MongoDB cluster. Single-node comfortably handles a few hundred. |
The thing that catches people out
MongoDB must be configured as a replica set even when you only run one node, because Rocket.Chat relies on the oplog for real-time updates. A plain standalone MongoDB starts fine and then messages simply do not appear for other users. It is the single most common broken install and the error message never mentions replication.
When not to self-host Rocket.Chat
You want the lightest possible chat server. Rocket.Chat is feature-rich and carries a MongoDB dependency that Mattermost's PostgreSQL does not match for weight.
Every guide here carries this section. A site that only ever tells you to self-host is selling something — the useful answer is sometimes no.
Other Layer 5 self-hosting guides
- Self-hosting LibreOffice2 GB with a large spreadsheet open
- Self-hosting ONLYOFFICE6 GB for the Document Server with a handful of concurrent editors
- Self-hosting Collabora Online4 GB, and roughly 1 GB per 20 concurrent documents
- Self-hosting CryptPad2 GB for a small instance
- Self-hosting Mattermost4 GB for a team of 50 with PostgreSQL on the same box
- Self-hosting Zulip4 GB for a small organisation
Common questions
- How much RAM does Rocket.Chat actually need?
- 6 GB with MongoDB on the same machine in practice. The documented minimum is 2 GB, which is the figure at which the process starts rather than the figure at which it works under real use. 2 vCPU, 4 with heavy use alongside it.
- What does self-hosting Rocket.Chat cost per month?
- $35–55/mo for a small team This is commodity VPS pricing and excludes your time, which is the larger cost for most people — budget for active. MongoDB version compatibility is the recurring chore.
- How long does it take to set up Rocket.Chat?
- 2–3 hours, via docker compose with MongoDB — a replica set is required, even single-node.
- When should I NOT self-host Rocket.Chat?
- You want the lightest possible chat server. Rocket.Chat is feature-rich and carries a MongoDB dependency that Mattermost's PostgreSQL does not match for weight.
- What is the most common mistake when self-hosting Rocket.Chat?
- MongoDB must be configured as a replica set even when you only run one node, because Rocket.Chat relies on the oplog for real-time updates. A plain standalone MongoDB starts fine and then messages simply do not appear for other users. It is the single most common broken install and the error message never mentions replication.