标签搜索

目 录CONTENT

文章目录

在VPS上用Docker部署Rocket.Chat-开源的IM跨平台即时通讯软件

yyzq
2026-03-19 / 0 评论 / 1 点赞 / 11 阅读 / 2,077 字

前言

在信息化时代,即时通讯已经成为团队协作与企业沟通的核心工具。无论是远程办公、技术交流,还是私有化数据管理,一个稳定、安全、可控的通讯平台都显得尤为重要。然而,像 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

https://talk.yyzq.cf/
image-1773912215301

有关截图

686bbd00d93bc71893a5e43a_Group 427327496
68747470733a2f2f676c6f62616c2d75706c6f6164732e776562666c6f772e636f6d2f3631316131396239383533623734313461306636623366362f3633313963373262626438616635633863323265666162365f6865726f496d6167652e77656270
网页聊天界面
image-1773905646335
MAC客户端
image-1773905696031
Windows客户端
image-1773906133221
IOS客户端
image-1773908555782

说明

这个软件经过我的测试部署在国内的机器上目前无法进行
工作区的注册,离线注册也出问题了
image-1773904490690
原因可能是国内无法链接rocket.chat网站,等原因
我部署在香港的VPS上就可以正常注册工作区,正常使用
image-1773904865110

部署方法

使用Docker安装

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

准备条件

1)一台服务器

我们使用莱卡云服务器来演示,我们选择香港VPS主要是网络原因,
需要vps的可以看以下信息,配置可以参考以下资源占用情况
莱卡云
本期docker容器占用资源情况如下仅供参考,内存占用大约1G
image-1773908605068
故推荐选购最低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

管理员初始化
image-1773910733574
工作区初始化
image-1773910854617
这里需要填入真实的邮箱接收验证码
image-1773910928598
等待验证
image-1773910983154
邮箱点击验证即可使用
image-1773911054210
image-1773911111046
进入使用界面
image-1773911102833
聊天界面
image-1773911171702
配合客户端使用直接填入网址即可
image-1773911271008
其他功能自行研究即可

绑定域名

VPS上的建议绑定下域名,方便公网使用
绑定域名的教程参考以下内容

绑定域名视频教程

B站

YouTube

绑定域名可以参考
NginxProxyManager
https://duan.yyzq.eu.org//npm-ch

有任何问题可以直接留言或者问我
有任何问题可以直接留言或者问我
有任何问题可以直接留言或者问我

欢迎关注我们的微信公众号!
微信公众号

1
广告 广告

评论区