Autors: Iva Seleš

Atvērtā koda komandas saziņa lielā mērogā: Mattermost savā infrastruktūrā

rokas tumšā telpā raksta ziņu telefonā

Ik pēc dažiem gadiem uzņēmums paskatās uz Slack rēķinu, saskaita izmaksas par katru lietotāju, pamana, ka desmit gadu iekšējās sarakstes glabājas kāda cita datubāzē citā jurisdikcijā, un jautā, vai nav cita ceļa. Ir. Mattermost ir pārliecinošākā atbilde tiem, kas vēlas sistēmu uzturēt paši, un tā tas ir jau kādu laiku.

Tas ir arī rīks, ko pirms ieviešanas visbiežāk pārprot, jo bezmaksas versija, kuru cilvēki domā saņemam, parasti nav tā, ar kuru viņi beigās strādā. Šajā rokasgrāmatā skaidrojam, kas Mattermost patiesībā ir, ko bezmaksas versija patiešām ietver, un trīs ekspluatācijas problēmas, kurām uzduras gandrīz katrs, kas to uzstāda pirmo reizi.

Kas ir Mattermost

Go serveris, PostgreSQL datubāze, React tīmekļa klients un vietējās lietotnes datoriem un mobilajām ierīcēm. Kanāli, pavedieni, failu koplietošana, meklēšana, slīpsvītras komandas, ienākošie un izejošie tīmekļa āķi (webhooks), boti un spraudņu ietvars. Ja esat lietojis Slack, pēcpusdienas laikā strādāsiet produktīvi, tāpat kā visi pārējie, un tas ir svarīgāk par jebkuru funkciju sarakstu, ja lūdzat pāriet visam uzņēmumam.

Ap šo kodolu ir Playbooks, ar kontrolsarakstiem vadīts incidentu un procesu darbs, un Calls audio, video un ekrāna kopīgošanai. Kopš v11.0 Playbooks prasa kādu no komerciālajām versijām (der arī bezmaksas Entry versija). Integrāciju katalogā ir ierastie: GitLab, GitHub, Jira, Jenkins, PagerDuty. ChatOps ir joma, kurā produkts ir patiešām spēcīgs, tāpēc tam ir tik daudz piekritēju izstrādes un ekspluatācijas komandās, kā arī aizsardzības un valsts sektora organizācijās, kas savu datplūsmu komerciālā SaaS vispār nevar izvietot.

Svarīgākais arhitektūras fakts: viss darbojas jūsu izvēlētā infrastruktūrā. Tas pats princips kā analītikai ar Matomo savā infrastruktūrā vai mārketinga automatizācijai ar Mautic. Ziņas ir jūsu datubāzē, faili jūsu objektu krātuvē, un neviens nevar mainīt glabāšanas politiku vai cenu, nejautājot jums.

Licencēšana bez aplinkiem

Te cilvēki apjūk, tāpēc vērts runāt tieši.

Team Edition ir atvērtā koda versija: bezmaksas, binārais fails ar MIT licenci, un lielākā daļa pašuzturētāju to izmanto gadiem. Jūs saņemat ziņapmaiņu, kanālus, pavedienus, meklēšanu, integrācijas, tīmekļa āķus un spraudņu ietvaru. Jūs nesaņemat SAML vai AD/LDAP vienoto pierakstīšanos, atbilstības eksportu, uzņēmuma līmeņa meklēšanu, augstas pieejamības klasterizāciju un viesu kontus. Kopš v11.0 (2025. gada oktobris) tā ir zaudējusi arī GitLab vienoto pierakstīšanos un Playbooks, un Mattermost tagad to raksturo kā paredzētu mazām komandām, entuziastiem un personīgai lietošanai, ar mazāk nekā 250 aktivizētiem lietotājiem un tur, kur vienotā pierakstīšanās (SSO) nav vajadzīga.

Entry ir bezmaksas komerciālā versija ar Enterprise Advanced funkciju kopu un ierobežojumiem visam serverim. Skatīt vai meklēt var tikai jaunākās 10 000 kanālu ziņas (vecākās paliek datubāzē), nav atbilstības funkciju un augstas pieejamības, un atbalsts ir tikai no kopienas. Mattermost min vēl citus ierobežojumus, kas pēc tā teiktā stāsies spēkā kādā nākamajā laidienā: 5 aktīvas Playbook izpildes mēnesī, 40 minūšu zvani, 10 000 push paziņojumu mēnesī. Tā paredzēta komandām līdz aptuveni piecdesmit cilvēkiem. Tas ir labs veids, kā izvērtēt maksas produktu. Tas ir slikts veids, kā izveidot pastāvīgas mājas uzņēmuma sarakstes vēsturei, jo vēstures ierobežojums ir tieši tas, kas jums galu galā būs svarīgs.

