Ekip içi iletişim, uzaktan çalışmanın yaygınlaşmasıyla birlikte her kurumun bel kemiği haline geldi. Slack gibi bulut tabanlı mesajlaşma servisleri bu ihtiyacı hızlıca karşılıyor; ama ekip büyüdükçe artan maliyet, geçmiş mesajlara erişim sınırları ve en önemlisi tüm iletişim verinizin üçüncü bir şirketin sunucusunda durması ciddi soru işaretleri doğuruyor. İşte Mattermost, tam bu endişelere yanıt veren, kendi sunucunuzda çalışan açık kaynaklı bir ekip mesajlaşma ve iş birliği platformudur.
Bu rehberde Mattermost'un ne olduğunu, hangi soruna çözüm getirdiğini, temel özelliklerini, Slack ile nasıl kıyaslandığını ve kimler için mantıklı olduğunu ele alacağız. Ardından kendi sunucunuzda Docker ile nasıl kurabileceğinizi, ters vekil ve SSL ayarını, ilk yapılandırmayı, yedeklemeyi ve güvenliği pratik örneklerle inceleyeceğiz. Kendi altyapınızda çalışan başka iş birliği araçlarına da ilgi duyuyorsanız Nextcloud ve Outline rehberlerimiz iyi bir tamamlayıcı olur.
Mattermost nedir, ne işe yarar?#
Mattermost, ekipler için tasarlanmış açık kaynaklı bir mesajlaşma ve iş birliği platformudur. En basit tanımıyla, kendi sunucunuzda çalıştırdığınız bir Slack kopyası gibi düşünebilirsiniz. Kanallar, birebir mesajlar, konu başlıkları (thread), dosya paylaşımı ve entegrasyonlar gibi modern bir ekip mesajlaşma aracından beklediğiniz her şeyi sunar; ama tüm bu iletişim verisi üçüncü bir şirketin veri merkezinde değil, sizin seçtiğiniz sunucuda kalır.
Yazılım Go diliyle yazılmış bir sunucu bileşeni ve modern bir web arayüzünden oluşur. Sunucu tarafı verimli ve hafiftir; kullanıcılar ise tarayıcıdan, masaüstü uygulamasından (Windows, macOS, Linux) veya mobil uygulamalardan (Android, iOS) erişebilir. Yani ofiste bilgisayardan yazdığınız bir mesaja, yoldayken telefonunuzdan da devam edebilirsiniz.
Mattermost yalnızca bir sohbet aracı olmanın ötesindedir. Geliştirici ekipler için tasarlanmış güçlü entegrasyon yetenekleri, iş akışı otomasyonu ve DevOps araçlarıyla bağlantı kurma imkânı sayesinde, birçok kurumda merkezi bir iletişim merkezine dönüşür. Açık kaynak kimliği sayesinde de tamamen kendinize göre özelleştirebilirsiniz.
Mattermost hangi sorunu çözer?#
Mattermost'un çözdüğü temel sorunları üç başlıkta toplayabiliriz.
Maliyet. Bulut tabanlı mesajlaşma servisleri genellikle kullanıcı başına aylık ücret alır. Ekip büyüdükçe bu fatura katlanarak artar. Mattermost'ta ise sabit bir sunucu maliyetiyle sınırsız sayıda kullanıcıyı barındırabilirsiniz; kullanıcı başına ödeme yapmazsınız. Onlarca, hatta yüzlerce kişilik ekipler için bu fark uzun vadede oldukça belirgin hale gelir.
Mesaj geçmişi sınırı. Bazı bulut servislerinin ücretsiz katmanları, yalnızca son birkaç bin mesajı ya da belirli bir süreyi gösterir; eski mesajlarınız erişilemez hale gelir. Kendi Mattermost sunucunuzda ise tüm mesaj geçmişiniz, arama yapabileceğiniz biçimde, sunucunuzun disk kapasitesi elverdiği sürece saklanır. Kurumsal hafızanız sizde kalır.
Veri egemenliği ve KVKK. Ekip içi iletişim, çoğu zaman hassas iş bilgilerini, müşteri verilerini ve stratejik kararları içerir. Bu verinin yurt dışındaki bir servisin sunucusunda durması, Türkiye'de faaliyet gösteren kurumlar için hem KVKK uyumu hem de veri egemenliği açısından risk taşır. Mattermost'u Türkiye'deki kendi sunucunuzda barındırmak, verinin nerede durduğunu bilmenizi ve denetlemenizi sağlar.
Temel özellikler#
Mattermost, modern bir ekip iletişim platformundan beklenen özelliklerin tamamını ve fazlasını sunar:
- Kanallar ve birebir mesajlar: Konulara veya projelere göre açık ya da özel kanallar oluşturabilir, kişilerle doğrudan mesajlaşabilirsiniz.
- Konu başlıkları (thread): Bir mesajın altında ayrı bir tartışma dizisi başlatarak kanalları dağınıklıktan kurtarabilirsiniz.
- Dosya paylaşımı: Belge, görsel ve diğer dosyaları kanallara yükleyip ekiple paylaşabilirsiniz; dosyalar sunucunuzda saklanır.
- Güçlü arama: Tüm mesaj ve dosya geçmişinde hızlı ve ayrıntılı arama yapabilirsiniz.
- Entegrasyonlar ve webhook'lar: Gelen ve giden webhook'lar, slash komutları ve API sayesinde Mattermost'u kendi araçlarınıza, CI/CD hatlarınıza ve izleme sistemlerinize bağlayabilirsiniz.
- Slash komutları:
/ile başlayan komutlarla hızlı işlemler tetikleyebilir, özel komutlar tanımlayabilirsiniz. - Sesli ve görüntülü çağrı: Eklenti (plugin) desteğiyle kanal içinden sesli ve görüntülü görüşme başlatabilirsiniz.
- Mobil ve masaüstü uygulamaları: Tüm büyük platformlar için resmi uygulamalar mevcuttur; bildirimler ve çevrimdışı erişim desteklenir.
- Yönetim konsolu (System Console): Kullanıcıları, takımları, izinleri ve tüm sunucu ayarlarını tek bir yönetim panelinden yönetebilirsiniz.
Bu özellik seti sayesinde Mattermost, küçük bir ekibin günlük sohbetinden büyük bir kurumun merkezi iletişim altyapısına kadar geniş bir ölçeğe hitap eder.
Slack ile karşılaştırma#
Mattermost'u değerlendirirken en sık sorulan soru, Slack ile nasıl kıyaslandığıdır. Aşağıdaki tablo temel farkları özetler:
| Özellik | Mattermost | Slack |
|---|---|---|
| Barındırma | Self-host (ve bulut) | Bulut (SaaS) |
| Maliyet | Sabit sunucu maliyeti | Kullanıcı başına aylık ücret |
| Mesaj geçmişi | Sınırsız (disk kadar) | Ücretsiz planda sınırlı |
| Veri sahipliği | Tam (kendi sunucunuz) | Sınırlı (Slack sunucuları) |
| Lisans | Açık kaynak | Kapalı kaynak |
| Özelleştirme | Tam (kaynak koda erişim) | Sınırlı |
| KVKK uyumu | Kolay (veri Türkiye'de) | Ek özen gerektirir |
Kısaca özetlemek gerekirse: sıfır bakımla, geniş bir üçüncü taraf entegrasyon ekosistemiyle ve anında kullanılabilir bir çözümle çalışmak istiyorsanız Slack pratiktir. Buna karşılık maliyet kontrolü, sınırsız mesaj geçmişi, tam veri sahipliği ve KVKK uyumu sizin için öncelikliyse Mattermost belirgin biçimde öne çıkar. Özellikle geliştirici ekipler, Mattermost'un DevOps araçlarıyla derin entegrasyonunu değerli bulur.
Kimler için uygun?#
Mattermost her ekip için tek doğru cevap değildir, ancak şu profillere özellikle iyi uyar:
- KVKK'ya duyarlı kurumlar: İletişim verisinin yurt dışına çıkmaması gereken, veri egemenliğine önem veren şirketler ve kamu ilişkili kuruluşlar.
- Geliştirici ve DevOps ekipleri: CI/CD hatları, hata izleme ve izleme sistemleriyle entegre bir iletişim merkezi isteyen teknik ekipler.
- Büyüyen ekipler: Kullanıcı başına ödeme modelinden kaçınmak isteyen, çok sayıda kullanıcıyı sabit maliyetle barındırmak isteyen kurumlar.
- Ajanslar ve danışmanlıklar: Müşteri iletişimini ve iç iletişimi kendi kontrollerindeki bir platformda tutmak isteyenler.
- Gizliliğe önem veren ekipler: İletişimlerinin tam denetiminin kendilerinde olmasını isteyen her ölçekten ekip.
Ortak nokta, iletişim verisinin kontrolünü elinde tutmak isteyen ve maliyeti öngörülebilir kılmak isteyen ekiplerdir.
Kurulum ve gereksinimler#
Mattermost'u kurmanın çeşitli yolları vardır; ancak en yaygın ve en temiz yöntem Docker ile kurulumdur. Mattermost, verilerini bir PostgreSQL veritabanında saklar; bu yüzden tipik bir kurulum, Mattermost sunucusu ve PostgreSQL veritabanı olmak üzere en az iki bileşenden oluşur. Konteyner mantığına henüz yabancıysanız kurulumdan önce Nextcloud rehberimizdeki Docker örneklerine göz atmanız faydalı olur.
Donanım açısından Mattermost oldukça verimlidir. Küçük bir ekip için 2 GB RAM ve 1-2 vCPU'ya sahip bir sunucu makul bir başlangıçtır. Kullanıcı sayınız ve mesaj trafiğiniz arttıkça belleği ve işlem gücünü büyütmek gerekir. Aşağıdaki tablo pratik bir yol gösterir:
| Kullanım | RAM | CPU | Not |
|---|---|---|---|
| Küçük ekip (5-20 kullanıcı) | 2 GB | 1-2 çekirdek | Başlangıç için yeterli |
| Orta ekip (20-100 kullanıcı) | 4 GB | 2 çekirdek | Rahat çalışma |
| Büyük ekip (100+ kullanıcı) | 8 GB+ | 4+ çekirdek | Ayrı DB sunucusu önerilir |
Tipik bir docker-compose yapılandırması hem Mattermost sunucusunu hem de PostgreSQL veritabanını tek komutla ayağa kaldırır:
services:
db:
image: postgres:16
container_name: mattermost_db
restart: always
environment:
- POSTGRES_DB=mattermost
- POSTGRES_USER=mmuser
- POSTGRES_PASSWORD=degistirin_guclu_bir_parola
volumes:
- db_data:/var/lib/postgresql/data
mattermost:
image: mattermost/mattermost-team-edition:latest
container_name: mattermost
restart: always
depends_on:
- db
ports:
- "8065:8065"
environment:
- MM_SQLSETTINGS_DRIVERNAME=postgres
- MM_SQLSETTINGS_DATASOURCE=postgres://mmuser:degistirin_guclu_bir_parola@db:5432/mattermost?sslmode=disable
- MM_SERVICESETTINGS_SITEURL=https://sohbet.sirketiniz.com
volumes:
- mm_data:/mattermost/data
- mm_config:/mattermost/config
- mm_logs:/mattermost/logs
- mm_plugins:/mattermost/plugins
volumes:
db_data:
mm_data:
mm_config:
mm_logs:
mm_plugins:
Bu dosyayı bir dizine kaydedip aynı klasörde şu komutu vermeniz yeterlidir:
docker compose up -d
Örnekteki parolaların gerçek kurulumda mutlaka değiştirilmesi gerektiğini yineleyelim. Mattermost varsayılan olarak 8065 portunda yayın yapar; MM_SERVICESETTINGS_SITEURL değerini de sunucunuzun erişileceği tam adrese göre ayarlayın.
Ters vekil ve SSL#
Mattermost'u doğrudan 8065 portundan yayına almak yerine önüne bir ters vekil (reverse proxy) koymak önerilen yaklaşımdır. Böylece uygulamaya standart 443 portundan, geçerli bir HTTPS sertifikasıyla erişilir ve sertifika yönetimi tek noktada toplanır. Nginx bunun için en yaygın tercihtir; kurulum ayrıntıları için Ubuntu üzerinde Nginx kurulumu rehberimize bakabilirsiniz.
Ücretsiz ve otomatik yenilenen bir sertifika için Let's Encrypt ile ücretsiz SSL rehberimizi inceleyebilirsiniz. Mattermost gerçek zamanlı mesajlaşma için WebSocket bağlantısı kullandığından, ters vekil yapılandırmanızda WebSocket geçişini (upgrade başlıkları) etkinleştirmeyi unutmayın; aksi halde mesajlar anlık gelmez ve bağlantı sürekli kopar. HTTPS olmadan bir mesajlaşma platformunu üretim ortamında yayına almak, tüm iletişimin şifresiz aktarılması demektir; bu yüzden SSL bir tercih değil, zorunluluktur.
İlk yapılandırma#
Konteynerler ayağa kalktıktan sonra tarayıcınızdan sunucunuzun adresine giderek Mattermost'un karşılama ekranına ulaşırsınız. İlk kaydolan kullanıcı, sistemin yöneticisi (System Admin) olur; bu yüzden ilk hesabı kendiniz oluşturun ve güçlü bir parola belirleyin.
Yönetici olarak ilk yapmanız gerekenler:
- System Console'a girin. Bu, tüm sunucu ayarlarını yönettiğiniz merkezi paneldir. Site adı, kayıt politikaları, e-posta (SMTP) ayarları, dosya depolama ve güvenlik seçenekleri buradan yapılandırılır.
- E-posta bildirimlerini ayarlayın. Kullanıcıların davet e-postası ve bildirim alabilmesi için bir SMTP sunucusu tanımlayın.
- Bir takım (team) oluşturun. Mattermost'ta kullanıcılar takımlar altında toplanır; ilk takımınızı oluşturup kanallarınızı buraya ekleyin.
- Kayıt politikasını belirleyin. Herkesin serbestçe kaydolmasını mı, yoksa yalnızca davetle mi katılmasını istediğinizi seçin. Kurumsal kullanımda genellikle davet tabanlı veya alan adı kısıtlamalı kayıt tercih edilir.
Bu adımların ardından ekip üyelerinizi davet edip iletişime başlayabilirsiniz.
Yedekleme#
Ekip iletişiminiz kurumsal hafızanızın önemli bir parçası olduğu için düzenli yedekleme ihmal edilmemelidir. Mattermost'ta yedeklenmesi gereken iki temel bileşen vardır: PostgreSQL veritabanı (mesajlar, kullanıcılar, kanallar) ve veri dizini (yüklenen dosyalar). Docker kurulumunda bunlar bağladığınız mm_data ve db_data birimlerinde durur.
Veritabanını yedeklemek için pg_dump kullanabilirsiniz:
docker exec mattermost_db pg_dump -U mmuser mattermost > mattermost_yedek.sql
Dosya dizinini yedeklemek için ise mm_data volume'ünün içeriğini bir arşive alıp sunucu dışına kopyalamanız gerekir. Her iki yedeği de aynı anda ve düzenli aralıklarla almak kritiktir; yalnızca veritabanını yedekleyip dosyaları unutmak, geri yükleme sırasında eksik içerikle karşılaşmanıza yol açar. Yedekleri sunucu dışında, ayrı bir konumda saklamak ve bu işlemi bir cron görevi ile otomatikleştirmek en sağlıklı yaklaşımdır.
Güvenlik#
Kendi mesajlaşma sunucunuzu yönettiğinizde güvenliğinden de siz sorumlu olursunuz. İletişim verisinin hassasiyeti düşünüldüğünde birkaç temel önlem şarttır:
- Her zaman HTTPS kullanın. Yukarıda anlattığımız gibi SSL olmadan yayına almayın.
- Güçlü kimlik doğrulama uygulayın. Kullanıcılar için güçlü parola politikaları belirleyin ve mümkünse çok faktörlü doğrulamayı (MFA) etkinleştirin.
- Kayıt politikasını sıkılaştırın. Herkese açık kayıt yerine davet tabanlı veya alan adı kısıtlamalı kayıt kullanın.
- Veritabanını internete açmayın. Yalnızca gerekli portları (443) dışarıya açık tutun; PostgreSQL portunu asla internete açmayın.
- Güncel kalın. Mattermost'u ve temel imajlarını düzenli olarak güncelleyerek güvenlik yamalarını uygulayın.
- Sunucuyu sağlamlaştırın. SSH erişimini ve genel sunucu güvenliğini ihmal etmeyin.
Bu önlemler, kendi kontrolünüzdeki bir iletişim platformunun sunduğu özgürlüğü güvenlik riskine dönüştürmeden kullanmanızı sağlar.
Sıkça Sorulan Sorular#
Mattermost ücretsiz mi?#
Mattermost'un Team Edition sürümü açık kaynak ve ücretsizdir; ekip mesajlaşması için gereken temel özelliklerin tamamını içerir. Gelişmiş kurumsal özellikler (ayrıntılı erişim kontrolü, uyumluluk raporları, kurumsal kimlik entegrasyonu ve öncelikli destek gibi) için ücretli Enterprise sürümü de bulunur. Çoğu ekip için ücretsiz sürüm fazlasıyla yeterlidir; yalnızca sunucu maliyetini karşılarsınız.
Mattermost gerçekten Slack'in yerini tutar mı?#
Çoğu ekip için evet. Kanallar, birebir mesajlaşma, konu başlıkları, dosya paylaşımı, arama ve entegrasyonlar gibi günlük iletişimde ihtiyaç duyulan işlevlerin neredeyse tamamını sunar. Slack'in üçüncü taraf entegrasyon ekosistemi daha geniş olsa da, Mattermost geliştirici araçlarıyla derin entegrasyon, sınırsız mesaj geçmişi ve tam veri sahipliği açısından öne geçer. Kurumsal kullanımda çoğu ekip geçişte zorlanmadan uyum sağlar.
Mattermost çalışması için hangi altyapı gerekir?#
Mattermost, verilerini bir PostgreSQL veritabanında saklar; bu yüzden tipik bir kurulum Mattermost sunucusu ve PostgreSQL veritabanından oluşur. Küçük bir ekip için 2 GB RAM ve 1-2 vCPU'ya sahip bir sunucu makul bir başlangıçtır. Kullanıcı sayınız arttıkça belleği ve işlem gücünü büyütmeniz, büyük ekiplerde ise veritabanını ayrı bir sunucuya taşımanız önerilir.
Verilerim KVKK açısından güvende olur mu?#
Mattermost'u Türkiye'deki kendi sunucunuzda barındırdığınızda, tüm iletişim verisi sizin denetiminizdeki bir altyapıda kalır. Bu, verinin nerede durduğunu bilmenizi ve KVKK gerekliliklerine uygun biçimde yönetmenizi kolaylaştırır. Verilerin yurt dışına aktarımı gibi karmaşık uyum konularıyla uğraşmak yerine, veri egemenliğini doğrudan elinizde tutmuş olursunuz. Yine de güvenlik önlemlerini eksiksiz uygulamak sizin sorumluluğunuzdadır.
Mesaj geçmişim ne kadar süre saklanır?#
Kendi Mattermost sunucunuzda mesaj geçmişiniz, sunucunuzun disk kapasitesi elverdiği sürece sınırsız olarak saklanır. Bulut servislerinin ücretsiz katmanlarında görülen "yalnızca son birkaç bin mesaj" gibi kısıtlamalar burada yoktur. Dilerseniz yönetim konsolundan veri saklama (retention) politikaları tanımlayarak eski mesajların ne kadar süre tutulacağını kendiniz de belirleyebilirsiniz.
Mattermost'u nasıl yedeklerim?#
Mattermost'ta iki bileşeni yedeklemeniz gerekir: PostgreSQL veritabanı (mesajlar ve yapılandırma) ve veri dizini (yüklenen dosyalar). Veritabanını pg_dump ile, dosya dizinini ise volume içeriğini arşivleyerek yedeklersiniz. Her iki yedeği de düzenli aralıklarla, tercihen bir cron görevi ile otomatik olarak alıp sunucu dışında ayrı bir konumda saklamanız en sağlıklı yaklaşımdır.
Kapanış#
Mattermost, ekip iletişiminizi üçüncü bir tarafa bağımlı kalmadan, öngörülebilir bir maliyetle ve tam kontrolle yönetmenin en olgun yollarından biridir. Slack'in tanıdık deneyimini sunarken, sınırsız mesaj geçmişi, kullanıcı başına ücret olmaması ve en önemlisi verinin tamamen sizin denetiminizde kalması gibi ciddi avantajlar sağlar. Özellikle KVKK'ya duyarlı kurumlar ve geliştirici ekipler için bu, güçlü bir tercih anlamına gelir.
Kendi Mattermost sunucunuzu kurmak için sağlam ve ölçeklenebilir bir zemine ihtiyacınız var. Sürekli çalışması gereken bu tür servisler için sanal sunucu (VDS) ve genel sunucu çözümlerimizi inceleyebilir, hazır uygulamalarla hızlı başlamak için App Center kataloğumuza göz atabilirsiniz. Ekibinizin iletişimini kendi denetiminize almaya bugün başlayabilirsiniz.