Yazar: Iva Seleš

Ölçeklenebilir Açık Kaynak Ekip Mesajlaşması: Mattermost'u Kendiniz Çalıştırmak

Karanlık bir odada telefonda mesaj yazan eller

Birkaç yılda bir, bir şirket Slack faturasına bakar, koltuk başına maliyeti toplar, on yıllık şirket içi yazışmasının başka bir yargı alanındaki başkasına ait bir veritabanında durduğunu fark eder ve başka bir yol olup olmadığını sorar. Var. Mattermost, kendi sunucunuzda çalıştırabileceğiniz en güvenilir cevap ve bir süredir de öyle.

Aynı zamanda kurulumdan önce en sık yanlış anlaşılan araç; çünkü insanların aldıklarını sandıkları ücretsiz sürüm, genellikle sonunda çalıştırdıkları sürüm olmuyor. Bu rehber Mattermost'un gerçekte ne olduğunu, ücretsiz sürümün gerçekte neleri içerdiğini ve kendi sunucusunda ilk kez kurulum yapan hemen herkesi yakalayan üç operasyonel sorunu anlatıyor.

Mattermost nedir

Bir Go sunucusu, bir PostgreSQL veritabanı, bir React web istemcisi ve yerel masaüstü ve mobil uygulamalar. Kanallar, konu dizileri, dosya paylaşımı, arama, eğik çizgi komutları, gelen ve giden webhook'lar, botlar ve bir eklenti altyapısı. Slack kullandıysanız bir öğleden sonra içinde verimli çalışırsınız; diğer herkes de öyle. Bütün bir şirketten taşınmasını istediğinizde bu, herhangi bir özellik listesinden daha önemlidir.

Bu çekirdeğin etrafında, kontrol listesine dayalı olay ve süreç yönetimi için Playbooks ile sesli, görüntülü görüşme ve ekran paylaşımı için Calls bulunur. v11.0'dan beri Playbooks için ticari sürümlerden biri gerekiyor (ücretsiz Entry sürümü de bunlardan sayılıyor). Entegrasyon kataloğu bilinen isimleri kapsar: GitLab, GitHub, Jira, Jenkins, PagerDuty. Ürünün gerçekten güçlü olduğu yer ChatOps'tur; mühendislik ve operasyon ekipleri arasında, ayrıca trafiğini hiçbir şekilde ticari bir SaaS'a koyamayan savunma ve kamu kuruluşları arasında bu kadar çok kullanıcısı olmasının nedeni de budur.

Mimari açıdan önemli olan, bunların hepsinin sizin seçtiğiniz altyapıda çalışmasıdır. Analitiği Matomo ile kendi sunucunuzda barındırmak ya da pazarlama otomasyonunu Mautic ile çalıştırmakla aynı ilke. Mesajlar sizin veritabanınızda, dosyalar sizin nesne depolamanızdadır; kimse size sormadan saklama politikasını ya da fiyatı değiştiremez.

Lisans tablosu, açık açık

İnsanların kafasının karıştığı yer burası, o yüzden doğrudan söylemekte fayda var.

Team Edition açık kaynak olandır: ücretsizdir, ikili dosyası MIT lisansıyla dağıtılır ve kendi sunucusunda kurulum yapanların çoğu yıllardır onu çalıştırır. Mesajlaşma, kanallar, konu dizileri, arama, entegrasyonlar, webhook'lar ve eklenti altyapısı vardır. SAML veya AD/LDAP ile tek oturum açma, uyum amaçlı dışa aktarma, kurumsal arama, yüksek erişilebilirlik kümelemesi ve misafir hesaplar yoktur. v11.0'dan beri (Ekim 2025) GitLab ile tek oturum açmayı ve Playbooks'u da kaybetti; Mattermost artık onu küçük ekipler, hobi kullanıcıları ve kişisel kullanım için, 250'den az etkin kullanıcının olduğu ve tek oturum açmanın (SSO) gerekmediği durumlar için tasarlanmış olarak tanımlıyor.

Entry, Enterprise Advanced özellik setine ve sunucu genelinde sınırlara sahip ücretsiz bir ticari sürümdür. Yalnızca en son 10.000 kanal mesajı görüntülenebilir veya aranabilir (eskileri veritabanında kalır), uyum özellikleri ve yüksek erişilebilirlik yoktur, destek yalnızca topluluk üzerindendir. Mattermost, gelecekteki bir sürümde yürürlüğe gireceğini söylediği başka sınırlar da listeliyor: ayda 5 etkin playbook çalıştırması, 40 dakikalık görüşmeler, ayda 10.000 anlık bildirim. Yaklaşık elli kişinin altındaki ekipleri hedefler. Ücretli ürünü değerlendirmek için iyi bir yoldur. Şirketinizin yazışma geçmişine kalıcı bir yuva kurmak için ise kötü bir yoldur, çünkü geçmiş sınırı tam da eninde sonunda önem vereceğiniz şeydir.

