• Tallinn09:19
  • Ljubljana08:19
  • Novi Sad08:19

Tekst: Iva Seleš

Chcesz omówić, co to oznacza dla Twojej firmy?Umów spotkanie

Komunikator zespołowy open source na dużą skalę: Mattermost we własnej infrastrukturze

hands typing a message on a phone in a dark room

Co kilka lat jakaś firma patrzy na fakturę od Slacka, sumuje koszt na użytkownika, zauważa, że dekada wewnętrznych rozmów leży w cudzej bazie danych i w innej jurysdykcji, i pyta, czy da się inaczej. Da się. Mattermost jest najbardziej wiarygodną odpowiedzią we własnym hostingu i jest nią od dłuższego czasu.

Jest też narzędziem najczęściej źle rozumianym przed wdrożeniem, bo darmowa edycja, którą wydaje się nam, że dostajemy, zwykle nie jest tą, którą ostatecznie uruchamiamy. Ten przewodnik mówi, czym Mattermost naprawdę jest, co faktycznie zawiera wersja darmowa i jakie trzy problemy eksploatacyjne dopadają niemal każdego, kto hostuje go po raz pierwszy.

Czym jest Mattermost

Serwer w Go, baza PostgreSQL, klient webowy w Reakcie oraz natywne aplikacje desktopowe i mobilne. Kanały, wątki, udostępnianie plików, wyszukiwanie, komendy ukośnikowe, webhooki przychodzące i wychodzące, boty i framework wtyczek. Kto używał Slacka, będzie produktywny po jednym popołudniu, i wszyscy pozostali też, a to liczy się bardziej niż jakakolwiek lista funkcji, gdy prosisz całą firmę o przeprowadzkę.

Wokół tego rdzenia są Playbooki, do pracy nad incydentami i procesami według list kontrolnych, oraz Calls, do audio, wideo i udostępniania ekranu. Od v11.0 Playbooki wymagają jednej z edycji komercyjnych (darmowa edycja Entry też się liczy). Katalog integracji obejmuje zwykłych podejrzanych: GitLab, GitHub, Jira, Jenkins, PagerDuty. To w ChatOps produkt jest naprawdę mocny i dlatego ma tylu zwolenników wśród zespołów inżynierskich i operacyjnych oraz wśród organizacji obronnych i publicznych, które w ogóle nie mogą umieścić swojego ruchu w komercyjnym SaaS.

Kluczowy fakt architektoniczny jest taki, że wszystko to działa na infrastrukturze, którą wybierasz ty. Ta sama zasada co przy samodzielnym hostowaniu analityki z Matomo czy automatyzacji marketingu z Mautic. Wiadomości są w twojej bazie, pliki w twoim magazynie obiektowym, a nikt nie zmieni polityki retencji ani ceny bez pytania cię o zdanie.

Sytuacja licencyjna, powiedziana wprost

Tu zaczyna się zamieszanie, więc powiedzmy to bez ogródek.

Team Edition to edycja open source: darmowa, binarka jest na licencji MIT i to ją większość samodzielnie hostujących uruchamia od lat. Dostajesz komunikację, kanały, wątki, wyszukiwanie, integracje, webhooki i framework wtyczek. Nie dostajesz pojedynczego logowania przez SAML ani AD/LDAP, eksportu na potrzeby zgodności, wyszukiwania enterprise, klastra wysokiej dostępności ani kont gości. Od v11.0 (październik 2025) straciła też pojedyncze logowanie przez GitLab i Playbooki, a Mattermost opisuje ją teraz jako przeznaczoną dla małych zespołów, hobbystów i do użytku prywatnego, poniżej 250 aktywowanych użytkowników i tam, gdzie pojedyncze logowanie (SSO) nie jest potrzebne.

Entry to darmowa edycja komercyjna z funkcjami Enterprise Advanced i limitami dla całego serwera. Widać i da się przeszukać tylko 10 000 najnowszych wiadomości na kanałach (starsze zostają w bazie), nie ma funkcji zgodności ani wysokiej dostępności, a wsparcie zapewnia wyłącznie społeczność. Mattermost wymienia też kolejne limity, które mają zacząć obowiązywać w przyszłej wersji: 5 aktywnych uruchomień playbooków miesięcznie, rozmowy do 40 minut, 10 000 powiadomień push miesięcznie. Jest skierowana do zespołów poniżej mniej więcej pięćdziesięciu osób. To dobry sposób na ocenę płatnego produktu. To zły sposób na zbudowanie stałego domu dla historii rozmów firmy, bo limit historii dotyczy dokładnie tego, na czym w końcu ci zależy.

