Backup and restore or migrate a Snap based installation of Rocket.Chat

This is a simple tutorial to backup and restore, or backup and migrate a Snap based installation of Rocket.Chat.

Stop the Rocket.Chat server

First you'll need to stop the Rocket.Chat server.

service snap.rocketchat-server.rocketchat-server stop

Note that we're only stopping the rocketchat-server service, not the MongoDB service, which should still be running. Check with -

service snap.rocketchat-server.rocketchat-mongo status | grep Active
Active: active (running) (…)

Create a backup.

snap run rocketchat-server.backupdb

You should see output similar to this -

[+] A backup of your data can be found at /var/snap/rocketchat-server/common/backup/rocketchat_backup_<timestamp>.tar.gz

Download that backup file over SFTP for instance, or transfer it to the server you're migrating your Rocket.Chat installation to.

Your Rocket.Chat server will still be stopped at this point, so if you just wanted to create a backup for your existing installation, you can start the server back up with -

service snap.rocketchat-server.rocketchat-server start

Migrate (or restore) from backup

Now if we're going to migrate our Rocket.Chat installation, on the server we're migrating the installation to, you'll want to have already installed Rocket.Chat as a Snap. Once done upload the *.tar.gz backup file from earlier to /var/snap/rocketchat-server/common/ on the destination server.

Once again, stop the rocketchat-server service, but not the MongoDB service -

service snap.rocketchat-server.rocketchat-server stop

service snap.rocketchat-server.rocketchat-mongo status | grep Active
Active: active (running) (…)

Restore using the *.tar.gz backup that we created -

snap run rocketchat-server.restoredb /var/snap/rocketchat-server/common/rocketchat_backup.tgz

* 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)>


[*] Extracting backup file...
[*] Restoring data...
[*] Preparing database...
[+] Restore completed! Please restart the snap.rocketchat services to verify.

Start the Rocket.Chat server at this point, and your installation will now be running based on the Rocket.Chat Snap backup that was performed!

service snap.rocketchat-server.rocketchat-server start

This article was updated on October 3, 2021