Guide for updating Mattermost?

Hello! I am going to try to update the pair of Mattermost installs I have. I realize that the standard upgrade instructions won’t apply re docker, and I’ve read through the Forums and @kfitz issues with config overwrite. Is there a guide for updating a Docker install of Mattermost, on Reclaim or elsewhere? I’m coming up short. Thanks

Hi @jpooley. I’d been wrestling with trying to upgrade a Mattermost instance in Reclaim Cloud, and think I’ve cracked the code. First thing to note is that my instance is not set up through the current Marketplace install, but through the old import version, so you may need to modify what worked for me for your own configuration.

My installation was tracking the mattermost-docker Github repo. The problem I’d been having was that I’d go through the steps to upgrade that had worked in the past –

docker-compose down
git pull
docker-compose build
docker-compose up -d

– and it would appear as though everything had gone as it should, but then when I’d restart Mattermost it would turn out that it hadn’t updated at all. I tried all manner of changing branches, to no end.

This morning I figured out that at least part of the problem was the version I was running (5.31.0) was installed with postgresql 9.4, which has now been deprecated. So postgres needs an update, and then Mattermost.

I followed the instructions in this post, but in step 8, updated /app/Dockerfile to 5.33.3 instead of 5.32.1. It was wayyyyy slower than that post suggested, but it ultimately worked. And once I reloaded and saw that I was successfully updated to 5.33.3, I took docker down and started at step 8 again, edited /app/Dockerfile to 5.34.1, and then to 5.35.0, and am now fully up to date.

I hope that helps – good luck with it!

Thanks so much, truly! I will try this out, and post how it went, and with any notes on the Marketplace install differences.

I am bumping this one up again, as the method that @kfitz has used (thanks again!) doesn’t work for a Marketplace install. When I recently contacted the always excellent Reclaim support, their advice was to use the standard Mattermost update instructions, which, however, don’t work in the Reclaim Cloud Alpine environment. Flagging @jimgroom and @timmmmyboy here, since I’m expecting that others have or will face this update issue, given Mattermost’s popularity and the ease of Marketplace installation.

Hi there, I just wanted to add here that we’re continuing to work through a solution for you. We’ve tried a few methods and will work towards another one. We’ll be sure to post the solution in this thread as well.

Thanks so much for the patience here!

Final update here! Since the Mattermost installation is running a docker container, the manual upgrade instructions won’t be necessary. We were able to get the application updated by following this process:

The test environment was running v 5.32.0

First, click on the Change Environment Topology button on the environment’s entry in my Reclaim Cloud Dashboard.

And then click the version.

And selected the highest tag. It does look like the latest tag itself is a bit out of date, and the highest version of our installer is behind the most recent version available, however, our software vendor does release updates to the installer after a while. The highest version we currently have with the installer is 5.33.3, while the highest version to date appears to be 5.35x.
​​

Once the redeploy was finished, open up Web SSH and run the mention command ( apk add libcap && setcap 'cap_net_bind_service=+ep' /mattermost/bin/mattermost && reboot ), and give it a second to reboot.

​​

And then the Mattermost install was running v 5.33.3

​​

Then there were issues with it being unable to bind to port 80. This article will be able to help: How to solve the "listen tcp :80: bind: permission denied" error in Docker

The “server” here is just a docker container, but the user only has access within the docker container, not outside it, so they can’t run the docker up/compose/etc. It’s running alpine Linux, you’ll want to make sure to follow those instrcutrions. Running the below command allowed the service to bind to port 80.

apk add libcap && setcap ‘cap_net_bind_service=+ep’ /mattermost/bin/mattermost && reboot

In this test, a message was sent in a test channel, and it persisted after the redeploys. And it looks like the settings persist as well, however, there may be some unforeseen changes with the redeploy.

Please let us know if you have any questions or if you run into any issues performing the upgrade. We can roll back to a backup if there are issues.