Professional, Enterprise i Enterprise Advanced to poziomy płatne. Professional dokłada SSO, MFA i zaawansowane uprawnienia, a Mattermost kieruje go do zespołów liczących do 250 użytkowników. Enterprise dokłada synchronizację AD/LDAP, automatyzację zgodności, wyszukiwanie enterprise, wysoką dostępność i Playbooki na skalę. Enterprise Advanced dokłada obsługę informacji niejawnych, mechanizmy zero trust i wdrożenie w sieci odseparowanej, i to na tym poziomie siedzą użytkownicy z obronności i administracji. Mattermost nie publikuje już cen za użytkownika, więc zaplanuj rozmowę z działem sprzedaży.

Kiedyś decyzja była prostsza, niż sugeruje lista poziomów; v11 to zmieniła. Poniżej mniej więcej 250 osób, z kontami lokalnymi i bez potrzeby pojedynczego logowania, Team Edition nadal wystarcza. Każde pojedyncze logowanie (SAML, AD/LDAP, a teraz także GitLab) oznacza edycję komercyjną: Entry, dopóki mieścisz się w jej limitach, potem Professional albo Enterprise. Rozwiązanie przejściowe, które Mattermost oferował dla logowania przez GitLab, czyli pozostanie na wersji z rozszerzonym wsparciem v10.11, osiągnęło koniec cyklu życia 15 sierpnia 2026. Duża organizacja albo taka z wymaganiami dotyczącymi zgodności, retencji lub wysokiej dostępności powinna od początku zaplanować Enterprise i uwzględnić go w budżecie.

Instalacja

Małe wdrożenie

Dla zespołu liczącego od kilkudziesięciu do kilkuset osób jeden porządnie dobrany VPS naprawdę wystarczy. Sam Mattermost podaje dla od jednego do tysiąca użytkowników jeden vCPU i 2 GB RAM, co jest optymistyczne tak, jak minima producentów zawsze są. Daj maszynie cztery rdzenie i 8 GB, a już nigdy o niej nie pomyślisz.

Stos to Mattermost, PostgreSQL i reverse proxy kończące TLS. Traefik z Let's Encrypt oznacza najmniej pracy:

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:

Ustaw poprawnie SiteURL, zanim kogokolwiek zaprosisz. Błędny albo brakujący SiteURL psuje powiadomienia push, wywołania zwrotne OAuth i podglądy linków w sposób, który później męczy przy diagnozie, a teraz kosztuje jedną linijkę.

Jedno zastrzeżenie warto powtórzyć, bo mówi je sam producent: kontenery nadają się do ewaluacji i do małych instalacji produkcyjnych, ale ta droga nie daje ci klastrowania ani wysokiej dostępności od ręki. Jeśli ich potrzebujesz, instaluj bezpośrednio na Linuksie albo użyj operatora Kubernetes. Przypnij obraz do linii wydań, jak radzi oficjalny przewodnik Dockera: przykład używa 11.7, obecnej wersji z rozszerzonym wsparciem (ESR), bo latest przeskoczy na v12 w dniu jej premiery.

Wdrożenie produkcyjne

PostgreSQL 14 to minimum w v11. Wersja 12.0, zaplanowana na 14 października 2026, podnosi je do PostgreSQL 15, więc zacznij od 15 lub nowszego (przykład wyżej używa 16). Wsparcie dla MySQL zakończyło się wraz z v11.0 w październiku 2025, więc przy nowej instalacji MySQL nie wchodzi w grę. Amazon Aurora PostgreSQL jest wspierany i to rozsądna opcja zarządzana na AWS. Jeśli instalujesz bezpośrednio na Linuksie, pamiętaj, że v11.11 (wrzesień 2026) to ostatnie wydanie wspierające RHEL 7 i RHEL 8.

