Download old versions of Rocket.Chat Server

Hi there,

I’m looking for an older version of Rocket.Chat Server, without having the task to build it.
In installing instructions there is only the path to “latest”.

Sorry for this question, but I have somehow tomatos on my eyes for two days now…

Christian

1 Like

There doesn’t seem to be a way to do this, which is frustrating since you can’t get all of the schema changes if you are really far behind.

Edit: I just figured it out!

I know this is over a year old, but you can use the same URL that is used to download the latest but substitute the version you want, e.g.:

curl -L https://releases.rocket.chat/3.7.0/download -o /tmp/rocket-3.7.0.chat.tgz

This would get you version 3.7.0 server bundle. Substitute the number with the version you want.

2 Likes

I’ve had to do something similar recently when upgrading my app from version 0.57 to the latest version. You can pull every version of Rocket.Chat through the releases page as mentioned above

curl -L https://releases.rocket.chat/3.7.0/download -o /tmp/rocket-3.7.0.chat.tgz

If you want to apply the migrations from a specific version to your database, you have to manually start each version of Rocket.Chat until your version reaches whatever version you’re targeting. you also need to build the app using whatever node/npm versions the application was running when it was released. It’s a pretty long and manual process, but I was able to script it out so that the entire process only took a few hours (for context, I had to jump 55 versions…)

I understand a lot of persons don’t like or know Docker…

BUT you can speed up this process A LOT using it.

For instance, older versions of Rocket.Chat is also built with docker and available here:
https://hub.docker.com/_/rocket-chat?tab=tags&page=1&ordering=-last_updated

To add to what @Stephan said, I wrote a quick and dirty script to automate the upgrade thru various versions.

I first check the version release notes at:

… to be sure I have the right Node/NPM/DB versions.I then use a script to download, extract, stop services, do an NPM audit/fix for vulnerabilities, install, and restart the service.

Script below is for RHEL/CentOS 8 systems. You can remove the read/pause statements, I only had them really when I first wrote it to debug. Just pass the version you want to install as an argument to the script e.g.
sudo ./rc-update 3.11.1

Note this assumes you installed in /opt/Rocket.Chat and you are downloading with the root account into /root/downloads/rocketchat and that you have a user & group you run the service as named rocketchat Change paths as necessary or even change it to run as a user and only sudo the parts that need root.

Also, it renames the old versions in the directory and you can delete them after you confirm it’s working.

#!/bin/sh

mkdir -p /root/downloads/rocketchat/$1
cd /root/downloads/rocketchat/$1

echo "Stopping rocketchat.service"

systemctl stop rocketchat.service

read -p "Press any key to backup MongoDBs ..."

mongodump -o /root/backup/dump-before-$1

echo "Dump complete."

read -p "Press any key to download and extract RocketChat $1 ..."

curl -L https://releases.rocket.chat/$1/download -o rocketchat-$1.tgz

tar zxf rocketchat-$1.tgz

echo "Download complete and extracted."

read -p "Press any key to prepare the server bundle ..."

cd bundle

(cd programs/server && npm install)

(cd programs/server && npm audit fix)

cd ..

echo $pwd

echo "Finished processing the bundle."

read -p "Press any key to copy the RocketChat $1 bundle to /opt/Rocket.Chat (prior version will be archived) ..."

mv /opt/Rocket.Chat /opt/Rocket.Chat.before-$1

mv bundle /opt/Rocket.Chat

chown -R rocketchat:rocketchat /opt/Rocket.Chat

read -p "Press any key to start the rocketchat.service..."

systemctl start rocketchat.service
1 Like