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.

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.