Pliki umieść w magazynie obiektowym zgodnym z S3 od pierwszego dnia. Lokalny system plików działa i jest ustawieniem domyślnym, i jest też tym, co po cichu czyni twój serwer stanowym, kopie zapasowe ogromnymi, a migrację bolesną. Zmiana później oznacza przenoszenie plików i przepisywanie ścieżek. Zmiana przy instalacji oznacza ustawienie kilku wartości w konfiguracji.

Do wysokiej dostępności potrzebujesz poziomu Enterprise: kilku węzłów aplikacyjnych za load balancerem, współdzielonego magazynu obiektowego i bazy z replikami do odczytu. Do wyszukiwania na dużą skalę chcesz Elasticsearcha albo OpenSearcha, również Enterprise. Wyszukiwanie pełnotekstowe PostgreSQL wystarcza dla kilkuset osób i kilku milionów wiadomości, a wyszukiwanie CJK działa teraz domyślnie na PostgreSQL, co kiedyś było realnym powodem, by kupić dodatek wyszukiwania.

Trzy rzeczy, które idą nie tak

Wszystko powyżej jest w dokumentacji. To poniżej ludzie odkrywają na produkcji.

Powiadomienia push nie są darmowe w sposób, jakiego się spodziewasz

Push mobilny musi przejść przez sieci Apple'a i Google'a, co oznacza, że coś musi trzymać certyfikaty podpisujące. Mattermost prowadzi Test Push Notification Service, który działa od razu i wprost nie jest przeznaczony na produkcję. Hosted Push Notification Service to ten produkcyjny i wiąże się z płatną licencją.

Trzecia możliwość to własny push proxy. Jest dobrze udokumentowana i całkiem wykonalna, ale oznacza zbudowanie i dystrybucję własnej aplikacji mobilnej z własnymi poświadczeniami Firebase i APNs, czyli relację ze sklepami z aplikacjami i proces wydawniczy, a nie jedno popołudnie.

Wybierz jedną z trzech, zanim wdrożysz komunikator na telefony, a nie po tym, jak pierwsza osoba zapyta, czemu dostaje wiadomości tylko przy otwartej aplikacji. Ten jeden punkt przewraca więcej migracji na Mattermost niż cokolwiek innego.

Calls potrzebuje czegoś więcej niż portu

Calls ma dwa tryby. Tryb zintegrowany uruchamia usługę mediów wewnątrz serwera Mattermost i jest zalecany poniżej mniej więcej pięćdziesięciu aktywnych użytkowników. Powyżej chcesz rtcd, osobną usługę, która trzyma ruch mediów z dala od głównego serwera i skaluje się poziomo. rtcd wymaga Enterprise.

W obu przypadkach klienci muszą sięgnąć usługi mediów po UDP na porcie 8443, a ten port musi być otwarty na hoście, na którym ta usługa działa. Twoje reverse proxy w nginksie go nie przekaże, bo nginx w ogóle nie leży na ścieżce UDP. Połowa wątków w stylu „połączenia się nie zestawiają” sprowadza się do reguły firewalla, której nigdy nie dodano.

Na poziomie darmowym spodziewaj się rozmów jeden na jeden z limitem czasu, a nie nielimitowanych rozmów grupowych. Jeśli wideo dla całej firmy jest wymogiem, wyceń je.

Ktoś musi to utrzymywać

Uczciwe porównanie kosztów to nie licencja kontra zero. To licencja kontra infrastruktura plus osoba, która ją łata. Mattermost wydaje nową wersję z funkcjami co miesiąc (według stanu na 10 października 2026 aktualna jest 11.11, a wersja z rozszerzonym wsparciem to 11.7), ze względów bezpieczeństwa będziesz chciał być na bieżąco, a aktualizacje niosą migracje bazy, które lepiej przetestować gdzieś poza produkcją.

Dla zespołu, który i tak prowadzi własną infrastrukturę, to praca marginalna, a rachunek wychodzi bezdyskusyjnie. Dla dziesięcioosobowej firmy bez zdolności operacyjnych faktura za SaaS może naprawdę wyjść taniej niż stracone wtorkowe popołudnia. Bądź szczery co do tego, którym z tych dwóch przypadków jesteś.

