Triển khai MatterMost – Nền tảng hợp tác nhóm mã nguồn mở

Cài đặt MatterMost trên Docker với SWAG

MatterMost là một nền tảng giao tiếp nội bộ mã nguồn mở, tương tự như Slack, với khả năng tích hợp tốt với GitLab – phù hợp với môi trường hiện tại đang sử dụng công cụ này.

Đặc điểm nổi bật

  • Tự chủ về dữ liệu: Vì là mã nguồn mở, người dùng có thể tự triển khai và kiểm soát hoàn toàn hệ thống, đảm bảo an toàn thông tin nhạy cảm.
  • Hỗ trợ đa nền tảng: Có ứng dụng cho Windows, macOS, Linux, iOS và Android, cùng giao diện web đầy đủ chức năng.
  • Tính năng phong phú: Gửi tin nhắn tức thì, chia sẻ tệp, họp video, thông báo linh hoạt, tìm kiếm nhanh trong lịch sử trò chuyện.
  • Tích hợp sâu rộng: Hỗ trợ API và plugin để kết nối với Jira, GitHub, Jenkins, và nhiều dịch vụ khác.
  • An ninh cao: Hỗ trợ xác thực hai yếu tố (MFA), SSO, mã hóa dữ liệu, phân quyền chi tiết theo vai trò.
  • Cộng đồng hỗ trợ: Có cộng đồng phát triển sôi động, kèm dịch vụ hỗ trợ thương mại nếu cần.

Chuẩn bị môi trường

Sao chép kho mã nguồn:

git clone https://github.com/mattermost/docker
mv docker mattermost
cd mattermost

Sao lưu cấu hình mẫu:

cp env.example .env

Chỉnh sửa .env để thiết lập tên miền chính (DOMAIN) và các tham số khác theo nhu cầu.

Thiết lập thư mục và quyền truy cập

Tạo cấu trúc thư mục cần thiết và cấp quyền phù hợp cho container:

mkdir -p ./volumes/app/mattermost/{config,data,logs,plugins,client/plugins,bleve-indexes}
sudo chown -R 2000:2000 ./volumes/app/mattermost

Cấu hình Docker Compose với SWAG

Thay vì chỉnh sửa file docker-compose.yml gốc, tạo một file bổ sung docker-compose.swag.yml để kết nối MatterMost với mạng của SWAG (dùng để quản lý SSL):

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

Khởi động dịch vụ

Chạy container với cả hai file cấu hình:

sudo docker compose -f docker-compose.yml -f docker-compose.swag.yml up -d

Tích hợp SSO với GitLab

Lỗi thường gặp: The redirect URI included is not valid.

Vấn đề nằm ở cách cấu hình OAuth. Theo tài liệu chính thức, không thể tạo ứng dụng GitLab từ cài đặt người dùng. Cần truy cập vào Admin Area của GitLab để tạo ứng dụng toàn cục.

Thêm hai URL callback:

  • https://mattermost.example.com/signup/gitlab/complete
  • https://mattermost.example.com/login/gitlab/complete

Để biết được các endpoint này, có thể tham khảo hướng dẫn tích hợp của GitLab: GitLab → MatterMost Integration

Sau khi bật tính năng tích hợp trong GitLab, hệ thống sẽ tự động tạo ứng dụng. Sau đó tắt tính năng nhưng vẫn giữ lại ứng dụng đã tạo — điều này giúp SSO hoạt động ổn định.

Nhận xét cuối cùng

Việc triển khai khá phức tạp, đặc biệt với phần cấu hình SSO và mạng lưới. Ngoài ra, ứng dụng di động của MatterMost không hỗ trợ đầy đủ tính năng Playbooks – khiến trải nghiệm hạn chế.

Các công cụ dạng SaaS như Slack hay Microsoft Teams vẫn có lợi thế về trải nghiệm người dùng và tích hợp liền mạch hơn.

Thử nghiệm thêm Wekan nhưng giao diện quá cũ kỹ, gây khó chịu nên tạm bỏ cuộc.

Thẻ: MatterMost docker GitLab SSO SWAG self-hosted

Đăng vào ngày 21 tháng 9 lúc 03:36