Looking to host your own team chat instead of relying on services like Slack and etc? Consider trying out RocketChat. It’s an open source, Slack-like collaborative chat software with a ton of similar features like video conferencing, multiple chat channels, DM support, voice calls and more.
Installing RocketChat Via Snaps
The RocketChat server software can be very tedious to get running. It requires a lot of manual configuration, and initial manual setup otherwise. If you’re just looking to install the software and get going, running Ubuntu snap packages on a server is a great way to get around the otherwise tedious setup process.
A lot of Linux users may scoff at using Snaps on a server but they’re not just for the desktop. In fact, many different server tools are slowly making their way to the Snap store. Furthermore, it’s now easier than ever for most Linux distributions to easily install snapd, and grab these packages. To install the RocketChat server software on your Linux server, first find out if it can indeed run snapd (it probably can). Then, follow our guide on how to set up Snaps.
With snapd running, simply install the latest version of the RocketChat server software:
sudo snap install rocketchat-server
RocketChat Client via Snaps
Though this guide is primarily focused on getting the server software running, many people will want to learn how to install the Linux desktop client as well. Like the server software, the desktop client is easily install-able via snap. To install, do:
sudo snap install rocketchat-desktop
Installing RocketChat Via Docker Container
Those that don’t want to install Rocket Chat on the server by manual configuration, yet also don’t want to use snaps have a second option for quick and easy installation: RocketChat via Docker Containers. Much like the Snap version, those that choose to pull the server software via Docker Hub will get a (mostly) pre-configured chat server setup. No need to manually install and configure things like Nginx. Rather, everything you’ll need is right in a compact container.
To get started, be sure you’ve got Docker installed on your Linux server (or Linux desktop). Once installed, pull the latest RocketChat container.
Grabbing The Latest Version
su docker pull rocketchat/rocket.chat:latest
Grabbing A Specific Version
To grab a specific version of RocketChat via a Docker container, you’ll need to specify the version number. Replace the exact version number with the Xs in the command. Not sure what version to grab? Refer to the Rocket Chat website for information. Then, pull the latest container with:
docker pull rocketchat/rocket.chat:vX.X.X
Grabbing The Stable Version (Officially Approved By Docker)
Pulling the latest version of the server software is a great way to ensure that users always experience the latest features as they are released. Unfortunately, having the latest software isn’t always a good idea. Things can break, and in a production environment this is a nightmare. Fortunately, there is a version of the Rocket Chat software that is “stable”. This version is officially sanctioned by Docker, and is the stable version.
Pull it from the Docker Hub with:
docker pull rocket.chat
Configuring The RocketChat Server
With the software end of things taken care of, all that’s left is to configure everything. 100% of all configuration for the chat server software in RocketChat is with the web UI. To open the admin panel web interface, you’ll need to first find the IP address of the server. Keep in mind, IP addresses are different if users access it via LAN or over the Internet (via a VPS and etc).
Note: those using RocketChat via the Docker container should follow the additional instructions found on the image readme.
Accessing the UI via LAN is easy, as all users already communicate and interact with the server on the network. To figure out the internal LAN IP address for the server, do:
ip addr show | grep "inet 192.168"
Combining “ip addr show” with grep will make it easy to filter out the internal IP address for the server. Take this IP address, and plug it into a web browser. For example:
Those using Rocket Chat via the internet will need to port-forward port 3000, and use the external IP address, rather than the internal one.
Setting Everything Up
The first step to setting everything up, is to log in. Most, if not all of the options are set up by default. No settings require configuration, as the defaults are pretty sane. Users can easily DM back and forth, and create channels (if the Admin has given them the permission to do so via the settings). The first user to sign up, will automatically be an admin account.
To get to the admin settings, click on the arrow next the username, and select “administration”. In this area, it’s possible to import data from an existing Slack install, Hipchat, and many other different types of collaborative, team chat programs.
Have users go to the IP address, and create an account. From there, they can join a channel. Alternatively instruct users to install the chat client (via snap). There are also versions available for other platforms.
Other Ways To Install RocketChat
There are many different ways to install Rocket Chat. If using Snaps, or Docker isn’t going to work for you, consider checking out the other ways it is possible to deploy the chat server software. There are many, many different options, including: FreeBSD, Windows, various hosting providers and even the Raspberry Pi.