Rocket chat hosting comes down to three options. Rocket.Chat hosts it for you in their cloud, you build a server by hand, or you launch an image that already has everything installed. Meetrix's AWS AMI is the third kind: Rocket.Chat 8.4.2 on Ubuntu 24.04, MongoDB backed up to an S3 bucket you choose, and SSL from Let's Encrypt when your domain lives on Route 53. The CloudFormation stack takes 5-10 minutes to come up.

Self-hosting Rocket.Chat isn't unlimited, though. The free plans cap users, and that catches teams out a few months in. That part is covered under limitations below, before you commit.

At a glanceRocket.Chat AMI by Meetrix
VersionRocket.Chat 8.4.2 on Ubuntu 24.04
DatabaseMongoDB on the same instance, backed up to S3
Recommended instancet3.small to start (see sizing below)
SSLAutomatic with Route 53, one script otherwise
Setup time5-10 minutes for the stack
Free trial5 days on AWS Marketplace

What is Rocket.Chat?

Rocket.Chat is an open-source team chat platform: channels, direct messages, threads, file sharing, and an omnichannel inbox for customer conversations from your website or other messaging apps. Video calls come through integrations, Jitsi and BigBlueButton on the free Community plan. It's a Node.js app with MongoDB as its database, and the code is on GitHub.

The reason to self-host it is simple: the chat history sits on a server you control, not in someone else's SaaS.

Rocket chat self hosted on AWS: what the AMI sets up

A manual install means Ubuntu, Docker or Node.js, a MongoDB replica set, a reverse proxy, certbot and a backup job, all wired together before anyone sends a message. The CloudFormation stack does that part:

  • Rocket.Chat and MongoDB on one EC2 instance, inside a new VPC and subnet (10.0.0.0/16 and 10.0.0.0/24 by default)
  • A Let's Encrypt certificate requested automatically when the domain is hosted on Route 53
  • MongoDB backups going to the S3 bucket you name in the S3Bucket parameter
  • SSH restricted to the range you set in SSHLocation
  • Billing on your normal AWS invoice: the EC2 instance plus an hourly software fee, after a 5-day trial

What it doesn't do: high availability. It's one instance. If that's a requirement, Rocket.Chat's own docs move you to multiple MongoDB replicas and, past about 5,000 concurrent users, to microservices on Kubernetes.

How to set up Rocket.Chat on AWS

  1. Open the Rocket.Chat listing on AWS Marketplace, click "Continue to Subscribe" and accept the terms.
  2. Click "Continue to Configuration", pick "CloudFormation Template" and your region, then "Continue to Launch" and "Launch CloudFormation".
  3. Fill in the stack parameters: a stack name, Admin Email (used for the certificate), DeploymentName, DomainName, InstanceType, your EC2 keyName, and the S3Bucket for MongoDB backups. The default SSHLocation is 0.0.0.0/0; set it to your own IP range instead.
  4. Tick the IAM acknowledgement, submit, and wait 5-10 minutes. A vCPU limit error on a new account means you need a vCPU quota increase first.
  5. Copy PublicIp from the stack's Outputs tab and point your domain's A record at it in Route 53.
  6. Open DashboardUrl from the Outputs tab. A 502 Bad Gateway just means Rocket.Chat is still starting, so give it about 5 minutes. Rocket.Chat's setup wizard then walks you through creating the first admin account.

Read More for additional Guides >>

Rocket chat server sizing

t3.small is the recommended starting point, and for a trial it's fine. Just remember that on this AMI Rocket.Chat and MongoDB share that box's 2 GiB of memory. Rocket.Chat's system requirements ask for 2 vCPU and 4 GiB for Rocket.Chat alone up to 500 concurrent users, with MongoDB sized separately. So for a team that keeps it open all day, start at t3.medium and resize from there. Changing the instance type later is a stop, change, start in the EC2 console.

Rocket chat SSL

If the domain is on Route 53, the certificate is issued during stack creation. If it isn't, or the automatic attempt fails, SSH in and run the standalone script:

ssh -i <your key name> ubuntu@<Public IP address>
sudo /root/certificate_generate_standalone.sh

Rocket chat on premise, Rocket.Chat Cloud, or your AWS account

