1. 简介
你是不是在寻找一个既开源又完全免费的WEB聊天系统?如果是,那Rocket.Chat或许就是你要找的理想工具。它的核心部分基于WEB,支持跨平台客户端——无论你使用Windows、macOS还是Linux,都能轻松找到相应的桌面客户端。而对于安卓和iOS用户,也能在Google Play和App Store中轻松找到相应的移动端版本。
你可能会觉得,Rocket.Chat只是一个普通的聊天工具,但它远不止此。更准确地说,它是一个功能强大的团队协作平台,能在多种场景中助力团队沟通。它不仅支持各种聊天功能,还能轻松融入到你团队的工作流中,让每个成员都能保持紧密联系。
1.1 主要特点
在深入讲解如何搭建Rocket.Chat之前,我先给大家分享一下这个工具的一些亮点功能。说实话,它的功能实在是多到让人眼花缭乱。以下是我整理的几个关键特点,大家可以参考一下:
公共频道聊天:想象一下QQ群或Telegram群组,你可以自由创建多个频道,组织不同的话题讨论,方便团队协作。
频道只读功能:类似于Telegram的频道系统,可以让频道中只有创建者发言,适合一些官方通知或重要信息发布。
私人对话:想要进行私密的聊天?就像QQ好友之间的私信一样,保密性更强。
无记录对话:这项功能就像“阅后即焚”,适合讨论一些敏感内容,确保信息在阅读后不再留存。
@功能:在群组或频道中提到某个人时,使用“@用户名”功能可以提醒对方查看信息。
语音和视频通话:支持语音和视频聊天,不管是远程会议还是团队讨论,都能轻松应对。
链接预览:发送网址时,Rocket.Chat能够自动读取网站的标题和描述,类似于Telegram的链接预览功能。
文件共享:支持文件上传、下载和共享,协作过程中,文件交换不再困难。
强大的搜索功能:无论是用户、群组,还是历史消息,都能通过搜索功能快速找到。
自定义表情:管理员可以设置自定义聊天表情,增强团队氛围。
细致的用户权限设置:管理员可以根据不同用户组设置不同权限,确保团队成员只能访问他们需要的信息。
完全自定义功能:从CSS到站点LOGO、描述甚至注册功能,都可以根据需求进行自定义设置。
额外支持:如OAUTH第三方登录、外部聊天窗口等,进一步扩展了系统的功能。
这些功能听起来是不是挺吸引人的?如果你也心动了,何不亲自动手搭建一下,体验一下它带来的便利?
2. 项目展示
GitHub原项目地址:Rocket.Chat GitHub
官网地址:Rocket.Chat官网
文档地址:Rocket.Chat文档
为了给大家更直观的感受,以下是几张Rocket.Chat界面的截图。



3. 搭建环境
为了顺利搭建Rocket.Chat,首先需要准备好合适的服务器环境。以下是我为大家提供的一些搭建环境建议:
服务器:我使用的是VMRack云服务器,当然,你也可以根据需求选择其它VPS,推荐选择非大陆的服务器,避免一些不必要的访问问题。
操作系统:本教程以Debian 10为例,安装过程中会用到一些基本的脚本和工具。大家可以根据自己的需求选择不同的系统,Debian是一款非常干净的系统,安装过程简单。
域名:如果你希望通过域名访问Rocket.Chat,那么你需要购买一个域名,并将其解析到你服务器的IP地址。
软件:确保服务器已经安装好Docker和Docker-compose,虽然安装过程可能略显繁琐,但完成后会为后续的操作带来很大的便利。
此外,如果你打算使用Nginx反向代理,还需要提前安装好Nginx或者Nginx Proxy Manager。这是可选的,取决于你的需求。
4. 搭建步骤
接下来,让我们正式进入搭建步骤。首先,我们需要完成服务器的初始设置。以下是我为大家总结的一些常见操作:
切换到root用户:
sudo -i更新系统包:
apt update -y安装常用软件:
apt install wget curl sudo vim git创建安装目录并进入该目录:
mkdir -p /root/data/docker_data/rocketchat cd /root/data/docker_data/rocketchat编写
docker-compose.yml文件:
在/root/data/docker_data/rocketchat目录下创建一个docker-compose.yml文件,内容如下:version: '2' services: rocketchat: image: rocketchat/rocket.chat:latest command: > bash -c "for i in `seq 1 30`; do node main.js && s=$$? && break || s=$$?; echo \"Tried $$i times. Waiting 5 secs...\"; sleep 5; done; (exit $$s)" restart: unless-stopped volumes: - ./uploads:/app/uploads environment: - PORT=3000 - ROOT_URL=http://localhost:3000 - MONGO_URL=mongodb://mongo:27017/rocketchat - MONGO_OPLOG_URL=mongodb://mongo:27017/local - MAIL_URL=smtp://smtp.email depends_on: - mongo ports: - 3000:3000 mongo: image: mongo:4.0 restart: unless-stopped volumes: - ./data/db:/data/db command: mongod --smallfiles --oplogSize 128 --replSet rs0 --storageEngine=mmapv1 mongo-init-replica: image: mongo:4.0 command: > bash -c "for i in `seq 1 30`; do mongo mongo/rocketchat --eval \"rs.initiate({ _id: 'rs0', members: [ { _id: 0, host: 'localhost:27017' } ] })\" && s=$$? && break || s=$$?; echo \"Tried $$i times. Waiting 5 secs...\"; sleep 5; done; (exit $$s)" depends_on: - mongo启动Rocket.Chat服务:
在完成配置后,执行以下命令启动服务:docker-compose up -d访问Rocket.Chat:
通过浏览器访问http://服务器IP:3000,即可进入Rocket.Chat的安装界面。
5. 常见问题与解决方案
5.1 更新Rocket.Chat
如果你需要更新Rocket.Chat,步骤如下:
备份当前的文件:
cp -r /root/data/docker_data/rocketchat /root/data/docker_data/rocketchat.archive拉取最新镜像:
cd /root/data/docker_data/rocketchat docker-compose pull启动更新后的容器:
docker-compose up -d
5.2 卸载Rocket.Chat
如果你需要卸载Rocket.Chat,执行以下步骤:
停止容器:
cd /root/data/docker_data/rocketchat docker-compose down删除文件:
rm -rf /root/data/docker_data/rocketchat
6. 反向代理
在反向代理过程中,我遇到了一些问题,尤其是在使用Nginx Proxy Manager时,发现它无法成功连接到远程云端(如OneDrive和Google Drive)。如果你有类似的成功经验,欢迎在评论区与大家分享。



7. 结尾
以在这篇文章中,我详细介绍了如何在VPS上通过Docker搭建Rocket.Chat,从环境配置到服务启动,涵盖了每个关键步骤。Rocket.Chat不仅是一个功能丰富的即时通讯工具,它还是一个强大的团队协作平台,提供了公共频道、私人对话、语音和视频聊天、文件共享等多种便捷的沟通方式。通过此教程,你可以轻松搭建自己的聊天系统,提升团队协作效率。
在搭建过程中,我分享了遇到的一些常见问题以及解决方案,帮助你顺利完成安装。如果你有任何疑问,欢迎在评论区留言,我们可以一起讨论并分享经验。希望这篇教程能帮到你,祝你使用Rocket.Chat愉快!
评论区