前言
在信息化时代,即时通讯已经成为团队协作与企业沟通的核心工具。无论是远程办公、技术交流,还是私有化数据管理,一个稳定、安全、可控的通讯平台都显得尤为重要。然而,像 Slack、Telegram 等主流工具虽然功能强大,但在数据隐私、可定制性以及长期成本方面,往往难以完全满足个人开发者或企业的需求。
正是在这样的背景下,Rocket.Chat 应运而生。作为一款开源的即时通讯平台,Rocket.Chat 支持私有化部署,具备丰富的功能,包括实时聊天、语音通话、视频会议、文件共享以及强大的集成能力,能够替代大多数商业IM工具。同时,它支持跨平台使用(Web、桌面端、移动端),极大提升了团队协作效率。
本文将带你一步步在 VPS 上通过 Docker 部署 Rocket.Chat,实现一个属于你自己的私有化聊天系统。不仅可以保护数据隐私,还能根据自身需求进行高度定制,非常适合开发者、团队以及对数据安全有更高要求的用户。
即使你是刚接触 Docker,也可以跟随本教程轻松完成部署,快速搭建一个专业级的通讯平台。
项目简介
Rocket.Chat 是一款开源的团队即时通讯平台,定位为“安全通信操作系统(Secure CommsOS)”,专为对数据隐私和安全性有较高要求的组织而设计。它基于现代 Web 技术构建(主要使用 TypeScript),支持私有化部署,能够帮助企业或个人搭建完全自主可控的通信环境。
作为一款功能完善的 IM 协作工具,Rocket.Chat 提供了实时聊天、团队协作、跨组织沟通等核心能力,并支持通过 Web、桌面端及移动端多平台访问。用户不仅可以在内部进行安全交流,还可以通过集成多种渠道(如 WhatsApp、SMS 等)实现与外部客户或用户的全渠道沟通,从而提升沟通效率与用户体验。
在扩展性方面,Rocket.Chat 提供了丰富的应用生态和开放接口,支持通过应用市场安装插件或自行开发集成应用,使其能够灵活适配各种业务场景。此外,它还支持 Docker、Kubernetes 等多种部署方式,并可运行在隔离网络环境中,适用于政府、金融、国防等对安全要求极高的场景。
目前,Rocket.Chat 已被全球超过 150 个国家的数千万用户使用,广泛应用于企业协作、客户支持以及关键任务通信等领域,是开源领域中替代商业 IM 工具(如 Slack)的重要解决方案之一
Rocket.Chat 已被全球众多大型组织采用,包括世界银行、美国海军、瑞士信贷等高安全级别机构,以及多个国家政府、城市管理部门和大型企业。这些用户普遍对数据隐私、安全通信和私有化部署有极高要求,也从侧面证明了 Rocket.Chat 在企业级通信领域的可靠性与安全性。
demo
有关截图


网页聊天界面

MAC客户端

Windows客户端

IOS客户端

说明
这个软件经过我的测试部署在国内的机器上目前无法进行
工作区的注册,离线注册也出问题了

原因可能是国内无法链接rocket.chat网站,等原因
我部署在香港的VPS上就可以正常注册工作区,正常使用

部署方法
使用Docker安装
本教程主要演示使用docker的方式安装部署,简单便捷

准备条件
1)一台服务器
我们使用莱卡云服务器来演示,我们选择香港VPS主要是网络原因,
需要vps的可以看以下信息,配置可以参考以下资源占用情况
莱卡云
本期docker容器占用资源情况如下仅供参考,内存占用大约1G

