Installing a snap on Ubuntu is as easy as
sudo snap install rocketchat-server
Then browse to http://localhost:3000
and setup Rocket.Chat.
Snaps are secure. Rocket.Chat and all of its dependencies are isolated from the rest of your system. Snaps also auto update when we release a new version. So no need more hassle updating.
On Ubuntu 16.04LTS, install snapd
first:
sudo apt-get install snapd
To move between different major releases, from 2.x to 3.x or from 3.x to 4.x, take a look at snap tracks.
If you have questions about snaps best place to ask them is at the #ubuntu-snap channel.
Snaps are one of our biggest install base. They are also auto updating. As a result we like to spend more time testing before releasing. Updated Snaps are usually released around the 15th of the month - around 2 weeks after a new release. This gives us time to look for issues so you don't have to.
If you have special requirements and really need to use the latest release immediately then please consider another installation method e.g docker
Check out our guide for enabling caddy here.
Make sure you're using x64 or amd64 (or armhf) images, especially on VPS or VMs. x86 (32-bit) is not supported.
While updates happen automatically usually within 6 hours from time of release, you can update manually by issuing this command:
sudo snap refresh rocketchat-server
sudo snap revert rocketchat-server
You can check on the status of Rocket.Chat with:
sudo service snap.rocketchat-server.rocketchat-server status
You can also check on the status of Mongo and Caddy:
sudo service snap.rocketchat-server.rocketchat-mongo statussudo service snap.rocketchat-server.rocketchat-caddy status
To see the logs from Rocket.Chat:
sudo journalctl -f -u snap.rocketchat-server.rocketchat-server
To see the logs from Mongo or Caddy:
sudo journalctl -f -u snap.rocketchat-server.rocketchat-mongosudo journalctl -f -u snap.rocketchat-server.rocketchat-caddy
To restart Rocket.Chat:
sudo service snap.rocketchat-server.rocketchat-server restart
Mongo and Caddy can similarly be restarted:
sudo service snap.rocketchat-server.rocketchat-mongo restartsudo service snap.rocketchat-server.rocketchat-caddy restart
The snap's policy is to restart on failure.
sudo service snap.rocketchat-server.rocketchat-server stop
Please note: while the rocketchat-server service should be stopped, the rocketchat-mongo service should be kept running!
sudo service snap.rocketchat-server.rocketchat-mongo status | grep ActiveActive: active (running) (...)
sudo snap run rocketchat-server.backupdb
[+] A backup of your data can be found at /var/snap/rocketchat-server/common/backup/rocketchat_backup_<timestamp>.tar.gz
sudo service snap.rocketchat-server.rocketchat-server start
sudo service snap.rocketchat-server.rocketchat-server stop
Please note: while the rocketchat-server service should be stopped, the rocketchat-mongo service should be kept running!
sudo service snap.rocketchat-server.rocketchat-mongo status | grep ActiveActive: active (running) (...)
sudo cp rocketchat_backup.tgz /var/snap/rocketchat-server/common/
sudo snap run rocketchat-server.restoredb /var/snap/rocketchat-server/common/rocketchat_backup.tgz
*** ATTENTION **** Your current database WILL BE DROPPED prior to the restore!* Would you like to make a backup of the current database before proceeding?* (y/n/Q)>
Press y
and Enter
to make a backup of the database in its current state.
Press n
and Enter
to continue without a backup of the database in its current state.
Press any key and/or Enter
to quit the restore process without making any changes.
[*] Extracting backup file...[*] Restoring data...[*] Preparing database...[+] Restore completed! Please restart the snap.rocketchat services to verify.
If something goes wrong, you will instead be presented with a path to the relevant log file to help remedy errors. In this case, the database may not be usable until a restore is successfully performed.
sudo service snap.rocketchat-server.rocketchat-server start
Note that the interface providing the ability to access removable media is not automatically connected upon install, so if you'd like to use external storage (or otherwise use a device in /media
for data), you need to give the snap permission to access removable media by connecting that interface:
sudo snap connect rocketchat-server:removable-media
Your actual snap files for each version of Rocket.Chat are copied to: /var/lib/snapd/snaps
and they are mounted in read-only mode.
Your snap common directory is: /var/snap/rocketchat-server/common/
; file uploads to disk and the database are stored here.
Your snap data directory is /var/snap/rocketchat-server/<version>
; this is a versioned folder.
You can access the current snap data directory at /var/snap/rocketchat-server/current
.
You can do this by issuing the following command, where N
is the desired version:
snap remove --revision=N rocketchat-server
snapcraft primesnap try prime --devmodecp /usr/bin/strace primesnap run <snap.app> --shellsudo ./strace
Starting from release 0.73, it is possible to configure these environmental variables through snap hooks like this:
sudo snap set rocketchat-server port=<another-port>sudo snap set rocketchat-server mongo-url=mongodb://<your-url>:<your-port>/<your-db-name>sudo snap set rocketchat-server mongo-oplog-url=mongodb://<your-url>:<your-port>/local
Remember to restart rocket.chat service after setting new values:
sudo systemctl restart snap.rocketchat-server.rocketchat-server.service
This is an example to run rocket.chat on port 4000 instead of 3000 and set database name to rocketchat instead of parties:
sudo snap set rocketchat-server port=4000sudo snap set rocketchat-server mongo-url=mongodb://localhost:27017/rocketchatsudo systemctl restart snap.rocketchat-server.rocketchat-server.service
Starting from release 0.73, it is possible to overwrite any rocket.chat environmental variables dropping files ending in .env
in $SNAP_COMMON directory (/var/snap/rocketchat-server/common/
), for example, you can create a file to change SMTP settings:
cat /var/snap/rocketchat-server/common/overwrite-smtp.envOVERWRITE_SETTING_SMTP_Host=my.smtp.server.com
Remember to restart rocket.chat service after creating .env files:
sudo systemctl restart snap.rocketchat-server.rocketchat-server.service
More than one .env file is allowed, and more than one environmental variable defined per file is allowed.