# Rocket Chat 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 ```bash sudo apt-get -y update ``` ```bash sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 9DA31620334BD75D9DCB49F368818C72E52529D4 ``` ```bash echo "deb [ arch=amd64 ] https://repo.mongodb.org/apt/ubuntu 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: ```bash sudo apt-get -y update && sudo apt-get install -y curl && curl -sL https://deb.nodesource.com/setup_12.x | sudo bash - ``` Install build tools, MongoDB, nodejs and graphicsmagick: ```bash sudo apt-get install -y build-essential mongodb-org nodejs graphicsmagick ``` Only for Ubuntu 19.04 install npm: ```bash sudo apt-get install -y npm ``` Using npm install inherits and n, and the node version required by Rocket.Chat: ```bash sudo npm install -g inherits n && sudo n 12.18.4 ``` --- ### Install Rocket.Chat Download the latest Rocket.Chat version: ``` curl -L https://releases.rocket.chat/latest/download -o /tmp/rocket.chat.tgz ``` ``` tar -xzf /tmp/rocket.chat.tgz -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 ``` ```bash= cat << EOF |sudo tee -a /lib/systemd/system/rocketchat.service [Unit] Description=The Rocket.Chat server After=network.target remote-fs.target nss-lookup.target nginx.service mongod.service [Service] ExecStart=/usr/local/bin/node /opt/Rocket.Chat/main.js StandardOutput=syslog StandardError=syslog SyslogIdentifier=rocketchat User=rocketchat 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 [Install] WantedBy=multi-user.target EOF ``` 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 ``` --- ### Configuring Reverse Proxy
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up