Professional, Enterprise ve Enterprise Advanced ücretli katmanlardır. Professional; SSO, MFA ve gelişmiş izinler ekler ve Mattermost onu 250 kullanıcıya kadar olan ekiplere sunar. Enterprise; AD/LDAP senkronizasyonu, uyum otomasyonu, kurumsal arama, yüksek erişilebilirlik ve ölçekli Playbooks ekler. Enterprise Advanced ise gizli bilgilerin işlenmesi, sıfır güven denetimleri ve internetten yalıtılmış (air-gapped) kurulum ekler; savunma ve devlet kullanıcılarının bulunduğu katman budur. Mattermost artık koltuk başına fiyat yayımlamıyor, bu yüzden bütçeye bir satış görüşmesini de katın.

Karar eskiden katman listesinin düşündürdüğünden daha basitti; v11 bunu değiştirdi. Yaklaşık 250 kişinin altında, yerel hesaplarla ve tek oturum açma gereksinimi olmadan Team Edition hâlâ işi görür. Herhangi bir tek oturum açma (SAML, AD/LDAP ve artık GitLab de) ticari bir sürüm demektir: sınırları yettiği sürece Entry, sonrasında Professional veya Enterprise. Mattermost'un GitLab ile oturum açma için önerdiği geçici çözüm v10.11 uzatılmış destek sürümünde kalmaktı ve o sürüm 15 Ağustos 2026'da destek ömrünü tamamladı. Büyük bir kuruluş ya da uyum, saklama veya yüksek erişilebilirlik gereksinimleri olan bir kuruluş, en baştan Enterprise'ı planlamalı ve bütçelemelidir.

Kurulum

Küçük bir kurulum

Onlarca ile birkaç yüz kişi arasındaki bir ekip için iyi yapılandırılmış tek bir VPS gerçekten yeterlidir. Mattermost'un kendi rehberi bir ila bin kullanıcı için bir vCPU ve 2 GB RAM öngörüyor; bu, üretici minimumlarının hep olduğu gibi iyimser bir rakam. Dört çekirdek ve 8 GB verin, bir daha aklınıza gelmez.

Yığın; Mattermost, PostgreSQL ve TLS'i sonlandıran bir ters proxy'den oluşur. En az iş çıkaran, Let's Encrypt ile Traefik'tir:

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:

Kimseyi davet etmeden önce SiteURL değerini doğru ayarlayın. Yanlış veya eksik bir SiteURL; anlık bildirimleri, OAuth geri çağrılarını ve bağlantı önizlemelerini, sonradan hata ayıklaması can sıkıcı ama şimdi önlemesi çok kolay biçimlerde bozar.

Üreticinin de söylediği için tekrarlamaya değer bir uyarı: container'lar değerlendirme ve küçük üretim kurulumları için uygundur, ama container yolu size hazır kümeleme veya yüksek erişilebilirlik sunmaz. Bunlara ihtiyacınız varsa doğrudan Linux'a kurun ya da Kubernetes operatörünü kullanın. Resmi Docker rehberinin önerdiği gibi imajı bir sürüm hattına sabitleyin: örnek, güncel uzatılmış destek sürümü olan 11.7'yi kullanıyor, çünkü latest v12 çıktığı gün ona geçer.

Üretim ortamı kurulumu

v11'de minimum PostgreSQL 14'tür. 14 Ekim 2026'ya planlanan 12.0 sürümü bunu PostgreSQL 15'e çıkarıyor, bu yüzden 15 veya daha yenisiyle başlayın (yukarıdaki örnek 16 kullanıyor). MySQL desteği Ekim 2025'te v11.0 ile sona erdi; yeni bir kurulum için MySQL bir seçenek değil. Amazon Aurora PostgreSQL destekleniyor ve AWS'deki makul yönetilen seçenek o. Doğrudan Linux'a kuruyorsanız, v11.11'in (Eylül 2026) RHEL 7 ve RHEL 8'i destekleyen son sürüm olduğunu not edin.

