Odprtokodno timsko sporočanje v velikem obsegu: Mattermost v lastni režiji

Vsakih nekaj let kakšno podjetje pogleda svoj račun za Slack, sešteje strošek na uporabnika, opazi, da desetletje internih pogovorov leži v tuji podatkovni bazi in v tuji jurisdikciji, in se vpraša, ali obstaja druga pot. Obstaja. Mattermost je najbolj verodostojen odgovor v lastni režiji, in to je že kar nekaj časa.
Hkrati je to orodje, ki ga pred uvedbo najpogosteje narobe razumejo, saj brezplačna izdaja, ki jo ljudje mislijo, da dobivajo, običajno ni tista, ki jo na koncu poganjajo. Ta vodnik govori o tem, kaj Mattermost v resnici je, kaj brezplačna različica dejansko vključuje in katere tri operativne težave doletijo skoraj vsakogar, ki ga prvič gosti sam.
Kaj je Mattermost
Strežnik v Go, podatkovna baza PostgreSQL, spletni odjemalec v Reactu ter izvorne namizne in mobilne aplikacije. Kanali, niti, deljenje datotek, iskanje, poševniški ukazi, dohodni in odhodni webhooki, boti in ogrodje za vtičnike. Kdor je uporabljal Slack, bo produktiven v enem popoldnevu, in vsi drugi tudi, kar šteje več kot katerikoli seznam funkcij, ko celotno podjetje prosite, naj se preseli.
Okrog tega jedra so Playbooks za delo z incidenti in procesi po kontrolnih seznamih ter Calls za zvok, video in deljenje zaslona. Katalog integracij pokriva običajne osumljence: GitLab, GitHub, Jira, Jenkins, PagerDuty. Prav pri ChatOps je izdelek zares močan in prav zato ima toliko privržencev med razvojnimi in operativnimi ekipami ter med obrambnimi in javnimi organizacijami, ki svojega prometa sploh ne smejo dati v komercialni SaaS.
Arhitekturno pomembno dejstvo je, da vse to teče na infrastrukturi, ki jo izberete vi. Isto načelo kot pri gostovanju analitike z Matomom ali avtomatizaciji trženja z Mautic. Sporočila so v vaši bazi, datoteke v vaši objektni hrambi, in nihče ne more spremeniti politike hrambe ali cene, ne da bi vas vprašal.
Licenčna slika, povedano naravnost
Tu nastane največ zmede, zato bodimo neposredni.
Team Edition je odprtokodna. Licenca MIT, brezplačna, brez omejitve števila uporabnikov, in to je tista, ki jo večina samostojnih gostiteljev dejansko poganja. Dobite sporočanje, kanale, niti, iskanje, integracije, webhooke in ogrodje za vtičnike. Ne dobite enotne prijave prek SAML ali AD/LDAP, izvoza za skladnost, iskanja razreda enterprise, gruče visoke razpoložljivosti ali gostujočih računov.
Entry je brezplačna komercialna izdaja. Odklene napreden nabor funkcij, a vas omeji: zgodovina sporočil je omejena, število izvedb playbookov je omejeno, podpora je le skupnostna, ciljna skupina pa so ekipe pod približno petdesetimi ljudmi. Kot način za oceno plačljivega izdelka je to dobro. Kot način za trajen dom zgodovine pogovorov podjetja je slabo, saj se omejitev zgodovine nanaša natanko na tisto, kar vas bo sčasoma zanimalo.
Professional, Enterprise in Enterprise Advanced so plačljive stopnje. Professional doda SSO, MFA in napredna dovoljenja. Enterprise doda sinhronizacijo AD/LDAP, avtomatizacijo skladnosti, iskanje enterprise, visoko razpoložljivost in Playbooks v obsegu. Enterprise Advanced doda ravnanje z zaupnimi informacijami, kontrole ničelnega zaupanja in namestitev v izoliranih omrežjih, in to je stopnja, na kateri so uporabniki iz obrambe in uprave. Mattermost cene na uporabnika ne objavlja več, zato računajte na pogovor s prodajo.
Odločitev, pred katero je večina ekip, je preprostejša, kot nakazuje seznam stopenj. Če potrebujete SAML proti svojemu ponudniku identitete, boste plačali. Če lahko živite z lokalnimi računi ali GitLab OAuth, bo Team Edition ponesla presenetljivo veliko organizacijo.
Postavitev
Majhna namestitev
Za ekipo od nekaj deset do nekaj sto ljudi en sam spodobno odmerjen VPS resnično zadošča. Mattermostova navodila za enega do tisoč uporabnikov navajajo en vCPU in 2 GB RAM, kar je optimistično tako, kot so proizvajalčevi minimumi vedno. Dajte stroju štiri jedra in 8 GB in nanj ne boste več pomislili.
Sklad sestavljajo Mattermost, PostgreSQL in obratni posredniški strežnik, ki zaključi TLS. Traefik z Let's Encrypt je najmanj dela:
services:
mattermost:
image: mattermost/mattermost-team-edition:latest
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:
Pravilno nastavite SiteURL, preden koga povabite. Napačen ali manjkajoč SiteURL pokvari potisna obvestila, povratne klice OAuth in predoglede povezav na način, ki je kasneje nadležen za razhroščevanje in zdaj trivialen za izogib.
En pridržek velja ponoviti, ker ga izreče tudi proizvajalec: vsebniki so v redu za ocenjevanje in za majhne produkcijske namestitve, a ta pot vam ne da gručenja ali visoke razpoložljivosti sama po sebi. Če ju potrebujete, namestite neposredno na Linux ali uporabite operator Kubernetes.
Produkcijska namestitev
PostgreSQL 14 ali novejši. Podpora za MySQL se od v11 opušča, zato če nekaj postavljate zdaj, ne začenjajte z MySQL. Amazon Aurora PostgreSQL je podprta in je razumna upravljana možnost na AWS.
Datoteke od prvega dne dajte v objektno hrambo, združljivo s S3. Lokalni datotečni sistem deluje in je privzet, in je tudi tisto, kar tiho veže stanje na vaš strežnik, napihne varnostne kopije in naredi selitev bolečo. Menjava kasneje pomeni premikanje datotek in prepisovanje poti. Menjava ob namestitvi pomeni nastavitev peščice vrednosti v konfiguraciji.
Za visoko razpoložljivost potrebujete stopnjo Enterprise: več aplikacijskih vozlišč za izravnalnikom obremenitve, skupno objektno hrambo in bazo z bralnimi replikami. Za iskanje v obsegu boste želeli Elasticsearch ali OpenSearch, prav tako Enterprise. Polnobesedilno iskanje v PostgreSQL zadošča za nekaj sto ljudi in nekaj milijonov sporočil, iskanje CJK pa zdaj privzeto deluje na PostgreSQL, kar je bil nekoč resničen razlog za nakup dodatka za iskanje.
Tri stvari, ki gredo narobe
Vse zgoraj piše v dokumentaciji. To so deli, ki jih ljudje odkrijejo v produkciji.
Potisna obvestila niso brezplačna tako, kot pričakujete
Mobilni potisk mora skozi omrežji Appla in Googla, kar pomeni, da mora nekaj hraniti podpisne certifikate. Mattermost poganja Test Push Notification Service, ki deluje takoj in ki izrecno ni za produkcijo. Hosted Push Notification Service je produkcijski in pride s plačljivo licenco.
Tretja možnost je lasten potisni posrednik. Je dobro dokumentirana in povsem izvedljiva, a pomeni, da zgradite in razdelite svojo mobilno aplikacijo z lastnimi poverilnicami Firebase in APNs, kar je odnos s trgovinami z aplikacijami in postopek izdaje, ne eno popoldne.
Odločite se za eno od treh, preden uvedete orodje na telefone, in ne potem, ko prva oseba vpraša, zakaj sporočila prihajajo samo, kadar je aplikacija odprta. Ta ena točka podre več selitev na Mattermost kot karkoli drugega.
Calls potrebuje več kot vrata
Calls ima dva načina. Vgrajeni način poganja medijsko storitev znotraj strežnika Mattermost in je priporočen pod približno petdesetimi aktivnimi uporabniki. Nad tem boste želeli rtcd, ločeno storitev, ki medijski promet drži stran od glavnega strežnika in se skalira vodoravno. rtcd zahteva Enterprise.
V obeh primerih morajo odjemalci doseči medijsko storitev prek UDP na vratih 8443, in ta vrata morajo biti odprta na gostitelju, ki to storitev poganja. Vaš obratni posrednik nginx jih ne bo posredoval, ker nginx sploh ni na poti UDP. Polovica niti tipa »klici se ne vzpostavijo« se zvede na pravilo požarnega zidu, ki ni bilo nikoli dodano.
Na brezplačni stopnji pričakujte klice ena na ena s časovno omejitvijo namesto neomejenih skupinskih klicev. Če je video za celotno podjetje zahteva, jo ovrednotite.
Nekdo ga mora voditi
Poštena primerjava stroškov ni licenca proti nič. Je licenca proti infrastrukturi plus oseba, ki jo krpa. Mattermost izdaja pogosto, iz varnostnih razlogov boste želeli ostati na tekočem, nadgradnje pa prinašajo selitve baze, ki jih je bolje preizkusiti nekje, kar ni produkcija.
Za ekipo, ki tako ali tako vodi lastno infrastrukturo, je to obrobno delo in račun izide prepričljivo. Za desetčlansko podjetje brez operativne zmogljivosti je lahko SaaS račun res cenejši od izgubljenih torkovih popoldnevov. Bodite iskreni, kateri od obeh ste.
Odhod s Slacka
Mattermost ima pot uvoza iz Slackovih izvoznih datotek in ta deluje, s pridržki, ki jih velja poznati vnaprej. Sporočila iz javnih kanalov in uporabniki se prenesejo dobro. Zasebni kanali in neposredna sporočila so odvisni od tega, kaj vam vaš Slackov paket sploh dovoli izvoziti. Niti, priponke, lastni emodžiji in integracije zahtevajo pozornost, nekatere pa je treba zgraditi znova.
Pristop, ki deluje: zgodovino uvozite kot arhiv, po katerem je mogoče iskati, datum preklopa pa obravnavajte kot čist začetek. Poskus, da bi vsako Slackovo vedenje preslikali do potankosti, je način, kako dvotedenska selitev postane dvočetrtletna.
Oba sistema pustite teči vzporedno kakšna dva tedna, najprej preselite eno ekipo in datum izklopa javno določite že na začetku. Selitve klepetalnih orodij propadejo socialno, ne tehnično.
Evropski zorni kot
Za podjetja v EU tu ne gre samo za strošek. Gostovanje v lastni režiji postavi interno komunikacijo znotraj meje, ki jo nadzorujete vi, in to hkrati spremeni več pogovorov: analizo prenosov po GDPR, pregled dobavne verige po NIS2 in vprašanja suverenosti, ki se vse pogosteje pojavljajo v javnem naročanju in so celotna tema Cloud and AI Development Act.
Interni klepet je ena najgostejših zgostitev zaupnega gradiva, kar jih podjetje ima. V njem so podrobnosti incidentov, imena strank, poverilnice, ki jih nihče ne bi smel prilepiti, pa jih je, in vsako tekoče poslovno pogajanje. Ko kdo vpraša, kje ti podatki živijo, je nekaj vredno, da lahko odgovorite z regijo in omaro namesto s seznamom podobdelovalcev.
Kdaj se ne splača
Če vas je petnajst, so vaše zahteve glede skladnosti lahke in nihče noče skrbeti za strežnik, vzemite SaaS. Prihranek ne bo pokril pozornosti.
Če potrebujete globoko povezavo z ekosistemom, v katerem že živite, dobro poglejte, kaj bi izgubili. Ekipe znotraj okolja Microsoft 365 dobijo zastonj marsikaj, kar bi morali graditi znova.
In če je gonilo odpor ene glasne osebe do ponudnika namesto resnične zahteve glede stroška, nadzora ali jurisdikcije, se bo selitev zataknila pri kakšnih šestdesetih odstotkih uporabe, kar je za komunikacijsko orodje najslabši možni izid.
Kako lahko pomagamo
Postavljamo in vodimo odprtokodno infrastrukturo v lastni režiji za podjetja, ki delujejo v Evropi, vključno z nehvaležnimi deli: potisnimi posredniki, selitvami v objektno hrambo, potmi nadgradnje in tisto povezavo z identiteto, zaradi katere uvedba klepeta sploh zaživi.
Če želite namestitev Mattermosta, odmerjeno kot je treba, selitev s Slacka, ki jo načrtuje nekdo, ki jo je že izpeljal, ali pošten odgovor, ali se lastno gostovanje vaši ekipi izplača, pišite na office@c9group.dev. Več o našem delu z infrastrukturo na strani o optimizaciji stroškov AWS.
Če sestavljate celoten sklad v lastni režiji, isto razmišljanje velja za analitiko in za avtomatizacijo trženja.
Objavljeno: 8. avgust 2026 Kategorije: Sodelovanje, Odprta koda, Zasebnost