Professional, Enterprise un Enterprise Advanced ir maksas līmeņi. Professional pievieno SSO, MFA un paplašinātas atļaujas, un Mattermost to piedāvā komandām līdz 250 lietotājiem. Enterprise pievieno AD/LDAP sinhronizāciju, atbilstības automatizāciju, uzņēmuma līmeņa meklēšanu, augstu pieejamību un Playbooks lielā mērogā. Enterprise Advanced pievieno klasificētas informācijas apstrādi, nulles uzticēšanās kontroles un izvietošanu izolētā tīklā (air-gapped), un tieši šajā līmenī ir aizsardzības un valsts pārvaldes lietotāji. Cenas par lietotāju Mattermost vairs nepublicē, tāpēc rēķinieties ar sarunu ar pārdošanas nodaļu.

Agrāk izvēle bija vienkāršāka, nekā liek domāt līmeņu saraksts, un v11 to mainīja. Ja jums ir mazāk par aptuveni 250 cilvēkiem, vietējie konti un nav vajadzīga vienotā pierakstīšanās, Team Edition joprojām tiek galā. Jebkura vienotā pierakstīšanās (SAML, AD/LDAP un tagad arī GitLab) nozīmē komerciālo versiju: Entry, kamēr tās ierobežojumi der, pēc tam Professional vai Enterprise. Pagaidu risinājums, ko Mattermost piedāvāja GitLab pierakstīšanās vajadzībām, bija palikt pie v10.11 paplašinātā atbalsta laidiena, un šī laidiena atbalsts beidzās 2026. gada 15. augustā. Lielai organizācijai vai tādai, kurai ir atbilstības, datu glabāšanas vai augstas pieejamības prasības, jau no sākuma jāplāno un jābudžetē Enterprise.

Uzstādīšana

Neliela izvietošana

Komandai no dažiem desmitiem līdz pāris simtiem cilvēku patiešām pietiek ar vienu labi nokomplektētu VPS. Mattermost paša ieteikumi paredz vienu vCPU un 2GB RAM no viena līdz tūkstotim lietotāju, un tas ir tikpat optimistiski kā visi ražotāju minimumi. Piešķiriet četrus kodolus un 8GB, un jums par to vairs nebūs jādomā.

Steks ir Mattermost, PostgreSQL un reversais starpniekserveris, kas nodrošina TLS. Vismazāk darba prasa Traefik ar Let's Encrypt:

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:

Pareizi iestatiet SiteURL, pirms kādu uzaicināt. Nepareizs vai trūkstošs SiteURL sabojā push paziņojumus, OAuth atzvanus un saišu priekšskatījumus, un vēlāk to atkļūdot ir kaitinoši, bet tagad no tā izvairīties ir vienkārši.

Viena piezīme, ko vērts atkārtot, jo to saka arī ražotājs: konteineri ir piemēroti izvērtēšanai un nelielām produkcijas instalācijām, taču konteineru ceļš pats par sevi nedod klasterizāciju vai augstu pieejamību. Ja tās vajadzīgas, izvietojiet tieši uz Linux vai izmantojiet Kubernetes operatoru. Piesaistiet attēlu laidienu līnijai, kā iesaka oficiālā Docker rokasgrāmata: piemērā izmantota 11.7, pašreizējais paplašinātā atbalsta laidiens, jo latest pāries uz v12 tajā pašā dienā, kad tā iznāks.

Produkcijas izvietošana

Ar v11 minimālā versija ir PostgreSQL 14. Versija 12.0, kas paredzēta 2026. gada 14. oktobrī, to paaugstina līdz PostgreSQL 15, tāpēc sāciet ar 15 vai jaunāku (piemērā augstāk izmantota 16). MySQL atbalsts beidzās ar v11.0 2025. gada oktobrī, tāpēc jaunai instalācijai MySQL nav variants. Amazon Aurora PostgreSQL tiek atbalstīts un ir saprātīgā pārvaldītā izvēle AWS. Ja instalējat tieši uz Linux, ņemiet vērā, ka v11.11 (2026. gada septembris) ir pēdējais laidiens, kas atbalsta RHEL 7 un RHEL 8.