Dosyaları ilk günden S3 uyumlu nesne depolamaya koyun. Yerel dosya sistemi çalışır ve varsayılandır; ama aynı zamanda sunucunuzu sessizce durum tutan (stateful) hale getiren, yedeklerinizi devasa ve taşımayı zahmetli yapan da odur. Sonradan geçmek, dosyaları taşımak ve yolları yeniden yazmak demektir. Kurulum sırasında geçmek ise birkaç yapılandırma değeri ayarlamaktır.

Yüksek erişilebilirlik için Enterprise katmanı gerekir: bir yük dengeleyicinin arkasında birden çok uygulama düğümü, paylaşılan bir nesne deposu ve okuma replikaları olan bir veritabanı. Ölçekli arama için Elasticsearch veya OpenSearch istersiniz; o da Enterprise. PostgreSQL tam metin araması birkaç yüz kişi ve birkaç milyon mesaj için yeterlidir; CJK araması da artık PostgreSQL'de varsayılan olarak çalışıyor, oysa bu eskiden arama eklentisini satın almak için gerçek bir nedendi.

Ters giden üç şey

Yukarıdakilerin hepsi dokümantasyonda var. Bunlar ise insanların üretimde keşfettiği kısımlar.

Anlık bildirimler sandığınız anlamda ücretsiz değil

Mobil bildirimler Apple'ın ve Google'ın ağlarından geçmek zorundadır; bu da imzalama sertifikalarını bir şeyin tutması gerektiği anlamına gelir. Mattermost, kutudan çıktığı gibi çalışan ve açıkça üretim için olmadığı belirtilen bir Test Push Notification Service işletir. Üretim için olanı Hosted Push Notification Service'tir ve ücretli bir lisansla gelir.

Üçüncü seçenek kendi push proxy'nizi çalıştırmaktır. İyi belgelenmiştir ve tamamen yapılabilir bir iştir, ama kendi Firebase ve APNs kimlik bilgilerinizle kendi mobil uygulamanızı derleyip dağıtmanız gerekir; bu bir öğleden sonralık iş değil, bir uygulama mağazası ilişkisi ve bir sürüm sürecidir.

Bu üçünden hangisini kullanacağınıza telefonlara dağıtım yapmadan önce karar verin; ilk kişi neden mesajları yalnızca uygulama açıkken aldığını sorduktan sonra değil. Yarıda bırakılan Mattermost geçişlerinin en büyük nedeni tek başına bu sorundur.

Calls için bir porttan fazlası gerekir

Calls'un iki modu vardır. Entegre mod, medya hizmetini Mattermost sunucusunun içinde çalıştırır ve yaklaşık elli etkin kullanıcının altında önerilir. Bunun üzerinde, görüşme medyasını ana sunucunuzdan uzak tutan ve yatay ölçeklenen ayrı bir hizmet olan rtcd'yi istersiniz. rtcd Enterprise gerektirir.

Her iki durumda da istemcilerin medya hizmetine 8443 numaralı UDP portu üzerinden ulaşması gerekir ve bu portun medya hizmetini çalıştıran sunucuda açık olması şarttır. nginx ters proxy'niz bunu yönlendirmez, çünkü nginx UDP yolunda değildir. “Görüşmeler bağlanmıyor” başlıklı konuların yarısı hiç eklenmemiş bir güvenlik duvarı kuralına çıkar.

Ücretsiz katmanda sınırsız grup görüşmeleri değil, süre sınırlı bire bir görüşmeler bekleyin. Şirket genelinde görüntülü görüşme bir gereksinimse bunu maliyete katın.

Birinin onu işletmesi gerekir

Dürüst maliyet karşılaştırması lisans ile sıfır arasında değildir. Lisans ile altyapı artı onu güncelleyen kişi arasındadır. Mattermost her ay bir özellik sürümü çıkarır (10 Ekim 2026 itibarıyla güncel olan 11.11, uzatılmış destek sürümü ise 11.7); güvenlik nedeniyle güncel kalmak isteyeceksiniz ve yükseltmeler, üretim dışında bir yerde test etmeniz gereken veritabanı geçişleri içerir.

Kendi altyapısını zaten işleten bir ekip için bu marjinal bir iştir ve ekonomik açıdan fark ezicidir. Operasyon kapasitesi olmayan on kişilik bir şirket için bir SaaS faturası, harcanacak salı öğleden sonralarından gerçekten daha ucuz olabilir. Hangisi olduğunuz konusunda kendinize karşı dürüst olun.

Slack'ten geçiş

