搬瓦工搭建 Rocket.Chat 开源聊天平台完整教程
Rocket.Chat 是一款功能丰富的开源即时通讯和协作平台,提供频道管理、私信、视频会议、文件共享、屏幕共享等企业级功能。它支持联邦协议、端到端加密,并且拥有完善的移动客户端。Rocket.Chat 的社区版完全免费,非常适合中小团队使用。本文将介绍如何在搬瓦工 VPS 上通过 Docker 部署 Rocket.Chat。
一、准备工作
1.1 系统要求
- 操作系统:Ubuntu 20.04+(推荐 Ubuntu 22.04)。
- 内存:至少 2GB,推荐 4GB。
- 磁盘空间:至少 10GB。
- Docker:需提前安装,参考 Docker 安装教程。
1.2 创建目录
mkdir -p /opt/rocketchat
cd /opt/rocketchat
二、Docker Compose 部署
2.1 创建配置文件
cat > docker-compose.yml <<'EOF'
version: '3.8'
services:
rocketchat:
image: registry.rocket.chat/rocketchat/rocket.chat:latest
container_name: rocketchat
restart: unless-stopped
depends_on:
- mongodb
ports:
- "3000:3000"
environment:
MONGO_URL: "mongodb://mongodb:27017/rocketchat?replicaSet=rs0"
MONGO_OPLOG_URL: "mongodb://mongodb:27017/local?replicaSet=rs0"
ROOT_URL: "https://chat.example.com"
PORT: "3000"
DEPLOY_METHOD: docker
volumes:
- ./uploads:/app/uploads
mongodb:
image: docker.io/bitnami/mongodb:5.0
container_name: rocketchat-mongodb
restart: unless-stopped
environment:
MONGODB_REPLICA_SET_MODE: primary
MONGODB_REPLICA_SET_NAME: rs0
MONGODB_PORT_NUMBER: 27017
MONGODB_INITIAL_PRIMARY_HOST: mongodb
MONGODB_INITIAL_PRIMARY_PORT_NUMBER: 27017
MONGODB_ADVERTISED_HOSTNAME: mongodb
MONGODB_ENABLE_JOURNAL: "true"
ALLOW_EMPTY_PASSWORD: "yes"
volumes:
- ./mongodb:/bitnami/mongodb
EOF
2.2 启动服务
docker compose up -d
首次启动需要初始化 MongoDB 副本集和 Rocket.Chat 数据,可能需要 2-3 分钟。查看日志:
docker compose logs -f rocketchat
2.3 初始设置
浏览器访问 http://你的服务器IP:3000,按照安装向导完成初始配置:
- 创建管理员账户(用户名、邮箱、密码)。
- 设置组织信息。
- 选择是否注册 Rocket.Chat Cloud(可跳过)。
三、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 200M;
location / {
proxy_pass http://127.0.0.1:3000;
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_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
}
四、基本功能
4.1 频道类型
- 公开频道:所有用户可搜索和加入。
- 私密频道:仅受邀成员可见。
- 私信:一对一和多人私聊。
- 讨论:从消息创建的子讨论线程。
- 团队:将多个频道组织到一个团队中。
4.2 消息功能
Rocket.Chat 支持丰富的消息特性,包括 Markdown 格式化、代码块高亮、文件附件、表情反应、消息线程、消息固定和收藏、提及通知和消息翻译等功能。
4.3 视频通话
Rocket.Chat 内置视频通话功能,支持一对一和群组视频会议。管理员也可以集成 Jitsi Meet 作为视频通话后端。
五、管理设置
5.1 管理面板
以管理员身份登录后,点击「管理」进入管理面板。可以配置以下设置:
- 通用设置:站点名称、URL、通知设置。
- 账户:注册策略、密码策略、两步验证。
- 权限:角色和权限管理。
- 外观:自定义主题和品牌。
5.2 集成功能
Rocket.Chat 提供丰富的集成选项:
- Webhook:入站和出站 Webhook。
- OAuth:支持 GitHub、Google、LDAP 等登录方式。
- Marketplace:安装社区插件和应用。
- API:完整的 REST API 用于自动化。
六、移动端
Rocket.Chat 提供 iOS 和 Android 官方客户端,支持推送通知、消息回复、文件分享和视频通话。在应用商店搜索「Rocket.Chat」下载后,输入服务器地址即可连接。
七、联邦功能
Rocket.Chat 支持 Matrix Federation 协议,可以与其他 Rocket.Chat 实例和 Matrix 服务器互通。在「管理」→「联邦」中启用此功能。
八、维护与更新
8.1 更新 Rocket.Chat
cd /opt/rocketchat
docker compose pull
docker compose down
docker compose up -d
8.2 备份数据
# 备份 MongoDB 数据库
docker exec rocketchat-mongodb mongodump --archive=/bitnami/mongodb/backup.archive --db=rocketchat
cp /opt/rocketchat/mongodb/backup.archive ./rocketchat-db-backup.archive
# 备份上传文件
tar -czf rocketchat-uploads.tar.gz -C /opt/rocketchat uploads/
8.3 查看日志
docker compose logs --tail=100 rocketchat
总结
Rocket.Chat 是功能最为丰富的开源聊天平台之一,在搬瓦工 VPS 上部署后可以满足团队沟通和协作的各种需求。其视频通话、文件共享和集成能力让它足以替代商业聊天工具。如果你的团队更偏好类似 Slack 的体验,也可以参考 Mattermost 教程。选购搬瓦工 VPS 请参考 全部方案,购买时使用优惠码 NODESEEK2026 可享受 6.77% 的循环折扣。如遇问题,可前往 搬瓦工官网 提交工单。