Glabājiet failus ar S3 saderīgā objektu krātuvē jau no pirmās dienas. Vietējā failu sistēma darbojas un ir noklusējums, bet tieši tā nemanāmi padara jūsu serveri par stāvokli saglabājošu, jūsu rezerves kopijas milzīgas un migrāciju sāpīgu. Pārslēgties vēlāk nozīmē pārvietot failus un pārrakstīt ceļus. Pārslēgties instalēšanas laikā nozīmē iestatīt dažas konfigurācijas vērtības.

Augstai pieejamībai vajadzīgs Enterprise līmenis: vairāki lietotņu mezgli aiz slodzes līdzsvarotāja, koplietota objektu krātuve un datubāze ar lasīšanas replikām. Meklēšanai lielā mērogā vajag Elasticsearch vai OpenSearch, arī Enterprise. PostgreSQL pilnteksta meklēšana ir pietiekama dažiem simtiem cilvēku un dažiem miljoniem ziņu, un CJK meklēšana PostgreSQL tagad darbojas pēc noklusējuma, lai gan agrāk tas bija nopietns iemesls iegādāties meklēšanas papildinājumu.

Trīs lietas, kas noiet greizi

Viss iepriekš minētais ir dokumentācijā. Šīs ir daļas, ko cilvēki atklāj produkcijā.

Push paziņojumi nav bezmaksas tā, kā jūs gaidāt

Mobilajiem push paziņojumiem jāiet caur Apple un Google tīkliem, tātad kādam jāglabā parakstīšanas sertifikāti. Mattermost uztur Test Push Notification Service, kas darbojas uzreiz un nepārprotami nav paredzēts produkcijai. Produkcijai paredzēts Hosted Push Notification Service, un tas nāk kopā ar maksas licenci.

Trešais variants ir savs push starpniekserveris. Tas ir labi dokumentēts un pilnībā izdarāms, taču nozīmē, ka jums jāizveido un jāizplata sava mobilā lietotne ar saviem Firebase un APNs akreditācijas datiem, un tās ir attiecības ar lietotņu veikaliem un laidienu process, nevis vienas pēcpusdienas darbs.

Izlemiet, kuru no trim izmantosiet, pirms ieviešat sistēmu telefonos, nevis pēc tam, kad pirmais cilvēks pajautā, kāpēc ziņas pienāk tikai tad, kad lietotne ir atvērta. Šī viena problēma ir iemesls vairāk pamestām Mattermost migrācijām nekā jebkas cits.

Zvaniem nepietiek ar vienu portu

Calls ir divi režīmi. Integrētajā režīmā mediju serviss darbojas Mattermost servera iekšienē, un to iesaka līdz aptuveni piecdesmit aktīviem lietotājiem. Virs tā vajag rtcd, atsevišķu servisu, kas zvanu mediju datplūsmu tur ārpus galvenā servera un mērogojas horizontāli. rtcd prasa Enterprise.

Jebkurā gadījumā klientiem jāspēj sasniegt mediju servisu pa UDP 8443. portā, un šim portam jābūt atvērtam resursdatorā, kurā darbojas mediju serviss. Jūsu nginx reversais starpniekserveris to nepārsūtīs, jo nginx nav UDP ceļā. Puse no diskusijām „zvani neizveidojas“ beidzas ar ugunsmūra noteikumu, kas tā arī netika pievienots.

Bezmaksas līmenī rēķinieties ar laikā ierobežotiem zvaniem divatā, nevis neierobežotiem grupu zvaniem. Ja video visam uzņēmumam ir prasība, ieplānojiet to izmaksās.

Kādam tas ir jāuztur

Godīgs izmaksu salīdzinājums nav licence pret nulli. Tā ir licence pret infrastruktūru plus cilvēku, kurš to atjaunina. Mattermost katru mēnesi izlaiž funkciju laidienu (2026. gada 10. oktobrī pašreizējais ir 11.11, bet paplašinātā atbalsta laidiens ir 11.7), drošības dēļ jūs gribēsiet būt aktuāli, un atjauninājumi ietver datubāzes migrācijas, kuras vajadzētu pārbaudīt kaut kur, kas nav produkcija.

Komandai, kas jau uztur savu infrastruktūru, tas ir neliels papildu darbs, un ekonomiskais ieguvums ir nepārprotams. Desmit cilvēku uzņēmumam bez ekspluatācijas kapacitātes SaaS rēķins var patiešām izrādīties lētāks par otrdienu pēcpusdienām. Esiet godīgi pret sevi, kurš no tiem esat jūs.

