Deploy with Snaps
Last updated
Last updated
Installing software on Linux can now be done easily with the use of Snaps. They are self-contained packages with all necessary files and dependencies, ensuring easy installation and updates. Deploying Rocket.Chat with Snaps offers seamless deployment on any Linux distribution, providing a secure and isolated workspace. It also auto-updates when a new version of Rocket.Chat is released.
In this guide, you'll learn how to:
Prerequisites
A Linux-based system (Ubuntu, Debian, Fedora, etc.)
AVX/AVX2 supported CPU to run Mongo 5.0 for Rocket.Chat workspaces on version 6.0 & above.
Install Snaps
Snap is pre-installed in most modern Linux distributions. If it's not, see the.
To install Rocket.Chat with snap on Ubuntu, run the following command:
Moving Between Major Releases
With Snap tracks, you can smoothly transition between major releases of Rocket.Chat (from 2.x to 3.x or from 3.x to 4.x). These tracks enable you to remain on a specific release while receiving updates exclusively for that particular track. For instance, you can confidently switch to a new major release with the following command:
Snap tracks allow you to keep your Rocket.Chat server up-to-date with the latest features while choosing your preferred release version.
Configuring Rocket.Chat with Snaps
To see the list of snap variables to configure for your Rocket.Chat server, run the following command:
It displays a list of values like this:
To set any of the variables, run this command:
From track 4.x, you can configure your MongoDB. The configuration file is located in /var/snap/rocketchat-server/current/mongod.conf
.
Snap Backup and Restore is a handy tool that allows you to create backups of your Rocket.Chat instance and restore them as needed.
Backup Rocket.Chat Snap Data
You can enable automatic backup on each snap refresh by executing this command:
To backup the data on your snap installation,
Stop your rocketchat-server by running
While the rocketchat-server service
should be stopped, the rocketchat-mongo service
should be kept running.
Execute the backup command:
A successful backup will return this:
Start your rocketchat-server
Copy your backup to a different system for safekeeping.
Restore Rocket.Chat Snap Data
To restore your backed-up snap data,
Stop your rocketchat-server by running this command:
While the rocketchat-server service
should be stopped, the rocketchat-mongo service
should be kept running.
Copy your backup file to the snap's common folder:
Run the restore command:
If you are replacing an existing database, you get a warning message.
ATTENTION
Your current database WILL BE DROPPED prior to the restore!
Do you want to restore?
1) Yes
2) No
Choose your restore option.
If it is successfully done, you will see an output similar to:
Start your rocketchat-server
Starting from release 0.73, the snap includes Caddy, which utilizes Let's Encrypt to enable TLS protection for your communications. Snap hooks ensure easy configuration of Caddy, including proper DNS setup, before starting Caddy with Let's Encrypt support.
To set up Auto SSL with Snaps for 4.x latest AMD64 snaps or 3_.x latest ARM64 snaps_,
Set the SiteUrl
to your domain using the following command, esure it is prefixed with https
:
Start Caddy and restart the snap services.
To set up Auto SSL with Snaps for older snaps,
To enable TLS and Let's Encrypt certificates:
Input a URL starting with HTTPS
Own the domain name you would like to use.
Ensure the proper DNS record is set up to link your domain name to your public IP address. Keep in mind that it may take some time for DNS records to propagate.
Run the following commands to check that configuration is set up correctly before starting the services:
If no errors are found, it is safe to restart Rocket.Chat and Caddy:
In case you don't want to configure TLS for your site or want to remove TLS configuration:
If no errors were found, it is safe to restart Rocket.Chat and Caddy:
To view the Caddy log, run this command:
Configure Caddy yourself or use another HTTP Proxy
For 4.x latest AMD64 snaps or 3.x latest ARM64 snaps,
To configure Caddy yourself, place the Caddyfile in the /var/snap/rocketchat-server/current/
directory and restart rocketchat-server.
To use another reverse proxy, disable Caddy by running this command:
For older snap versions,
If you would like to use a different https proxy or prefer other options in your Caddy configuration, you can choose to disable Caddy by running this command:
Edit the Caddyfile found at /var/snap/rocketchat-server/current/Caddyfile
and write your configuration.
Replace _caddy-url_
and _port_
with your site information. For example, suppose I have example-domain.com directed towards my server.
Be sure that your DNS has finished resolving before attempting to enable TLS. To test your DNS you can use http:
Restart Caddy:
You can check that the Caddy service started correctly by running:
Once that is tested and resolved, to get secured communications, you can remove the http://
:
Restart the Caddy service by running:
You can check that the Caddy service started correctly by running:
If the configuration is succesfull, the website should now be easily accessible at https://example-domain.com
.
With the Rocket.Chat snap installation, you'll always be on the latest track at the setup time, ensuring access to the latest releases.
To force an update, run this command**:**
To update to a major version, switch to a specific track by executing this command:
You'll then receive updates related to that track..
To update to a new version, execute this command:
The channel format is "x.x/stable," where the first "x" represents the major version, and the second "x" remains unchanged. For example, for major version 6, the channel is "6.x/stable," and for major version 5, it's "5.x/stable." In each "6.x/stable" channel, you will receive all minor and patch release updates specifically for that major version (in this case, major version 6).
To access your Rocket.Chat workspace, open a web browser and navigate to the specified ROOT URL (http://localhost:3000
). Follow the configuration prompts to
For all the configuration options, see
If your DNS is not working, you could be instantly for up to a week.
Using an IP address will not work for automatically enabling TLS with a publicly-trusted certificate. You must use a valid hostname for a trusted certificate. See the for more information.
Before you proceed, see the .
It is highly advised to before upgrading.
Before a major version update, check the . Major releases are often delayed by a couple of weeks to gather feedback and apply minor patches before the final release.
Learn more about track changes in this .
In addition to the latest track, Rocket.Chat offers three other channels: stable, candidate, and edge. For more information on these channels, refer to the .
If you have any concerns or issues with your deployment, see .