前言
之前的文章有提到部署 MatterMost 的事。
本文來記錄一下。
關於 MatterMost
MatterMost 有點像 Slack 這種協作工具,而且和 GitLab 的整合還不錯,正好我們一直在用 GitLab,所以就部署一個來試試看。
MatterMost 是一款開源的團隊協作和通訊平臺,設計初衷是為企業和組織提供安全、可控的即時訊息解決方案。與其他即時通訊工具相比,MatterMost 具有以下幾個顯著的特點和優勢:
開源和自託管
MatterMost 是開源的,這意味著任何人都可以自由檢視、修改和擴充套件其原始碼。使用者可以選擇自託管,這樣可以完全掌控資料,確保敏感資訊的安全性和隱私性。這對於那些對資料安全有嚴格要求的組織尤其重要。
多平臺支援
MatterMost 支援多種平臺,包括 Windows、macOS、Linux、iOS 和 Android,使用者可以在不同裝置上無縫使用。此外,MatterMost 提供了強大的 Web 端應用,使使用者無需安裝客戶端軟體也能使用其所有功能。
豐富的功能
MatterMost 提供了廣泛的功能來滿足團隊協作的需求,包括:
- 即時訊息:支援一對一聊天和群組聊天,使用者可以實時交流。
- 檔案共享:使用者可以在對話中分享檔案,支援多種檔案格式。
- 視訊會議:整合了視訊會議功能,方便使用者進行面對面的交流。
- 通知和提醒:靈活的通知設定,確保使用者不會錯過重要資訊。
- 搜尋功能:強大的搜尋功能,幫助使用者快速找到所需的資訊和檔案。
整合和擴充套件性
MatterMost 擁有豐富的整合功能,可以與多種第三方應用和服務無縫對接,如 Jira、GitHub、Jenkins 等。此外,MatterMost 提供了強大的 API 和外掛系統,開發者可以根據需求開發自定義功能,進一步擴充套件其功能。
安全性
安全性是 MatterMost 的核心優勢之一。它提供了多層次的安全保護措施,包括資料加密、單點登入 (SSO)、多因素認證 (MFA)、角色和許可權管理等,確保使用者資料的安全性。
社群和支援
作為一個開源專案,MatterMost 擁有一個活躍的社群,使用者可以在社群中獲取幫助、分享經驗和建議。MatterMost 還提供了商業支援服務,使用者可以根據需要選擇不同級別的技術支援和服務。
部署 MatterMost
官方文件: https://docs.mattermost.com/install/install-docker.html#deploy-mattermost-on-docker-for-production-use
以下是我的部署過程
把專案拉下來
git clone https://github.com/mattermost/docker
mv docker mattermost
cd mattermost
修改 .env
配置
cp env.example .env
修改 DOMAIN
域名配置就行,其他的按需修改
建立目錄並設定許可權
mkdir -p ./volumes/app/mattermost/{config,data,logs,plugins,client/plugins,bleve-indexes}
sudo chown -R 2000:2000 ./volumes/app/mattermost
docker compose
clone 以及建立幾個資料夾之後的目錄結構是這樣
matter-most
├── contrib
├── docs
├── nginx
├── scripts
├── volumes
├── docker-compose.nginx.yml
├── docker-compose.swag.yml
├── docker-compose.without-nginx.yml
├── docker-compose.yml
├── env.example
├── LICENSE
└── README.md
這次沒有修改官方的 compose 配置
而是新增了一個自己的配置 docker-compose.swag.yml
將 mattermost 服務接入到 swag 的網路中
services:
postgres:
container_name: mattermost_pgsql
networks:
- default
mattermost:
container_name: mattermost
ports:
- ${CALLS_PORT}:${CALLS_PORT}/udp
- ${CALLS_PORT}:${CALLS_PORT}/tcp
networks:
- default
- swag
networks:
default:
name: mattermost
swag:
external: true
啟動
sudo docker compose -f docker-compose.yml -f docker-compose.swag.yml up -d
接入GitLab SSO
這個是有點折騰的
一開始老是提示 The redirect URI included is not valid.
查了好久資料,還是解決了
首先 MatterMost 裡的文件就是有問題的,不能在使用者個人設定那裡建立 GitLab 應用
而是要進入 GitLab 的管理後臺建立一個全域性應用,才能實現 SSO
然後回撥地址我是新增了這倆
https://mattermost.example.com/signup/gitlab/complete
https://mattermost.example.com/login/gitlab/complete
怎麼發現的呢?其實 GitLab 本身可以提供 MatterMost 的整合功能,詳見 GitLab 文件: https://docs.gitlab.com/ee/integration/mattermost/
然後我在配置裡啟用了這個功能之後,GitLab 自動給我建立了這個應用,後面我又關閉這個功能,但依然使用這個應用,就成功實現了使用 GitLab 登入 MatterMost 的功能……
小結
好折騰啊
實際上發現 MatterMost 的手機App用不了playbooks?有點雞肋了
然後這類團隊協作工具,也許還是得用 SaaS 服務好一點。
我後面還試了一下 wekan ,結果這介面直接勸退了。
參考資料
- https://github.com/mattermost/mattermost/issues/18990
- https://forum.mattermost.com/t/the-redirect-uri-is-not-valid-during-oauth-on-on-new-gitlab-v8-2-2-omnibus-installation/633/2