Rocket.Chat in Ubuntu

Recommended Fastest Server Install via Snaps

Snaps are the easiest way for you to get your server up and running on all supported Linux distributions (Ubuntu, etc).

Find out more information about installing using snaps here

If you would like to enable TLS on your site like this when using the snap, please see here

Manual install

This installation guide was tested in the following environment:

  • Rocket.Chat 3.9.0

  • OS: Ubuntu 18.04 LTS, Ubuntu 19.04 and Ubuntu 20.04(Latest)

  • Mongodb 4.0.9

  • NodeJS 12.18.4

Install necessary dependency packages

Update package list and configure apt to install the official MongoDB packages with the following repository file:

sudo apt-get -y update
sudo apt-key adv --keyserver hkp:// --recv 9DA31620334BD75D9DCB49F368818C72E52529D4
echo "deb [ arch=amd64 ] bionic/mongodb-org/4.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.0.list

Configure Node.js to be installed via package manager:

sudo apt-get -y update && sudo apt-get install -y curl && curl -sL | sudo bash -

Install build tools, MongoDB, nodejs and graphicsmagick:

sudo apt-get install -y build-essential mongodb-org nodejs graphicsmagick

Only for Ubuntu 19.04 install npm:

sudo apt-get install -y npm

Using npm install inherits and n, and the node version required by Rocket.Chat:

sudo npm install -g inherits n && sudo n 12.18.4

Install Rocket.Chat

Download the latest Rocket.Chat version:

curl -L -o /tmp/
tar -xzf /tmp/ -C /tmp

Install (this guide uses /opt but feel free to choose a different directory):

cd /tmp/bundle/programs/server && npm install
sudo mv /tmp/bundle /opt/Rocket.Chat

Configure the Rocket.Chat service

Add the rocketchat user, set the right permissions on the Rocket.Chat folder and create the Rocket.Chat service file:

sudo useradd -M rocketchat && sudo usermod -L rocketchat
sudo chown -R rocketchat:rocketchat /opt/Rocket.Chat
cat << EOF |sudo tee -a /lib/systemd/system/rocketchat.service
Description=The Rocket.Chat server nginx.service mongod.service
ExecStart=/usr/local/bin/node /opt/Rocket.Chat/main.js
Environment=MONGO_URL=mongodb://localhost:27017/rocketchat?replicaSet=rs01 MONGO_OPLOG_URL=mongodb://localhost:27017/local?replicaSet=rs01 ROOT_URL=http://localhost:3000/ PORT=3000

Open the Rocket.Chat service file just created (/lib/systemd/system/rocketchat.service) using sudo and your favourite text editor, and change the ROOT_URL environmental variable to reflect the URL you want to use for accessing the server (optionally change MONGO_URL, MONGO_OPLOG_URL and PORT):


Setup storage engine and replication for MongoDB (mandatory for versions > 1), and enable and start MongoDB and Rocket.Chat:

sudo sed -i "s/^# engine:/ engine: mmapv1/" /etc/mongod.conf
sudo sed -i "s/^#replication:/replication:\n replSetName: rs01/" /etc/mongod.conf
sudo systemctl enable mongod && sudo systemctl start mongod
mongo --eval "printjson(rs.initiate())"
sudo systemctl enable rocketchat && sudo systemctl start rocketchat

Optional configurations

Configure firewall rule Configure a HTTP reverse proxy to access Rocket.Chat server [Configure mongo access control] [Configure production values for mongodb]

Configure your Rocket.Chat server

Open a web browser and access the configured ROOT_URL (, follow the configuration steps to set an admin account and your organization and server info.