Enterprise chat platforms provide instant messaging, team collaboration, and much more. Rocket.Chat offers a free, self-hosted option. Here’s how to set it up for private, internal use on Ubuntu Linux.

Chatting is Productive?

It’s easy to dismiss tools like Slack, Microsoft Teams, and Rocket.Chat as nothing more than instant messenger clients. They’re much more than that. Used properly, these enterprise messaging platforms encourage and simplify collaboration within—and between—departments and teams.

Easy and fast communication between team members can only be a good thing. The ability to share images, documents, and video clips enhances the standard text message format and is key to the efficient collaboration that these tools can bring. The immediacy of the communication simply cannot be replicated using email.

RELATED: The Best Open Source Alternatives to Slack

All these collaborative chat tools let you segregate conversations by whatever categories make sense to you, such as teams, projects, or topics. Typically these are called rooms or channels.

Most of these collaborative tools accept plug-ins and work hard to foster an ecosystem of integration partners. For example you can have your favorite Git cloud repository send a message to you—or to a channel—when someone makes a commit or a merge request, or a CI/CD automated build completes or bombs out.

Rocket.Chat is an open source product. You can use it at no cost, or pay for more features and support. You can also self-host your own Rocket.Chat server. Part of the benefit of a chat system like this is you can connect to it from anywhere, using mobile apps or even a web interface.

Rocket.Chat can do that, and its documentation covers automatically obtaining an SSL/TLS certificate from Let’s Encrypt. But if you just want to dip your toe in the water and see whether this type of tool will work for you or not, you can quickly set up Rocket.Chat for in-house use only, and without exposing anything to the outside world.

That’s what we’re going to show you here. We’ll install and configure Rocket.Chat for internal use, over a private network. We used a pre-release build of Ubuntu 21.10 as our chat server.

Installing Rocket.Chat

There is a snap for Rocket.Chat, so installation should be painless. Snaps are designed to be easy to install, they’re isolated from the rest of your system, and they’re auto-updated. Use this command to install the server.

sudo snap install rocketchat-server

installing the server

When the installation has finished we tell Rocket.Chat not to use HTTPS.

sudo snap set rocketchat-server https=disable

Disabling HTTS in Rocket.Chat from the command line

We need to tell Rocket.Chat where the server is located. Replace “ubuntu-21-10.local” with the network name of your server.

sudo snap set rocketchat-server caddy-url=http://ubuntu-21-10.local

Setting the server URL

Rocket.Chat uses Caddy as its HTTP server. We need to enable it so that it will run automatically at boot time.

sudo snap set rocketchat-server caddy=enable

Setting the Caddy HHTP server to auto-run at boot time

And finally, we can initialise and run Caddy with the settings we’ve provided:

sudo snap run rocketchat-server.initcaddy

Starting server from the command line

RELATED: How to Work with Snap Packages on Linux

Restart Rocket.Chat services

If you ever wish to restart the Rocket.Chat server, you need to restart both the Rocket.Chat service and the Caddy service.

sudo systemctl restart snap.rocketchat-server.rocketchat-server.service

restarting the service

sudo systemctl restart snap.rocketchat-server.rocketchat-caddy.service

restarting the caddy service

Configuring Rocket.Chat

Open your web browser. If you’re on the chat server, you can enter “localhost:3000” as the address. If you’re on another computer on the same network, use the IP address or the network name of the chat server, followed by “:3000” without any spaces.

At the login screen, click the “Register a new account” link.

Rocket.Chat login screen

You’re prompted for your user details.

New user details screen

Complete the form and click the blue “Continue” button to proceed.

You must provide some information about your organization.

New user organization screen

Click the blue “Continue” button to proceed.

The next screen asks for details about your Rocket.Chat server.

Rocket.Chat Server details screen

Click the blue “Continue” button to proceed.

On the final setup screen, select the “Confirm standalone, you’ll need to” radio button. We’re running as a standalone, local system. We’re not using any of Rocket.Chat’s hosting, so the “I agree with the Terms & Privacy Policy” doesn’t come into play. It is greyed out.

Click the blue “Continue” button to proceed.

Standalone server setup screen

The first account created is automatically made into an administrator account.

To access the administrative options click your avatar in the top-left corner of the side panel. By default, this is a colored square containing the first letter of your user name.

Avatar drop-down menu

Click on the “administration” option in the drop-down menu. The side panel lists all the administrative options. We’ll create some users. Click on the “Users” option in the side panel.

Administrative options in the side panel

In the Users view, click the “New” button.

Rocket.Chat configured users list

The add user form appears.

Add a new user form

Complete the form. You’ll need to scroll down to see all the fields. Click the “Save” button at the bottom of the form. When you’ve finished creating your users, click the “X” button at the top-right corner of the side panel.

Click the “Create New” icon in the top-right of the side panel.

Select “# Channel” from the drop-down menu.

Channel option in the Create New drop-down menu

Complete the new channel form.

The create a new channel form

Clicking on the “Magnifying Glass” icon in the “Add Members (optional)” field reveals a list of users you can pick from. Those users are automatically added to the channel. Click the blue “Create” button to close the form and create the channel.

Now that you have created some channels and users, let’s install the client and log a user in.

Using the Rocket.Chat Desktop App

We can install the Rocket.Chat desktop client from a snap too. This command will do just that.

sudo snap install rocketchat-desktop

Installing the desktop client in Linux

Clients are available for Windows and macOS too.

Start the client and log in as one of the users you’ve just created.

Rocket.Chat desktop client login screen

You can log in using their user name or their email address.

The layout of the client interface follows the current convention where the channels are listed and selected in the side panel and the conversations are displayed in the main section of the window. If you’ve used any of the major enterprise chat clients, you’ll already be familiar with this layout.

Rocket.Chat Linux desktop client

Messages you post in a channel are visible to everyone in the channel. You can keep things tidy by replying to a comment in a thread. This keeps a discussion from flooding the main channel window. Threads aren’t private though, anyone can join them. Direct messages allow for private conversations.

You can send files and documents by dragging them into the chat window.

Immediate Communication

Enterprise chat and collaboration platforms mean team members are available to help one another all the time. There’s no email lag with instant communications. If you really want to isolate yourself to concentrate on something, set your status to busy or invisible, or log out completely.

If you decide you want to adopt Rocket.Chat and use it remotely and from mobile apps, register it to your domain and install an SSL/TLS certificate. Rocket.Chat’s documentation will step you through that process.

Profile Photo for Dave McKay Dave McKay
Dave McKay first used computers when punched paper tape was in vogue, and he has been programming ever since. After over 30 years in the IT industry, he is now a full-time technology journalist. During his career, he has worked as a freelance programmer, manager of an international software development team, an IT services project manager, and, most recently, as a Data Protection Officer. His writing has been published by,,, and Dave is a Linux evangelist and open source advocate.
Read Full Bio »