Wyjście ze Slacka

Mattermost ma ścieżkę importu z plików eksportu Slacka i ona działa, z zastrzeżeniami, które warto znać wcześniej. Wiadomości z kanałów publicznych i użytkownicy przenoszą się dobrze. Kanały prywatne i wiadomości bezpośrednie zależą od tego, co twój plan Slacka w ogóle pozwala wyeksportować. Wątki, załączniki, własne emoji i integracje wymagają uwagi, a część trzeba zbudować od nowa.

Podejście, które działa: zaimportuj historię jako przeszukiwalne archiwum i potraktuj datę przełączenia jako czysty start. Próba odtworzenia każdego zachowania Slacka co do joty to sposób, w jaki dwutygodniowa migracja staje się dwukwartalna.

Puść oba systemy równolegle przez dwa tygodnie, przenieś najpierw jeden zespół i publicznie ustal datę wyłączenia już na starcie. Migracje komunikatorów przegrywają społecznie, nie technicznie.

Perspektywa europejska

Dla firm w UE to nie tylko kwestia kosztu. Własny hosting umieszcza komunikację wewnętrzną w granicy, którą kontrolujesz, a to zmienia kilka rozmów naraz: analizę transferów wedle RODO, kontrolę łańcucha dostaw wedle NIS2 oraz pytania o suwerenność, które coraz częściej pojawiają się w zamówieniach publicznych i które są całym tematem Cloud and AI Development Act.

Czat wewnętrzny to jedno z najgęstszych skupisk materiału poufnego, jakie firma posiada. Są tam szczegóły incydentów, nazwiska klientów, poświadczenia, których nikt nie powinien był wkleić, ale ktoś wkleił, i każda trwająca negocjacja handlowa. Gdy ktoś pyta, gdzie te dane żyją, możliwość odpowiedzi regionem i szafą zamiast listą podprzetwarzających jest coś warta.

Kiedy sobie odpuścić

Jeśli jest was piętnaścioro, wymogi zgodności są lekkie, a nikt nie chce mieć na głowie serwera, weźcie SaaS. Oszczędność nie pokryje uwagi.

Jeśli potrzebujesz głębokiej integracji z ekosystemem, w którym już mieszkasz, przyjrzyj się dokładnie temu, co stracisz. Zespoły wewnątrz środowiska Microsoft 365 dostają za darmo sporo rzeczy, które musiałbyś odbudować.

A jeśli napędem jest niechęć jednej głośnej osoby do dostawcy zamiast realnego wymogu co do kosztu, kontroli albo jurysdykcji, migracja utknie przy jakichś sześćdziesięciu procentach adopcji, a to najgorszy możliwy wynik dla narzędzia do komunikacji.

Jak możemy pomóc

Wdrażamy i utrzymujemy samodzielnie hostowaną infrastrukturę open source dla firm działających w Europie, łącznie z częściami mało efektownymi: push proxy, migracjami do magazynu obiektowego, ścieżkami aktualizacji i tą integracją z tożsamością, dzięki której wdrożenie komunikatora się przyjmuje.

Jeśli chcesz instalację Mattermosta dobraną jak trzeba, migrację ze Slacka zaplanowaną przez kogoś, kto już ją przeprowadził, albo uczciwą odpowiedź, czy własny hosting opłaca się twojemu zespołowi, napisz na office@c9group.dev. Więcej o naszej pracy infrastrukturalnej na stronie o optymalizacji kosztów AWS.

Jeśli składasz pełny stos we własnym hostingu, to samo rozumowanie dotyczy analityki i automatyzacji marketingu.


Opublikowano: 8 sierpnia 2026 (zaktualizowano 10 października 2026) Kategorie: Współpraca, Open Source, Prywatność

Współpraca

Nowe poradniki i zmiany przepisów e-mailem

Gdy zmienia się przepis, przesuwa się termin albo publikujemy nowy poradnik, wysyłamy go e-mailem.

Najpierw wyślemy link potwierdzający. Możesz się wypisać w każdej chwili. Polityka prywatności

Centrum wiedzy

Powiązane artykuły

Zobacz wszystkie artykuły