搬瓦工部署 Mattermost 团队聊天系统完整教程

Mattermost 是一款开源的团队协作和即时通讯平台,被广泛认为是 Slack 的最佳自托管替代品。它提供了频道管理、文件共享、消息搜索、Webhook 集成、视频通话等丰富功能,非常适合团队内部沟通。其免费社区版已经能满足大多数团队的需求。本文将介绍如何在搬瓦工 VPS 上通过 Docker 快速部署 Mattermost。

一、准备工作

1.1 系统要求

  • 操作系统:Ubuntu 20.04+(推荐 Ubuntu 22.04)。
  • 内存:至少 1GB,推荐 2GB 以上。
  • 磁盘空间:至少 10GB。
  • Docker:需提前安装,参考 Docker 安装教程

1.2 创建目录

mkdir -p /opt/mattermost/config
mkdir -p /opt/mattermost/data
mkdir -p /opt/mattermost/logs
mkdir -p /opt/mattermost/plugins
mkdir -p /opt/mattermost/client-plugins
mkdir -p /opt/mattermost/bleve-indexes
mkdir -p /opt/mattermost/database

二、Docker Compose 部署

2.1 创建配置文件

cd /opt/mattermost
cat > docker-compose.yml <<'EOF'
version: '3.8'

services:
  db:
    image: postgres:16-alpine
    container_name: mattermost-db
    restart: unless-stopped
    environment:
      POSTGRES_USER: mmuser
      POSTGRES_PASSWORD: mmuser_password
      POSTGRES_DB: mattermost
    volumes:
      - ./database:/var/lib/postgresql/data

  mattermost:
    image: mattermost/mattermost-team-edition:latest
    container_name: mattermost
    restart: unless-stopped
    depends_on:
      - db
    ports:
      - "8065:8065"
      - "8443:8443/udp"
    environment:
      TZ: Asia/Shanghai
      MM_SQLSETTINGS_DRIVERNAME: postgres
      MM_SQLSETTINGS_DATASOURCE: "postgres://mmuser:mmuser_password@db:5432/mattermost?sslmode=disable&connect_timeout=10"
      MM_BLEVESETTINGS_INDEXDIR: "/mattermost/bleve-indexes"
      MM_SERVICESETTINGS_SITEURL: "https://chat.example.com"
    volumes:
      - ./config:/mattermost/config
      - ./data:/mattermost/data
      - ./logs:/mattermost/logs
      - ./plugins:/mattermost/plugins
      - ./client-plugins:/mattermost/client/plugins
      - ./bleve-indexes:/mattermost/bleve-indexes
EOF

2.2 设置文件权限

chown -R 2000:2000 /opt/mattermost/config
chown -R 2000:2000 /opt/mattermost/data
chown -R 2000:2000 /opt/mattermost/logs
chown -R 2000:2000 /opt/mattermost/plugins
chown -R 2000:2000 /opt/mattermost/client-plugins
chown -R 2000:2000 /opt/mattermost/bleve-indexes

2.3 启动服务

docker compose up -d

2.4 初始设置

浏览器访问 http://你的服务器IP:8065,首次访问需要创建管理员账户和第一个团队。按照向导完成初始配置即可。

三、Nginx 反向代理

server {
    listen 443 ssl http2;
    server_name chat.example.com;

    ssl_certificate /etc/letsencrypt/live/chat.example.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/chat.example.com/privkey.pem;

    client_max_body_size 50M;

    location ~ /api/v[0-9]+/(users/)?websocket$ {
        proxy_pass http://127.0.0.1:8065;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_read_timeout 600s;
    }

    location / {
        proxy_pass http://127.0.0.1:8065;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_set_header X-Frame-Options SAMEORIGIN;
    }
}

四、基本使用

4.1 频道管理

Mattermost 使用频道(Channel)来组织讨论:

  • 公开频道:团队所有成员可见和加入。
  • 私密频道:仅受邀成员可见。
  • 私信:一对一或小组私聊。

4.2 消息功能

Mattermost 支持丰富的消息功能,包括 Markdown 格式、代码高亮、文件附件(最大 50MB)、表情反应、消息线程回复、消息固定和书签等。

4.3 搜索功能

Mattermost 内置全文搜索,支持按发送者、频道、日期等条件过滤搜索结果。Bleve 搜索引擎已在 Docker Compose 中配置启用。

五、集成与扩展

5.1 Webhook

在「系统控制台」→「集成」中启用 Webhook 后,可以创建 Incoming 和 Outgoing Webhook,与外部服务集成。例如接收 GitHub 通知、CI/CD 构建状态等。

5.2 插件市场

Mattermost 提供丰富的插件,常用的包括 GitHub 集成、Jira 集成、日历、投票、待办事项等。在「系统控制台」→「插件管理」→「市场」中安装。

5.3 Bot 账户

可以创建 Bot 账户用于自动化任务。Bot 可以通过 REST API 发送消息、管理频道等。

六、移动客户端

Mattermost 提供 iOS 和 Android 官方客户端。在应用商店搜索「Mattermost」下载后,输入服务器地址和账号信息即可连接。移动端支持推送通知、消息回复和文件分享。

七、系统管理

在「系统控制台」中可以进行全面的系统管理:

  • 用户管理:创建/停用用户、分配角色。
  • 安全设置:密码策略、会话管理、登录限制。
  • 通知设置:邮件通知、推送通知配置。
  • 文件存储:本地或 S3 兼容存储。

八、维护与更新

8.1 更新 Mattermost

cd /opt/mattermost
docker compose pull
docker compose down
docker compose up -d

8.2 备份数据

# 备份数据库
docker exec mattermost-db pg_dump -U mmuser mattermost > mattermost-db.sql

# 备份文件和配置
tar -czf mattermost-backup.tar.gz -C /opt/mattermost config/ data/ plugins/

总结

Mattermost 是替代 Slack 的优秀自托管方案,功能齐全且部署简单。在搬瓦工 VPS 上运行后,团队可以安全高效地进行内部沟通和协作。如果你需要更偏向即时通讯的方案,可以参考 Matrix SynapseRocket.Chat 教程。选购搬瓦工 VPS 请参考 全部方案,购买时使用优惠码 NODESEEK2026 可享受 6.77% 的循环折扣。如遇问题,可前往 搬瓦工官网 提交工单。

关于本站

搬瓦工VPS中文网(bwgvps.com)是非官方中文信息站,整理搬瓦工的方案、优惠和教程。我们不销售主机,不提供技术服务。

新手必读
搬瓦工优惠码

NODESEEK2026(优惠 6.77%)

购买时填入即可抵扣。