Skip to content

Self-host Rocket.Chat

updated Sep 2026prices checked · Jul 2026Install verified on Ubuntu 26.04 · Sep 2026 · how we test
We earn commissions when you shop through the links below. Full disclosure →

A feature-packed open-source team chat with channels and omnichannel support built in, plus voice and video through marketplace call apps. The most extensible self-hosted Slack alternative if you want everything in one platform.

Key facts

CategoryTeam chat
LicenseMIT
StackNode.js, MongoDB
Min RAM8192 MB
Official imageyes
Measured idle RAM1290 MB
Difficulty
Our recommendation

Pick Rocket.Chat when you want channels, voice/video and omnichannel in one self-hosted product and have a 2-vCPU, 8 GB box to give it: upstream's Starter sizing for up to 500 concurrent users is 4 GiB for Rocket.Chat plus 4 GiB for MongoDB. The core is MIT (Expat) except the `ee/` directories, which carry a separate enterprise licence, and the official stack is Node.js (bundled in the image) plus a MongoDB 8.0+ replica set, NATS, and optional Traefik and monitoring — nine compose files in the repository, up to six chained in the guide's command, not one. If your team is under 1,000 users and 2 GB is what you have, Mattermost is the lighter team-chat entry in the catalog.

Follow the Rocket.Chat deploy guide →

What you need

  • Any VPS with at least 8192 MB of RAM
  • A domain you control — most self-hosted setups need HTTPS in front of them
  • About an afternoon — budget time for troubleshooting
Where to host itaffiliate disclosure
Hetzner Cloudrun it on
From $23.59/mo · 2 vCPU / 4 GB / 80 GB · EU + US
Get Hetzner Cloud (opens in new tab)
Kamaterafree trial
From $4/mo · 1 vCPU / 1 GB / 20 GB · US + EU + Asia
Start free on Kamatera → (opens in new tab)
DigitalOceanalso works on
From $6/mo · 1 vCPU / 1 GB / 25 GB · US + EU + Asia
Deploy on DigitalOcean → (opens in new tab)

Paid link — we earn a commission if you shop through it.

Install

Run these commands on your server:

# Rocket.Chat — official compose repo (docs → Deploy with Docker and Docker Compose): app + MongoDB + Traefik + NATS + monitoring
git clone --depth 1 https://github.com/RocketChat/rocketchat-compose.git
cd rocketchat-compose
cp .env.example .env
# edit .env — RELEASE=<exact version, e.g. 8.8.0> (never latest in production); for a public server also:
#   DOMAIN=chat.example.com  ROOT_URL=https://chat.example.com  LETSENCRYPT_ENABLED=true  LETSENCRYPT_EMAIL=you@example.com  TRAEFIK_PROTOCOL=https
#   (LETSENCRYPT_EMAIL is required even for the local defaults, which serve http://SERVER_IP:3000)
docker compose -f compose.monitoring.yml -f compose.traefik.yml -f compose.database.yml -f compose.yml -f compose.nats.yml -f docker.yml up -d
# the app publishes plain-HTTP :3000 and metrics :9458 on all interfaces (BIND_IP defaults to 0.0.0.0): set BIND_IP=127.0.0.1 in .env when Traefik or another proxy fronts it
# →  https://chat.example.com (your ROOT_URL)

What you take on

Rocket.Chat is the heaviest chat server in the catalog, and its free-tier limits live in the docs rather than the licence:

non-negotiableFree workspaces are capped: "Starter" allows up to 50 users with many premium features under usage limits; "Community" allows up to 100 concurrent users, core messaging only, and 10,000 push notifications a month. The setup wizard registers your workspace and email with the Rocket.Chat Cloud portal, and push notifications and the marketplace depend on that registration.
non-negotiableThe current guide clones rocketchat-compose, copies .env.example to .env and passes every file explicitly — docker compose -f compose.database.yml -f compose.yml -f compose.nats.yml up -d at minimum, more with Traefik and monitoring. Set RELEASE to a fixed version (upstream: never latest), plus ROOT_URL and DOMAIN. Rocket.Chat 8.x needs MongoDB 8.0+; the compose defaults MONGODB_VERSION to 8.2 and publishes port 3000 on all interfaces (BIND_IP defaults to 0.0.0.0).
non-negotiableUpgrades are sequential across majors — reach the latest 7.x before 8.x — and each release is supported for six months (LTS releases 12); after end of life the push gateway, marketplace and omnichannel integrations stop working and official clients may lose the ability to connect. If your MongoDB version is unsupported by the target release, upstream says to update it before updating Rocket.Chat.
non-negotiableThe docs warn that MongoDB 8.x may fail to start on Ubuntu 26.04 — use 24.04 LTS for now. File uploads default to GridFS inside MongoDB, which upstream says is "not recommended for production environments due to the high load it places on the database"; Amazon S3 and Google Cloud Storage are its recommended options. Grafana ships with admin / rc-admin in .env.example and the password is applied only on first start.
non-negotiableThe 8 GB floor is upstream's figure: the Starter, no-HA scenario in System Requirements lists 4 GiB for Rocket.Chat and 4 GiB for MongoDB, 2 vCPUs each; the premium high-availability tier starts at 8–12 GiB for the app alone.

An alternative to

Head-to-head

More self-hosted tools

We use analytics cookies (Google Analytics, PostHog) to see which guides are useful. No ad networks, no cross-site tracking. See our privacy policy.