• Tallinn09.19
  • Ljubljana08.19
  • Novi Sad08.19

Af Iva Seleš

Vil du tale om, hvad det betyder for din virksomhed?Book et møde

Open source teamkommunikation i stor skala: at drive Mattermost selv

hands typing a message on a phone in a dark room

Med få års mellemrum kigger en virksomhed på sin Slack-regning, lægger prisen per bruger sammen, opdager at ti års intern samtale ligger i en andens database i en anden jurisdiktion, og spørger sig selv, om der findes en anden vej. Det gør der. Mattermost er det mest troværdige selvhostede svar, og det har den været længe.

Det er også det værktøj, der oftest bliver misforstået inden udrulningen, fordi den gratis udgave, man tror man får, sjældent er den, man ender med at drive. Denne guide handler om, hvad Mattermost faktisk er, hvad gratisversionen reelt indeholder, og de tre driftsproblemer, der rammer næsten alle, der hoster den for første gang.

Hvad Mattermost er

En Go-server, en PostgreSQL-database, en React-webklient og native desktop- og mobilapps. Kanaler, tråde, fildeling, søgning, slash-kommandoer, indgående og udgående webhooks, bots og et plugin-framework. Har man brugt Slack, er man produktiv på en eftermiddag, og det er alle andre også, hvilket vejer tungere end nogen funktionsliste, når man beder en hel virksomhed om at flytte.

Rundt om den kerne ligger Playbooks til checklistedreven hændelses- og procesarbejde, og Calls til lyd, video og skærmdeling. Siden v11.0 kræver Playbooks en af de kommercielle udgaver (den gratis Entry-udgave tæller med). Integrationskataloget dækker de sædvanlige mistænkte: GitLab, GitHub, Jira, Jenkins, PagerDuty. Det er på ChatOps, produktet virkelig er stærkt, og derfor har det så stor tilslutning blandt udviklings- og driftsteams, og blandt forsvars- og myndighedsorganisationer, der slet ikke må lægge deres trafik i en kommerciel SaaS.

Det arkitektonisk vigtige er, at det hele kører på infrastruktur, du vælger. Samme princip som ved at hoste sin analytics med Matomo eller sin marketingautomatisering med Mautic. Beskederne ligger i din database, filerne i dit objektlager, og ingen kan ændre opbevaringspolitik eller pris uden at spørge dig.

Licensbilledet, sagt lige ud

Det er her, folk bliver forvirrede, så lad os være direkte.

Team Edition er open source-udgaven: gratis, binærfilen er MIT-licenseret, og de fleste selvhostere har kørt den i årevis. Du får beskeder, kanaler, tråde, søgning, integrationer, webhooks og plugin-rammeværket. Du får ikke single sign-on via SAML eller AD/LDAP, compliance-eksport, enterprise-søgning, klynger med høj tilgængelighed eller gæstekonti. Med v11.0 (oktober 2025) mistede den også single sign-on via GitLab og Playbooks, og Mattermost beskriver den nu som tænkt til små teams, hobbybrug og personligt brug, under 250 aktiverede brugere og uden behov for single sign-on (SSO).

Entry er en gratis kommerciel udgave med funktionerne fra Enterprise Advanced og begrænsninger for hele serveren. Kun de seneste 10.000 kanalbeskeder kan ses og søges i (ældre bliver liggende i databasen), der er ingen compliance-funktioner og ingen høj tilgængelighed, og support kommer kun fra fællesskabet. Mattermost nævner flere lofter, som skal træde i kraft i en kommende version: 5 aktive playbook-kørsler om måneden, opkald på 40 minutter, 10.000 push-notifikationer om måneden. Den er rettet mod teams under omkring halvtreds personer. Den er en god måde at evaluere det betalte produkt på. Den er en dårlig måde at bygge et permanent hjem til virksomhedens samtalehistorik på, fordi historikgrænsen netop rammer det, du på et tidspunkt kommer til at bekymre dig om.

Professional, Enterprise og Enterprise Advanced er de betalte niveauer. Professional tilføjer SSO, MFA og avancerede rettigheder, og Mattermost retter den mod teams på op til 250 brugere. Enterprise tilføjer AD/LDAP-synkronisering, compliance-automatisering, enterprise-søgning, høj tilgængelighed og Playbooks i skala. Enterprise Advanced tilføjer håndtering af klassificerede oplysninger, zero trust-kontroller og udrulning i lukkede netværk, og det er niveauet, hvor forsvars- og myndighedsbrugerne sidder. Mattermost offentliggør ikke længere pris per bruger, så regn med en samtale med salg.

Beslutningen var engang enklere, end niveaulisten antyder; v11 har ændret det. Under cirka 250 personer, med lokale konti og uden krav om single sign-on, klarer Team Edition stadig opgaven. Enhver form for single sign-on (SAML, AD/LDAP og nu også GitLab) betyder en kommerciel udgave: Entry så længe dens grænser passer, derefter Professional eller Enterprise. Den nødløsning, Mattermost tilbød for GitLab-login, var at blive på v10.11 extended support release, og den version nåede sin end of life den 15. august 2026. En stor organisation, eller en med krav til compliance, opbevaring eller høj tilgængelighed, bør planlægge og budgettere med Enterprise fra starten.