故推荐选购最低2g内存的机器
2)本教程使用到的项目
本教程使用的官方github地址
https://github.com/RocketChat/Rocket.Chat
官方网站
https://www.rocket.chat/
各平台客户端下载
官方下载
或者使用这个下载
3)域名
尽量绑定,不然不安全,还可能有部分问题
一、Docker环境部署
在vps安装docker和docker-compose
Docker官方安装文档(英文)
https://duan.yyzq.eu.org/docker-001
Docker-Compose官方安装文档(英文)
https://duan.yyzq.eu.org/docker-002
Centos安装Docker和Docker-compose(中文)
https://duan.yyzq.eu.org//03
Ubuntu安装Docker和Docker-compose(中文)
https://duan.yyzq.eu.org//04
推荐直接用一键脚本
docker安装脚本
bash <(curl -sSL https://cdn.jsdelivr.net/gh/SuperManito/LinuxMirrors@main/DockerInstallation.sh)
执行以下命令查看docker版本
docker --version
Docker version 29.1.3, build f52814d
docker-compose安装脚本
curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose && chmod +x /usr/local/bin/docker-compose
执行以下命令查看docker-compose版本
docker-compose --version
Docker Compose version v5.0.1
二、部署命令
登录服务器使用root账户执行以下步骤
docker-compose命令
创建一个目录,并进入此目录
mkdir rocketchat; cd rocketchat
然后再新建docker-compose.yml
vim docker-compose.yml
services:
rocketchat:
image: registry.rocket.chat/rocketchat/rocket.chat:8.2.1
container_name: rocketchat
restart: always
depends_on:
- mongo
- mongo-init-replica
ports:
- "3000:3000"
environment:
- PORT=3000
- ROOT_URL=http://服务器ip:3000
- MONGO_URL=mongodb://mongo:27017/rocketchat?replicaSet=rs0
- MONGO_OPLOG_URL=mongodb://mongo:27017/local?replicaSet=rs0
volumes:
- ./uploads:/app/uploads
mongo:
image: mongo:8.0.3
container_name: mongo
restart: always
command: mongod --replSet rs0 --oplogSize 128
volumes:
- ./data/db:/data/db
- ./data/configdb:/data/configdb
mongo-init-replica:
image: mongo:8.0.3
container_name: mongo-init-replica
depends_on:
- mongo
restart: "no"
command: >
bash -c "
echo '⏳ Waiting MongoDB...' &&
sleep 15 &&
mongosh --host mongo:27017 <<EOF
rs.initiate({
_id: 'rs0',
members: [{ _id: 0, host: 'mongo:27017' }]
})
EOF
"
注意将http://服务器ip:3000
改为自己服务器的公网ip
由于Rocket.Chat的版本众多,为了保证稳定性本教程目前演示的安装了到目前的最新版本,后面如果有升级需求的需要修改版本号,自行测试。
三、执行容器运行命令
docker-compose up -d #运行容器
docker-compose ps #查看是否启动成功
正常启动如下所示
docker-compose ps
NAME IMAGE COMMAND SERVICE CREATED STATUS PORTS
mongo mongo:8.0.3 "docker-entrypoint.s…" mongo 5 minutes ago Up 5 minutes 27017/tcp
rocketchat registry.rocket.chat/rocketchat/rocket.chat:8.2.1 "docker-entrypoint.s…" rocketchat 5 minutes ago Up 5 minutes 0.0.0.0:3000->3000/tcp
四、web界面
打开web页面使用
成功以后需要打开自己相应的端口3000)防火墙就可以web端访问了
主界面
http://ip:3000
管理员初始化

工作区初始化

这里需要填入真实的邮箱接收验证码

等待验证

邮箱点击验证即可使用


进入使用界面

聊天界面

配合客户端使用直接填入网址即可

其他功能自行研究即可
绑定域名
VPS上的建议绑定下域名,方便公网使用
绑定域名的教程参考以下内容
绑定域名视频教程
B站
YouTube
绑定域名可以参考
NginxProxyManager
https://duan.yyzq.eu.org//npm-ch
有任何问题可以直接留言或者问我
有任何问题可以直接留言或者问我
有任何问题可以直接留言或者问我
欢迎关注我们的微信公众号!



评论区