Rocket.Chat CloudOn premiseAMI on your AWS account
Who runs the serverRocket.ChatYou, on your hardwareYou, on EC2
Where the data livesRocket.Chat's cloudYour data centerYour AWS account and region
Setup effortSign upDocker or Kubernetes install, MongoDB, proxy, SSLOne CloudFormation stack
UpdatesHandled for youYoursYours, by launching the newer AMI version
Air-gapped optionNoYes, on paid plansNo

On premise makes sense when the chat can't touch a public cloud at all. Otherwise a VM in your own AWS region gets you the data control without the hardware. Rocket.Chat's plans page lists which features need a paid plan in each setup.

Rocket chat self hosted limitations

The AMI doesn't change Rocket.Chat's licensing. The same plan limits apply wherever it runs:

  • Starter is free up to 50 users. At the cap you can't add anyone new; existing users and history stay.
  • Community is MIT licensed and free up to 100 concurrent users, with 10,000 push notifications a month. Rocket.Chat itself says it isn't meant for business-critical production.
  • Upgrades are on you, and they have an order. Rocket.Chat 8.x needs MongoDB 8.0 or later, and MongoDB has to be upgraded first.
  • Backups go to S3 automatically, but test a restore once. A backup you've never restored is a hope, not a backup. For MongoDB-specific options, see our MongoDB backup guide for AWS.

Where Rocket.Chat fits next to Slack and Mattermost

Slack has no self-hosted option, so if the reason you're here is keeping chat history on your own servers, it's really Rocket.Chat against Mattermost. Rocket.Chat leans toward customer-facing work with its omnichannel inbox. Mattermost leans toward engineering teams and DevOps workflows. We compare the two properly in Rocket.Chat vs Mattermost and, for the team-chat angle, in our Rocket.Chat vs Mattermost team chat comparison. If Slack is still in the running, read Mattermost vs Slack too, or see the wider field in our self-hosted Microsoft Teams alternatives.

Rocket.Chat REST API and integrations

Everything in the web client is also available through the REST API. For scripts and bots, create a personal access token under your account settings (the role needs permission for it) and send it with your user ID in the X-Auth-Token and X-User-Id headers. Use HTTPS only, since the token is as good as a password. The API is rate limited, and the limits are adjustable in the admin panel.

API Documentation

Frequently Asked Questions

Can I deploy Rocket.Chat on a small team server with minimal DevOps?

Yes. The AMI launches Rocket.Chat and MongoDB on one EC2 instance through a CloudFormation stack, with SSL and S3 backups set up for you. It doesn't scale automatically, though. When the team grows, you stop the instance and move it to a bigger instance type.

Is Rocket.Chat self hosted free?

The software can be. Rocket.Chat's Community edition is MIT licensed and free up to 100 concurrent users, and the Starter plan is free up to 50 users. On AWS you still pay for the EC2 instance, plus the AMI's hourly software fee after the 5-day free trial.

What are the limitations of Rocket.Chat self hosted?

Two kinds. Plan limits: Starter stops at 50 users, Community at 100 concurrent users and 10,000 push notifications a month. Operational limits: you own updates, MongoDB upgrades and backups, and a single instance has no high availability.

What instance size does a Rocket.Chat server need?

t3.small (2 vCPU, 2 GiB) is the recommended starting point and is fine for a trial. Rocket.Chat's own guidance for up to 500 concurrent users is 2 vCPU and 4 GiB for Rocket.Chat alone, so a team using it all day should start at t3.medium or larger.

How does Rocket.Chat SSL work on the AMI?

If your domain is hosted on Route 53, the stack requests a Let's Encrypt certificate automatically using the Admin Email you entered. If that fails, SSH into the instance and run sudo /root/certificate_generate_standalone.sh to generate the certificate manually.

Does Rocket.Chat need MongoDB?

Yes, MongoDB is Rocket.Chat's only supported database. Rocket.Chat 8.x requires MongoDB 8.0 or later. The AMI ships both on the same instance and backs MongoDB up to the S3 bucket you name in the stack parameters.

Rocket.Chat on premise or Rocket.Chat Cloud?

Rocket.Chat Cloud is hosted and maintained by Rocket.Chat, so there's nothing to patch. On premise, or on your own AWS account, the data stays on infrastructure you control, which matters for data residency and air-gapped setups. You trade convenience for control.

How do I update Rocket.Chat on the AMI?

When Meetrix publishes a newer version on AWS Marketplace, back up your data, delete the old stack and launch the new version. For Rocket.Chat 8.x, MongoDB must already be on 8.0 before the Rocket.Chat upgrade.