Opsætningen

En lille installation

For et team på nogle få snese til nogle få hundrede personer er én ordentligt dimensioneret VPS rigeligt. Mattermosts egne anbefalinger sætter én til tusind brugere til én vCPU og 2 GB RAM, hvilket er optimistisk på den måde, leverandørminimum altid er. Giv maskinen fire kerner og 8 GB, og du tænker aldrig på den igen.

Stakken består af Mattermost, PostgreSQL og en reverse proxy, der afslutter TLS. Traefik med Let's Encrypt er mindst arbejde:

services:
  mattermost:
    image: mattermost/mattermost-team-edition:release-11.7
    restart: unless-stopped
    environment:
      - MM_SQLSETTINGS_DRIVERNAME=postgres
      - MM_SQLSETTINGS_DATASOURCE=postgres://mmuser:your_secure_password@db:5432/mattermost?sslmode=disable
      - MM_SERVICESETTINGS_SITEURL=https://chat.example.com
    volumes:
      - mm_data:/mattermost/data
      - mm_config:/mattermost/config
    depends_on:
      - db

  db:
    image: postgres:16-alpine
    restart: unless-stopped
    environment:
      - POSTGRES_USER=mmuser
      - POSTGRES_PASSWORD=your_secure_password
      - POSTGRES_DB=mattermost
    volumes:
      - db_data:/var/lib/postgresql/data

volumes:
  mm_data:
  mm_config:
  db_data:

Sæt SiteURL rigtigt, før du inviterer nogen. En forkert eller manglende SiteURL ødelægger push-notifikationer, OAuth-callbacks og linkforhåndsvisninger på måder, der er irriterende at fejlfinde senere og trivielle at undgå nu.

Ét forbehold er værd at gentage, fordi leverandøren selv siger det: containere er fine til evaluering og små produktionsinstallationer, men den vej giver dig hverken klyngedrift eller høj tilgængelighed ud af boksen. Har du brug for det, så installer direkte på Linux eller brug Kubernetes-operatoren. Lås imaget til en udgivelseslinje, som den officielle Docker-vejledning anbefaler: eksemplet bruger 11.7, den aktuelle extended support release, fordi latest skifter til v12 den dag, den udkommer.

En produktionsinstallation

PostgreSQL 14 er minimum på v11. Version 12.0, planlagt til 14. oktober 2026, hæver det til PostgreSQL 15, så start på 15 eller nyere (eksemplet ovenfor bruger 16). Understøttelsen af MySQL sluttede med v11.0 i oktober 2025, så MySQL er ikke en mulighed for en ny installation. Amazon Aurora PostgreSQL er understøttet og er den fornuftige managed-løsning på AWS. Installerer du direkte på Linux, så bemærk, at v11.11 (september 2026) er den sidste version, der understøtter RHEL 7 og RHEL 8.

Læg filer i S3-kompatibelt objektlager fra dag ét. Det lokale filsystem virker og er standarden, og det er også det, der stille og roligt gør din server tilstandsbunden, dine backups enorme og din migrering smertefuld. At skifte senere betyder at flytte filer og skrive stier om. At skifte ved installationen betyder at sætte en håndfuld konfigurationsværdier.

Til høj tilgængelighed skal du bruge Enterprise-niveauet: flere applikationsnoder bag en load balancer, et delt objektlager og en database med læsereplikaer. Til søgning i skala vil du have Elasticsearch eller OpenSearch, også Enterprise. PostgreSQL-fritekstsøgning er fin til et par hundrede personer og et par millioner beskeder, og CJK-søgning virker nu som standard på PostgreSQL, hvilket tidligere var en reel grund til at købe søgetilkøbet.

De tre ting, der går galt

Alt ovenstående står i dokumentationen. Det her er de dele, folk opdager i produktion.

Push-notifikationer er ikke gratis på den måde, du forventer

Mobil push skal gennem Apples og Googles netværk, hvilket betyder, at noget skal opbevare signeringscertifikaterne. Mattermost driver en Test Push Notification Service, som virker med det samme og udtrykkeligt ikke er til produktion. Hosted Push Notification Service er produktionsudgaven, og den følger med en betalt licens.

Den tredje mulighed er at køre sin egen push proxy. Det er veldokumenteret og helt gennemførligt, men det indebærer at bygge og distribuere sin egen mobilapp med egne Firebase- og APNs-legitimationsoplysninger, og det er et forhold til app-butikkerne og en releaseproces, ikke en eftermiddag.

Beslut hvilken af de tre, før du ruller ud til telefoner, ikke efter at den første person spørger, hvorfor beskeder kun kommer, når appen er åben. Netop dette punkt vælter flere Mattermost-migreringer end noget andet.

Calls kræver mere end en port

