前言
一直再找跨平台的剪切板应用,但是基本都要链接外部互联网,不连外网的环境没法玩。这么想,干脆找个开源 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 update2. 安装 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.json3. 安装 PostgreSQL
sudo apt install postgresql postgresql-contrib -y
sudo su - postgres -c "createuser mattermost"
sudo su - postgres -c "createdb mattermostdb"
sudo -u postgres psqlALTER USER mattermost WITH PASSWORD 'YourStrongPassword';
GRANT ALL PRIVILEGES ON DATABASE mattermostdb TO mattermost;
\qsudo systemctl start postgresql
sudo systemctl enable postgresql4. 修改配置文件
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客户端下载
桌面端
- Windows / macOS / Linux:官方下载
移动端
- iOS:App Store 搜索 "Mattermost"
- Android:Google Play / 国内市场
Web
- 直接访问服务器地址
剪贴板同步用法
跨设备同步原理
Mattermost 通过频道/私聊实现跨设备剪贴板同步:
- 在电脑 A 复制内容
- 在 Mattermost 频道粘贴发送
- 在电脑 B 同步看到
- 在电脑 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 mattermostDocker 升级:
docker-compose pull
docker-compose up -d总结
Mattermost 是自建跨平台剪贴板同步的优秀解决方案:
- ✅ 全平台客户端
- ✅ 完全开源
- ✅ 数据自主
- ✅ 部署简单
- ✅ 功能丰富
特别适合:
- 🏢 企业内部沟通
- 🔒 内网环境
- 🛠️ 开发者协作
- 🎮 玩家组内通信