跨平台剪贴板同步 Mattermost 自部署教程

教程文档 · · · 💬 暂无评论

跨平台剪贴板同步 Mattermost 自部署教程

前言

一直再找跨平台的剪切板应用,但是基本都要链接外部互联网,不连外网的环境没法玩。这么想,干脆找个开源 IM 应用好了。找了一圈,也没找到方便部署的。后来无意间搜索到今天说的这款 IM 支持全平台。

WEB、安卓、苹果、PC 都有客户端。名字叫 "Mattermost"

💡 需要一些 Linux 基础操作,不会的话就不要看了。

Mattermost 简介

Mattermost 是一款开源、自托管的即时通讯平台,可以理解为自建的 Slack 替代品。

主要特点

  • 全平台支持:Windows、Mac、Linux、iOS、Android、Web
  • 开源免费:社区版完全免费
  • 可自托管:数据完全自主
  • 无外网依赖:内网也能用
  • 支持中文

适合场景

  • 🏢 团队/企业内部沟通
  • 🔒 内网/隔离网络协作
  • 📋 跨设备剪贴板同步
  • 🛠️ 开发者远程协作
  • 🎮 玩家组内通信

系统要求

  • CPU:2 核
  • 内存:4GB(推荐 8GB+)
  • 存储:50GB+ SSD
  • 操作系统:Ubuntu 20.04 LTS 或更新版本
  • 数据库:PostgreSQL 12+

Docker 部署(推荐)

创建 docker-compose.yml

version: "3"
services:
  db:
    image: postgres:13
    restart: always
    environment:
      POSTGRES_USER: mattermost
      POSTGRES_PASSWORD: mattermost_pass
      POSTGRES_DB: mattermost
    volumes:
      - ./volumes/db/var/lib/postgresql/data:/var/lib/postgresql/data
    networks:
      - mattermost-network

  app:
    image: mattermost/mattermost-team-edition:latest
    restart: always
    ports:
      - "8065:8065"
    depends_on:
      - db
    volumes:
      - ./volumes/app/mattermost/data:/mattermost/data
      - ./volumes/app/mattermost/logs:/mattermost/logs
      - ./volumes/app/mattermost/config:/mattermost/config
    environment:
      MM_USERNAME: mattermost
      MM_PASSWORD: mattermost_pass
      MM_DBNAME: mattermost
    networks:
      - mattermost-network

networks:
  mattermost-network:
    driver: bridge

启动:

docker-compose up -d

访问:http://服务器IP:8065

传统部署方式

1. 添加 Mattermost 源

curl -sL -o- https://deb.packages.mattermost.com/pubkey.gpg | gpg --dearmor | sudo apt-key add -
sudo apt-get update

2. 安装 Mattermost

sudo apt install mattermost -y
sudo install -C -m 600 -o mattermost -g mattermost /opt/mattermost/config/config.defaults.json /opt/mattermost/config/config.json

3. 安装 PostgreSQL

sudo apt install postgresql postgresql-contrib -y
sudo su - postgres -c "createuser mattermost"
sudo su - postgres -c "createdb mattermostdb"
sudo -u postgres psql
ALTER USER mattermost WITH PASSWORD 'YourStrongPassword';
GRANT ALL PRIVILEGES ON DATABASE mattermostdb TO mattermost;
\q
sudo systemctl start postgresql
sudo systemctl enable postgresql

4. 修改配置文件

sudo vi /opt/mattermost/config/config.json

配置:

"DriverName": "postgres"
"DataSource": "postgres://mattermost:YourStrongPassword@localhost/mattermostdb?sslmode=disable&connect_timeout=10"
"SiteURL": "http://your-domain.com:8065"

5. 启动 Mattermost

sudo systemctl start mattermost
sudo systemctl enable mattermost

客户端下载

桌面端

移动端

  • iOS:App Store 搜索 "Mattermost"
  • Android:Google Play / 国内市场

Web

  • 直接访问服务器地址

剪贴板同步用法

跨设备同步原理

Mattermost 通过频道/私聊实现跨设备剪贴板同步:

  1. 在电脑 A 复制内容
  2. 在 Mattermost 频道粘贴发送
  3. 在电脑 B 同步看到
  4. 在电脑 B 复制使用

高效使用技巧

方法一:自建频道

  • 创建"剪贴板同步"频道
  • 只自己使用
  • 或团队成员共享

方法二:自给自己发消息

  • 创建个人频道
  • 给自己发消息
  • 多设备同步

方法三:使用机器人

  • 部署 Matterbridge 等机器人
  • 自动同步多平台消息

进阶配置

启用 HTTPS(推荐)

使用 Nginx 反向代理 + Let's Encrypt:

server {
    listen 80;
    server_name your-domain.com;
    location / {
        proxy_pass http://localhost:8065;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
    }
}

配置邮件通知

"SmtpSettings": {
    "EnableSmtp": true,
    "Host": "smtp.gmail.com",
    "Port": 587,
    "Username": "[email protected]",
    "Password": "your-password"
}

启用 LDAP 认证

"LdapSettings": {
    "Enable": true,
    "LdapServer": "ldap://your-ldap-server:389",
    "BaseDN": "dc=example,dc=com"
}

常见问题

Q:连接数据库失败?

  • 检查 PostgreSQL 服务是否启动
  • 检查用户名密码
  • 检查 pg_hba.conf 配置

Q:Web 端无法访问?

  • 检查防火墙端口 8065
  • 检查 Mattermost 服务状态
  • 检查 SiteURL 配置

Q:客户端无法连接?

  • 客户端必须能访问服务器
  • SiteURL 必须可访问
  • 检查证书(如果用 HTTPS)

安全建议

  • ✅ 修改默认密码
  • ✅ 启用 HTTPS
  • ✅ 配置防火墙
  • ✅ 定期备份
  • ✅ 启用 MFA 多因素认证

备份策略

数据库备份

0 2 * * * pg_dump -U mattermost mattermostdb | gzip > /backup/mm-$(date +\%Y\%m\%d).sql.gz

数据目录备份

tar -czf mattermost-data-$(date +%Y%m%d).tar.gz /opt/mattermost/data

升级维护

sudo apt update
sudo apt upgrade mattermost
sudo systemctl restart mattermost

Docker 升级:

docker-compose pull
docker-compose up -d

总结

Mattermost 是自建跨平台剪贴板同步的优秀解决方案

  • ✅ 全平台客户端
  • ✅ 完全开源
  • ✅ 数据自主
  • ✅ 部署简单
  • ✅ 功能丰富

特别适合:

  • 🏢 企业内部沟通
  • 🔒 内网环境
  • 🛠️ 开发者协作
  • 🎮 玩家组内通信

相关链接

标签:Mattermost, 剪贴板, 部署

添加新评论