目 录CONTENT

文章目录
IM

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

Administrator
2026-03-20 / 0 评论 / 0 点赞 / 0 阅读 / 0 字

前言

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

有关截图

002.avif
003.webp

版本信息
004-gIGn.png

网页聊天界面
005-kidl.png

MAC客户端
006-EdEA.png

Windows客户端
007-dznl.png

IOS客户端
008-bxef.png

andoid客户端
009.jpg

功能项测试

已测试功能

  • 聊天:支持文本、表情、语音、视频消息发送和接收。
  • 文本消息:支持普通文本的即时发送与接收。
  • 表情:支持标准的表情符号。
  • 语音消息:支持发送和接收语音消息。
  • 视频消息:支持发送和接收视频消息。

跨平台测试

  • 网页端:聊天正常。
  • Windows 端:聊天正常。
  • Mac 端:聊天正常。
  • iOS 端:聊天正常。
  • Android 端:聊天正常。

未支持功能

  • 语音通话:需要额外配置
    查看需要付费

010-kTXo.png

  • 视频通话:目前 Rocket.Chat 不支持视频通话功能。
    需要单独配置jitis(开源会议通话解决方案。)

011-kAMo.png

说明

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

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

013-EdHV.png

关于使用人数的限制

014-PJSJ.png

部署方法

使用Docker安装

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

015.jpeg

准备条件

1)一台服务器

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

016-pOtU.png
故推荐选购最低2g内存的机器

2)本教程使用到的项目

本教程使用的官方github地址
https://github.com/RocketChat/Rocket.Chat
官方网站
https://www.rocket.chat/
各平台客户端下载
官方下载

或者使用这个下载
Windows /mac/android客户端
ios自行到App Store下载

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

管理员初始化

017-oUYR.png
工作区初始化

018-bkGU.png

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

019-sAME.png
等待验证

020-WMqG.png
邮箱点击验证即可使用

021-rTXk.png
022-uGgq.png

进入使用界面
023-ZIhp.png

聊天界面
024-BDJC.png

配合客户端使用直接填入网址即可
025-Skik.png
其他功能自行研究即可

绑定域名

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

绑定域名视频教程

B站

YouTube

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

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

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

0
im
  1. 支付宝打赏

    qrcode alipay
  2. 微信打赏

    qrcode weixin
  3. QQ打赏

    qrcode qq

评论区