Calls har to tilstande. Integreret tilstand kører medietjenesten inde i Mattermost-serveren og anbefales under omkring halvtreds aktive brugere. Derover vil du have rtcd, en separat tjeneste, der holder opkaldstrafikken væk fra hovedserveren og skalerer vandret. rtcd kræver Enterprise.

Uanset hvad skal klienterne nå medietjenesten over UDP på port 8443, og den port skal være åben på den maskine, der kører tjenesten. Din nginx reverse proxy videresender den ikke, for nginx ligger slet ikke i UDP-stien. Halvdelen af alle tråde om opkald, der ikke forbinder, koger ned til en firewallregel, der aldrig blev tilføjet.

På det gratis niveau skal du forvente en-til-en-opkald med tidsbegrænsning frem for ubegrænsede gruppeopkald. Er video for hele virksomheden et krav, skal det med i budgettet.

Nogen skal drive det

Den ærlige omkostningssammenligning er ikke licens mod nul. Det er licens mod infrastruktur plus den person, der patcher. Mattermost udgiver en funktionsversion hver måned (pr. 10. oktober 2026 er det 11.11, og extended support release er 11.7), af sikkerhedshensyn vil du gerne være opdateret, og opgraderinger indebærer databasemigreringer, som du bør teste et andet sted end i produktion.

For et team, der i forvejen driver egen infrastruktur, er det marginalt arbejde, og regnestykket falder klart ud. For en virksomhed med ti ansatte uden driftskapacitet kan en SaaS-regning reelt være billigere end de tabte tirsdagseftermiddage. Vær ærlig om, hvilken af de to du er.

Væk fra Slack

Mattermost har en importvej fra Slacks eksportfiler, og den virker, med forbehold, der er værd at kende på forhånd. Beskeder fra offentlige kanaler og brugere kommer godt med. Private kanaler og direkte beskeder afhænger af, hvad din Slack-plan overhovedet lader dig eksportere. Tråde, vedhæftede filer, egne emoji og integrationer kræver opmærksomhed, og noget af det skal bygges om.

Den tilgang, der virker: importer historikken som et søgbart arkiv, og behandl skiftedatoen som en ren start. At ville gengive enhver Slack-adfærd nøjagtigt er præcis, hvordan en migrering på to uger bliver til en på to kvartaler.

Kør begge dele parallelt i fjorten dage, flyt ét team først, og meld slukkedatoen offentligt ud allerede fra start. Chatmigreringer fejler socialt, ikke teknisk.

Den europæiske vinkel

For virksomheder i EU handler det ikke kun om pris. Selvhosting placerer den interne kommunikation inden for en grænse, du kontrollerer, og det ændrer flere samtaler på én gang: overførselsanalysen under GDPR, leverandørkædekontrollen under NIS2, og de suverænitetsspørgsmål, der i stigende grad dukker op i offentlige udbud, og som er hele emnet for Cloud and AI Development Act.

Intern chat er en af de tætteste ansamlinger af fortroligt materiale, en virksomhed har. Der ligger detaljer om hændelser, kundenavne, adgangsoplysninger, ingen burde have indsat, men gjorde alligevel, og enhver igangværende kommerciel forhandling. Når nogen spørger, hvor de data bor, er det noget værd at kunne svare med en region og et rack frem for en liste over underdatabehandlere.

Hvornår du skal lade være

Er I femten personer, er jeres compliancekrav lette, og vil ingen have en server på nakken, så tag SaaS-løsningen. Besparelsen dækker ikke opmærksomheden.

Har du brug for dyb integration med et økosystem, du allerede bor i, så se grundigt på, hvad du ville miste. Teams inde i en Microsoft 365-installation får en masse gratis, som du skulle bygge igen.

Og hvis drivkraften er én højtråbende persons modvilje mod en leverandør snarere end et reelt krav om pris, kontrol eller jurisdiktion, går migreringen i stå omkring tres procent udbredelse, hvilket er det værst tænkelige udfald for et kommunikationsværktøj.

Sådan kan vi hjælpe

Vi opsætter og driver selvhostet open source-infrastruktur for virksomheder i Europa, inklusive de uglamourøse dele: push proxies, migreringer til objektlager, opgraderingsveje og den identitetsintegration, der får en chatudrulning til at sætte sig fast.

Vil du have en Mattermost-installation, der er dimensioneret ordentligt, en Slack-migrering planlagt af nogen, der har gjort det før, eller et ærligt svar på, om selvhosting er besværet værd for dit team, så skriv til office@c9group.dev. Mere om vores infrastrukturarbejde på siden om AWS-omkostningsoptimering.

Sætter du en fuld selvhostet stak sammen, gælder samme ræsonnement for analytics og for marketingautomatisering.


Udgivet: 8. august 2026 (opdateret 10. oktober 2026) Kategorier: Samarbejde, Open Source, Privatliv

Samarbejde

Nye vejledninger og regelændringer på mail

Når en regel ændres, en frist flyttes, eller vi udgiver en ny vejledning, sender vi den på mail.

Først sender vi dig et link, så du kan bekræfte. Du kan altid afmelde dig igen. Privatlivspolitik

Vidensbase

Relaterede artikler

Se alle artikler