Upgrading from 4.3.0

"I knew I was in trouble when I started to look at docs and found that /opt/mattermost/bin contained no mattermost command… "

Due to my interest in privacy and DIY, I deployed a Mattermost server for family and friends a few years ago. These days it doesn’t play well with Safari, so I decided to look at upgrading. I determined through the UI it’s 4.3.0 or 4.3.1. As I started to read through the support docs, I found a few concerns:

  • It is clear that upgrading from such an old version will require some intermediate steps. But how many I have to step through is unclear.
  • For some reason the log says both “Enterprise Enabled: true” and “License key required to unlock enterprise features” - which I don’t have and am not using. I’m assuming that Enterprise was the only edition back when I originally installed, and that it just went into team mode if you didn’t give it a key.
  • At least one version along the upgrade path mentioned significant database changes, such that a separate db backup might be required for restoration, along with configuration, to a new installation of mattermost…

So: I want to upgrade to the latest free version for personal use. But the path is looking hard.

(I have kept the Linux server itself up to date on a fairly regular basis, but because of my original manual installation of Mattermost, apt wasn’t picking anything up for it, and by the time I realized this I decided to let it go because it was functional and I didn’t need new features. Now it has a lot of history, and I’d rather not just blow it away and install the latest.)

Preserving old messages and channel structure is the goal. Downtime is not a problem.

But my look through the docs seems to indicate that I’d need to pass through just about every version between the past and now. There are loads of “before going to version x, you must first update to version y…”

And the software has now split into more versions - I’m not sure whether it is even possible to “cross-grade” over to the Team version.

Any guidance on key steps, land mines to avoid, etc. in upgrading from such an old version would be much appreciated. As I put a plan together I’ll post it here for review, as well. Specific questions include:

  1. Do I really need to pass through at least every major version along the way?
  2. Which one (or, I fear) more upgrades are likely to be the most problematic?
  3. Any docs outside of Mattermost’s own I should be reading? Writeups of others’ experiences, etc.?
  4. Thoughts on the “getting off of ‘Enterprise’”?

Any guidance or pointers appreciated. While I do see a lot of docs on upgrading, they all seem to be version-to-version, which is a very long path at this point.

  1. Since you’re upgrading from an old version, I’d recommend this upgrade path:
    4.3.0 → v5.0 → v5.37 (last ESR for v5) → v6.0 → v6.3 (ESR, latest).

  2. The upgrades to the major versions (v5.0 and v6.0) may be most problematic. Please review the Important Upgrade Notes for each version: Important Upgrade Notes — Mattermost documentation.

Other helpful resources:

Thank you. Two questions:

  1. If I were to take the database backup over to a fresh install of Ubuntu server and Mattermost 6.3.3 and restored it and fixed the schema and just had everyone create new users, would the older material be visible? Since this is literally just a family/friends thing, I don’t have to maintain any integrations or even persist identity. We just want to have the old discussion history and pictures and stuff. It doesn’t have to remain editable by post owners, etc.

  2. I have the database backup already, but am unsure where files - like images posted in channels - are stored. The database seems too small to possibly contain them.

My current plan is to try your path. I took Ubuntu from 16.04 to 18.04 last night.