Mattermost'un Slack dışa aktarma dosyalarından içe aktarma yolu vardır ve çalışır; ama önceden bilinmesi gereken çekinceleri var. Herkese açık kanal mesajları ve kullanıcılar sorunsuz gelir. Özel kanallar ve doğrudan mesajlar, Slack planınızın neyi dışa aktarmanıza izin verdiğine bağlıdır. Konu dizileri, dosya ekleri, özel emojiler ve entegrasyonlar özen ister; bazılarının yeniden kurulması gerekir.

İşe yarayan yaklaşım şu: geçmişi insanların arayabileceği bir arşiv olarak içe aktarın ve geçiş tarihini temiz bir başlangıç olarak görün. Slack'in her davranışını birebir yeniden üretmeye çalışmak, iki haftalık bir geçişi iki çeyreklik bir geçişe dönüştürmenin yoludur.

İkisini iki hafta paralel çalıştırın, önce bir ekibi taşıyın ve kapatma tarihini en başta herkese açık biçimde duyurun. Sohbet geçişleri teknik değil sosyal nedenlerle başarısız olur.

Avrupa açısı

AB'deki şirketler için konu yalnızca maliyet değil. Kendi sunucunuzda barındırmak, şirket içi iletişiminizi sizin kontrol ettiğiniz bir sınırın içine yerleştirir ve bu, aynı anda birkaç konuşmanın şeklini değiştirir: GDPR kapsamındaki aktarım analizi, NIS2 kapsamında tedarik zinciri incelemesi ve kamu alımlarında giderek daha sık karşımıza çıkan, Cloud and AI Development Act'in de konusunun tamamını oluşturan egemenlik soruları.

Şirket içi sohbet, bir şirketin sahip olduğu gizli bilgilerin en yoğun toplandığı yerlerden biridir. Olay ayrıntılarını, müşteri adlarını, insanların yapıştırmaması gerektiği halde yapıştırdığı kimlik bilgilerini ve sürmekte olan her ticari müzakereyi barındırır. Biri bu verinin nerede durduğunu sorduğunda, bir alt işleyenler listesi yerine bir bölge ve bir kabin adıyla cevap verebilmenin bir değeri vardır.

Hiç uğraşmamanız gereken durumlar

Şirketiniz on beş kişiyse, uyum gereksinimleriniz hafifse ve kimse bir sunucunun sorumluluğunu almak istemiyorsa SaaS kullanın. Tasarruf, harcanacak dikkati karşılamaz.

Zaten içinde yaşadığınız bir ekosistemle derin entegrasyona ihtiyacınız varsa, neyi kaybedeceğinize iyice bakın. Microsoft 365 ortamındaki ekipler, sizin yeniden kurmanız gerekecek pek çok şeyi bedavaya alır.

Ve itici güç, maliyet, kontrol veya yargı yetkisiyle ilgili gerçek bir gereksinim değil de sesi çok çıkan tek bir kişinin bir üreticiden hoşlanmaması ise, geçiş yaklaşık yüzde altmış benimsenme oranında tıkanır; bu da bir iletişim aracı için olabilecek en kötü sonuçtur.

Destek almak

Avrupa'da faaliyet gösteren şirketler için kendi sunucularında çalışan açık kaynak altyapıyı kurar ve işletiriz; göz alıcı olmayan kısımlar dahil: push proxy'ler, nesne depolama geçişleri, yükseltme yolları ve bir sohbet aracının gerçekten benimsenmesini sağlayan kimlik entegrasyonu.

Doğru boyutlandırılmış bir Mattermost kurulumu, bunu daha önce yapmış biri tarafından planlanan bir Slack geçişi ya da kendi sunucunuzda barındırmanın ekibiniz için buna değip değmeyeceğine dair dürüst bir cevap istiyorsanız office@c9group.dev adresine yazın. Altyapı çalışmalarımız hakkında daha fazlası AWS maliyet optimizasyonu sayfasında.

Kendi sunucunuzda eksiksiz bir yığın kuruyorsanız, aynı mantık analitik ve pazarlama otomasyonu için de geçerlidir.


Yayınlanma: 8 Ağustos 2026 (güncellenme: 10 Ekim 2026) Kategoriler: İş Birliği, Açık Kaynak, Gizlilik

İş Birliği

Yeni rehberler ve kural değişiklikleri e-postanızda

Bir kural değiştiğinde, bir son tarih kaydığında ya da yeni bir rehber yayımladığımızda size e-postayla göndeririz.

Önce bir onay bağlantısı göndeririz. Aboneliğinizi istediğiniz zaman sonlandırabilirsiniz. Gizlilik Politikası