Pāreja no Slack

Mattermost var importēt Slack eksporta failus, un tas darbojas, ar atrunām, kuras vērts zināt iepriekš. Publisko kanālu ziņas un lietotāji tiek pārnesti labi. Privātie kanāli un tiešās ziņas ir atkarīgi no tā, ko jūsu Slack plāns vispār ļauj eksportēt. Pavedieniem, pievienotajiem failiem, pielāgotajām emocijzīmēm un integrācijām jāpievērš uzmanība, un dažas no tām jāveido no jauna.

Pieeja, kas darbojas: importējiet vēsturi kā arhīvu, kurā cilvēki var meklēt, un pārslēgšanās datumu uztveriet kā tīru sākumu. Mēģinot precīzi atkārtot katru Slack uzvedību, divu nedēļu migrācija pārvēršas divu ceturkšņu migrācijā.

Divas nedēļas darbiniet abas sistēmas paralēli, vispirms pārceliet vienu komandu un jau sākumā publiski paziņojiet izslēgšanas datumu. Tērzēšanas migrācijas neizdodas sociālu, nevis tehnisku iemeslu dēļ.

Eiropas skatpunkts

ES uzņēmumiem runa nav tikai par izmaksām. Uzturot sistēmu pašiem, iekšējā saziņa atrodas jūsu kontrolētās robežās, un tas vienlaikus maina vairāku sarunu būtību: VDAR datu nosūtīšanas analīzi, NIS2 piegādes ķēdes pārbaudes un suverenitātes jautājumus, kas arvien biežāk parādās valsts sektora iepirkumos un ir viss Mākoņdatošanas un MI attīstības akta temats.

Iekšējā tērzēšana ir viena no blīvākajām konfidenciālas informācijas koncentrācijām uzņēmumā. Tajā ir incidentu detaļas, klientu vārdi, piekļuves dati, kurus cilvēkiem nevajadzēja ielīmēt, bet viņi to izdarīja, un katras notiekošās komerciālās sarunas. Kad kāds jautā, kur šie dati atrodas, spēja atbildēt ar reģionu un serveru statni, nevis apakšapstrādātāju sarakstu, ir kaut ko vērta.

Kad nav vērts

Ja jūsu uzņēmumā ir piecpadsmit cilvēki, atbilstības prasības ir vieglas un neviens negrib atbildēt par serveri, izmantojiet SaaS. Ietaupījums neatsvērs uzmanību, ko tas prasīs.

Ja jums vajadzīga cieša integrācija ar ekosistēmu, kurā jau dzīvojat, rūpīgi izvērtējiet, ko zaudētu. Komandas Microsoft 365 vidē daudz ko saņem bez maksas, un jums tas būtu jāveido no jauna.

Un, ja dzinējspēks ir viena skaļa cilvēka nepatika pret kādu piegādātāju, nevis reāla prasība attiecībā uz izmaksām, kontroli vai jurisdikciju, migrācija apstāsies pie aptuveni sešdesmit procentiem lietotāju, un saziņas rīkam tas ir sliktākais iespējamais iznākums.

Palīdzība

Mēs izvietojam un uzturam atvērtā koda infrastruktūru savās vidēs uzņēmumiem, kas darbojas Eiropā, ieskaitot neizskatīgās daļas: push starpniekserverus, objektu krātuves migrācijas, atjaunināšanas ceļus un identitātes integrāciju, kas nodrošina, ka tērzēšanas ieviešana iesakņojas.

Ja vēlaties pareizi izmērotu Mattermost izvietošanu, Slack migrāciju, ko plāno kāds, kurš to jau ir darījis, vai godīgu atbildi, vai sistēmas uzturēšana pašiem jūsu komandai ir tā vērta, rakstiet uz office@c9group.dev. Vairāk par mūsu infrastruktūras darbu lapā par AWS izmaksu optimizāciju.

Ja veidojat pilnu steku savā infrastruktūrā, tie paši apsvērumi attiecas uz analītiku un mārketinga automatizāciju.


Publicēts: 2026. gada 8. augustā (atjaunināts 2026. gada 10. oktobrī) Kategorijas: Sadarbība, Atvērtais kods, Privātums

Sadarbība

Jauni ceļveži un noteikumu izmaiņas e-pastā

Kad mainās kāds noteikums, pārceļas termiņš vai publicējam jaunu ceļvedi, nosūtām to e-pastā.

Vispirms nosūtām apstiprinājuma saiti. Atrakstīties varat jebkurā laikā. Privātuma politika