Mattermost, but more.
Group calls, video, recording, transcription and SSO, on your own server.
- Every call feature, unlocked. Group calls, group video, recording and transcription. Stock Mattermost stops you at two people.
- SSO, guests, and no user cap. Real OIDC single sign-on, guest accounts, and the 250 user limit gone.
- Free and open source. AGPL-3.0, built in the open, and reversible in two minutes.
Mattermost open sourced this software, then put parts of it behind a licence. Mattermore turns those parts back on.
Free and AGPL-3.0. Run the image, or upload just the plugin. Either way, reversible.
Read by GroupCallsAllowed() upstream, in every released version of the plugin.
What you get
Same software underneath. Follow any row for the detail.
One image, everything on. The Mattermore server image ships with the calls plugin already prepackaged and the switches set, so running it is the whole installation. Already have Mattermost and would rather not replace it? The calls plugin is a separate download you upload in two minutes.
| On a self-hosted server, no paid licence | Mattermost free | Mattermore |
|---|---|---|
| One-to-one audio calls | Included | Included |
| Screen sharing | Included | Included |
| Group audio calls in any channel | Needs Professional | Included |
| Group video calls | Direct messages only | Included |
| Call recording | Needs Enterprise | Included |
| Transcription, on your own hardware | Needs Enterprise | Included |
| Single sign-on with any OIDC provider | Needs Professional | Included |
| Guest accounts | Needs Professional | Included |
| Per-channel moderation | Needs Professional | Included |
| Users on one server | 250, by licence | Whatever your hardware handles |
| Message history | 10,000 on Entry | All of it |
How it works
Nothing hidden. Check every piece against upstream source before trusting it.
Upstream already ships the switch
Group calls are gated by one function, which also reads an environment variable Mattermost added themselves. The file carries the Source Available Licence and is never patched; the AGPL package it calls is. The full position.
func (e *LicenseChecker) GroupCallsAllowed() bool return e.isAtLeastProfessionalLicensed() ||
os.Getenv("MM_CALLS_GROUP_CALLS_ALLOWED") == "true"The bundle keeps upgrades from undoing it
Calls ships prepackaged, and the server reinstalls its own copy over yours when the version is higher. Mattermore versions itself above anything Mattermost ships, so a routine upgrade cannot quietly undo it.
# upstream.env
UPSTREAM_TAG=v1.12.3
MATTERMORE_VERSION=1000.12.3Where nothing exists, we write it
Single sign-on was not a check to remove: Mattermost keeps its OIDC provider private, so Team Edition answers logins with a 501. Mattermore contributes one instead. Our code, AGPL, works with Keycloak, Authentik, Entra or Cloudflare Access.
// server/channels/app/oauthproviders/openid
func (p *OpenIDProvider) GetSSOSettings(
rctx request.CTX,
cfg *model.Config,
service string,
) (*model.SSOSettings, error)Upstream fixes arrive by bumping one line
Patches against a pinned tag, not a diverged branch. A daily job watches upstream and checks the patches still apply, so a security fix is a one-line change rather than a merge.
# pick up a new upstream release
./scripts/check-upstream.sh
./scripts/build.shWhat to know before you install
The honest list, before you install rather than after.
Recording and transcription need a second service
They run as jobs in separate containers, so you also need
calls-offloaderwith Docker access. The self-host guide includes it. Transcription then runs on your own hardware.Group video is new
Upstream renders one remote participant. Mattermore rewrites that into a real grid, verified with three cameras in one call. It is far newer than the audio path, so try it before you depend on it.
Past about 50 people, you need rtcd
That is the ceiling for calls handled in the plugin. Mattermore unlocks
rtcd, which is AGPL and free to run, but it is another service to operate.No support contract, no warranty
A volunteer fork under the AGPL. If calls are load-bearing for you, buying Professional is a fair answer and funds the upstream work.
Keep the official apps
Mattermore changes your server, not your clients.
The official apps connect to a Mattermore server unchanged, and group calls work in them. The mobile apps read the same capability your server reports, so the phone agrees.
- WindowsInstaller, 6.3.0
- macOSDisk image, 6.3.0
- LinuxDebian and Ubuntu, 6.3.0
- iPhone and iPadApp Store
- AndroidGoogle Play
Arm builds, AppImage and tarballs are in the release list.
Questions
Why can't I make group calls on self-hosted Mattermost?
The free edition gives every server one-to-one audio calls with screen sharing. The moment a third person joins, the plugin refuses. That refusal is a licence check in the calls plugin, not a limitation of the media stack, which is why one boolean is enough to change it.
Is this legal to run and to distribute?
Mattermore changes AGPL-3.0 code and publishes its changes under the same licence, which is what the AGPL is for. It does not modify or redistribute any file under the Mattermost Source Available Licence, and it enables group calls through an environment variable that upstream ships in every released version.
Framasoft's Mostlymatter has taken the same approach with the Mattermost server since 2024.
Will a Mattermost upgrade remove it?
No. The server replaces an installed plugin with its prepackaged copy only when the prepackaged version is strictly higher, and Mattermore versions itself above anything upstream ships. If you would rather belt and braces it, set AutomaticPrepackagedPlugins to false.
Can I go back to official Calls?
Yes, in about two minutes. Mattermore keeps the plugin id com.mattermost.calls, so it is a drop-in replacement. Remove it, reinstall Calls, and your configuration is untouched either way.
Does this work with Mattermost Cloud?
No. Cloud servers do not let you upload plugins or set server environment variables. Mattermore is for self-hosted installations only.
Am I taking something from Mattermost?
Worth asking honestly. Mattermost open-sourced this code under the AGPL and added the environment variable themselves, so neither the licence nor the switch is being worked around. That said, if your organisation can afford Professional, buying it funds the upstream work that makes a fork like this possible at all.
Two steps, five minutes
One environment variable, one plugin upload. Reversible, and it never touches your database.