How to switch from Mattermost Entry to the Team Edition on Ubuntu

It’s a bit sad to write this post. Mattermost has long been a solid, self-hosted chat platform I enjoyed using, but the update to version 11 brought some unwelcome changes. Suddenly, the free edition comes with strict message limits, nudging users toward a paid plan. There’s almost no official guidance on how to continue using the open-source Team Edition — it’s practically hidden away. It feels like Mattermost is trying to gently push users to pay, instead of giving transparent options.

From what I’ve seen in Reddit discussions and other forums, many users were caught completely off guard by this update. The lack of clear information seems to have made people reconsider their options — some are even exploring alternatives.

For those who still want to stick with the Team Edition, here’s a step-by-step guide based on how I managed the switch on Ubuntu 24.04. This should work the same on other distributions as well but you might have to change some paths depending on the installation defaults.

Step 1: Stop the Mattermost Service

Before making any changes, make sure Mattermost is not running:

sudo systemctl stop mattermost

This prevents any corruption of files while upgrading.

Step 2: Backup Your Current Installation

Always create a full backup of your current Mattermost installation. This gives you a safety net if anything goes wrong:

sudo cp -ra /opt/mattermost /opt/mattermost-backup

I recommend backing up twice — once here, and later after the upgrade as well.

Step 3: Download the Latest Team Edition

Change the directory to /tmp:

cd /tmp

Head over to the Mattermost version archive and grab the Team Edition tarball. For example, for v11.4.0 at the time of this blog post:

wget https://releases.mattermost.com/11.4.0/mattermost-team-11.4.0-linux-amd64.tar.gz

Step 4: Extract the New Files

I like to extract the tarball in a way that keeps it separate from my current installation:

tar -xf mattermost*.gz --transform='s,^[^/]\+,\0-upgrade,'

This creates a directory /tmp/mattermost-upgrade with the new version, leaving your old installation untouched for now.

Step 5: Clean Old Files But Keep Persistent Data

Change the directory to your install directory – in my case /opt

cd /opt

Mattermost stores configuration, uploaded files, plugins, logs, and the client directory in specific folders that must not be overwritten. To remove the old server files safely while keeping everything important:

sudo find mattermost/ mattermost/client/ -mindepth 1 -maxdepth 1 \
  ! \( -type d \( -path mattermost/client -o -path mattermost/client/plugins -o -path mattermost/config -o -path mattermost/logs -o -path mattermost/plugins -o -path mattermost/data \) -prune \) \
  | sort | sudo xargs rm -r

This removes the old binaries and assets that will be replaced, but leaves your configuration, plugins, logs, and uploaded files intact.

Step 6: Copy the Team Edition Files Into Place

Now, copy the new Team Edition files over your installation:

cp -an /tmp/mattermost-upgrade/. /opt/mattermost/

The -a preserves permissions, and -n prevents overwriting existing files (like your configuration and uploaded data).

Step 7: Start Mattermost and Check Everything

After copying, start the Mattermost service:

sudo systemctl start mattermost

Reload your web client and make sure everything works as expected. At this point, you’re running the Team Edition — fully open source, with no message limits.

Step 8: Backup Your New Installation

Once everything is confirmed working, make a backup of your fresh Team Edition setup:

sudo cp -ra /opt/mattermost /opt/mattermost-11-team

Step 9: Remove the Old Package and Repository

Since the official Mattermost package installs the commercial Entry edition, remove it and the repository:

sudo apt remove mattermost
sudo rm /etc/apt/sources.list.d/mattermost.list

Note: This may remove the mattermost system user and group, so check your user and group IDs and recreate them if needed:

groupadd -g 123 mattermost
useradd -u 116 -g 123 -m -s /bin/bash mattermost

Replace 123 and 116 with the IDs used previously in /opt. Also check the screenshot to see how to find out the IDs.

Mattermost user group id example

Step 10: Restore Your Systemd Service

If the package removed the service file, restore it from your backup:

sudo cp /home/marc/mattermost.service.bak /lib/systemd/system/mattermost.service
sudo systemctl daemon-reload
sudo systemctl enable mattermost
sudo systemctl start mattermost

Now Mattermost will continue to start automatically at boot, just like before.

Conclusion

This process may seem a bit involved, but it’s actually very manageable. The key points:

  • Backup first
  • Extract the Team Edition carefully
  • Keep configuration, uploaded data, and plugins
  • Recreate system user and service if the package removal deletes them

You now have a fully functional Mattermost Team Edition, open-source and free, running on Ubuntu, without the limitations imposed by the Entry edition.

It’s unfortunate that Mattermost made this process non-obvious, but at least there’s a path for those of us who prefer to stick with open-source software. Hopefully, sharing this guide makes it easier for others facing the same surprise update.