取代微信?RocketChat开源聊天应用搭建教程

本文涉及的产品
云数据库 MongoDB,独享型 2核8GB
推荐场景:
构建全方位客户视图
简介: 取代微信?RocketChat开源聊天应用搭建教程

有很多小伙伴都有过搭建一个自己的聊天服务应用的想法,摆脱微信、QQ等第三方应用,更加注重自己的隐私,或更好的存储自己的文件。


image.png


我发现了一款开源的聊天应用RocketChat,能够实现群组聊天,直接通信,私聊群,桌面通知,媒体嵌入,链接预览,文件上传,语音/视频 聊天,截图等等,还支持实时翻译,实现用户之间的自动实时消息转换,使用RocketChat可以完全控制交流通信。


准备


功能听起来还不错,我们一起来搭建一下,我这里使用以下配置:

# 基础环境, 我这里用的学生机,大家可以调高一点配置
1.CentOS 7.6 1CPU/2G/60G
2.开放公网3000端口

另外需要搭建起docker运行环境,在之前的教程中有讲过使用一键脚本,如果不清楚可以翻看前面的教程。

[root@mx ~]# docker -v
Docker version 20.10.9, build c2ea9bc
[root@mx ~]#


部署


部署MongoDB

首先创建一个自定义网络,用于容器间的相互隔离访问。

# 这里我创建一个mynet的网络
[root@mx ~]# docker network create --subnet=172.18.0.0/16 mynet
e931682423fb3ce386fe8ccff2d4a1207a49de0f6cbb938290aaf94a680d2e33
[root@mx ~]# docker network ls
NETWORK ID     NAME      DRIVER    SCOPE
a187d39a9c31   bridge    bridge    local
a009b92afbec   host      host      local
e931682423fb   mynet     bridge    local
f7101068a933   none      null      local
[root@mx ~]#


image.png


RocketChat依赖于MongoDB运行环境,先采用Docker方式部署一下

mkdir -p /opt/docker/mongodb
# 新建一个配置文件
vim /opt/docker/mongodb/mongod.conf

下面是mongod.conf的内容,请粘贴到文件中, 然后使用esc和:x保存退出。

# mongod.conf
# for documentation of all options, see:
#   http://docs.mongodb.org/manual/reference/configuration-options/
# Where and how to store data.
storage:
  dbPath: /data/db
  journal:
    enabled: true
#  engine:
#  mmapv1:
#  wiredTiger:
# network interfaces
net:
  port: 27017
  bindIp: 127.0.0.1
# how the process runs
processManagement:
  timeZoneInfo: /usr/share/zoneinfo
#security:
#  authorization: "enabled"
#operationProfiling:
replication:
  replSetName: "rs01"
#sharding:
## Enterprise-Only Options:
#auditLog:
#snmp:

使用以下命令创建运行镜像。

docker run \
-itd \
-e PGID=1000 \
-e PUID=1000 \
--name=MongoDB \
--net=mynet \
--ip=172.18.0.2 \
-e TZ=Asia/Shanghai \
-p 27017:27017/tcp \
-v /opt/docker/mongodb/:/data/db:rw \
--hostname mongodatabase mongo \
-f /data/db/mongod.conf

由于docker的镜像服务器在国外,所以下载较慢,如果遇到以下类似的错误,请多试几遍。


image.png


使用命令查看运行状态,如果没有其它报错则安装正常。

# 查看正在运行的容器
docker ps



image.png


配置MongoDB

我们需要对MongoDB进行一系列的配置。

# 进入到容器内部
[root@mx ~]# docker exec -it MongoDB bash
root@mongodatabase:/# 
# 容器内部进入mongodb
root@mongodatabase:/# mongo
# 使用以下命令,注意括号
mongodatabase:SECONDARY> rs.initiate()
{
        "ok" : 0,
        "errmsg" : "already initialized",
        "code" : 23,
        "codeName" : "AlreadyInitialized",
        "$clusterTime" : {
                "clusterTime" : Timestamp(1635072585, 2),
                "signature" : {
                        "hash" : BinData(0,"AAAAAAAAAAAAAAAAAAAAAAAAAAA="),
                        "keyId" : NumberLong(0)
                }
        },
        "operationTime" : Timestamp(1635072585, 2)
}
# 使用管理员操作数据库
mongodatabase:PRIMARY> use admin
switched to db admin
mongodatabase:PRIMARY> 
# 创建管理员和rocketchat数据库, 这里我把密码都修改为admin123,大家可对应修改
db.createUser({user: "root",pwd: "admin123",roles: [{ role: "root", db: "admin"}]})
db.createUser({user: "rocketchat",pwd: "admin123",roles: [{role: "readWrite", db: "local" }]})
# 切换用户
use rocketchat
db.createUser({user: "rocketchat",pwd: "admin123",roles: [{role: "dbOwner",db: "rocketchat" }]})

如果你的操作结果与我类似,那么恭喜你创建成功。

image.png




image.png将24-25行前的注释取消掉,保存后重启mongodb。

docker start MongoDB


部署RocketChat


使用下面的命令部署镜像,如果下载较慢或超时可以多试几次。

docker run \
-itd \
-e PGID=1000 \
-e PUID=1000 \
--name=RocketChat \
--net=mynet \
--ip=172.18.0.3 \
-e TZ=Asia/Shanghai \
-e MONGO_URL=mongodb://rocketchat:admin123@172.18.0.2:27017/rocketchat \
-e MONGO_OPLOG_URL=mongodb://rocketchat:admin123@172.18.0.2:27017/local?authSource=admin \
-p 3000:3000/tcp \
-v /opt/docker/rocketchat:/app/uploads:rw library/rocket.chat


image.png

image.png



最后就可以愉快地玩耍了,发个表情试试~


结语

安装成功后,可以使用ssl证书将网站加密,可以更加的安全。而且使用客户端连接到私有服务器时,http协议不会被连接。


微信图片_20220519172910.png


如果你安装时遇到有问题,无法继续下去,可以私信联系我获得帮助(可提供shell一键脚本)。




相关实践学习
MongoDB数据库入门
MongoDB数据库入门实验。
快速掌握 MongoDB 数据库
本课程主要讲解MongoDB数据库的基本知识,包括MongoDB数据库的安装、配置、服务的启动、数据的CRUD操作函数使用、MongoDB索引的使用(唯一索引、地理索引、过期索引、全文索引等)、MapReduce操作实现、用户管理、Java对MongoDB的操作支持(基于2.x驱动与3.x驱动的完全讲解)。 通过学习此课程,读者将具备MongoDB数据库的开发能力,并且能够使用MongoDB进行项目开发。   相关的阿里云产品:云数据库 MongoDB版 云数据库MongoDB版支持ReplicaSet和Sharding两种部署架构,具备安全审计,时间点备份等多项企业能力。在互联网、物联网、游戏、金融等领域被广泛采用。 云数据库MongoDB版(ApsaraDB for MongoDB)完全兼容MongoDB协议,基于飞天分布式系统和高可靠存储引擎,提供多节点高可用架构、弹性扩容、容灾、备份回滚、性能优化等解决方案。 产品详情: https://www.aliyun.com/product/mongodb
相关文章
|
14天前
|
弹性计算 机器人 应用服务中间件
一键部署开源Qwen3并集成到钉钉、企业微信
Qwen3系列模型现已正式发布并开源,包含8款“混合推理模型”,其中涵盖两款MoE模型(Qwen3-235B-A22B与Qwen3-30B-A3B)及六个Dense模型。阿里云计算巢已支持Qwen3-235B-A22B和Qwen3-32B的私有化部署,用户可通过计算巢轻松完成部署,并借助AppFlow集成至钉钉机器人或企业微信。文档详细介绍了从模型部署、创建应用到配置机器人的全流程,帮助用户快速实现智能助手的接入与使用。
一键部署开源Qwen3并集成到钉钉、企业微信
|
7天前
|
人工智能 前端开发 开发工具
9.2K Star!微信排版从未如此简单,这款开源神器让Markdown飞入公众号!
一款9.2K Star的开源神器,让微信公众号排版变得简单高效!支持Markdown语法,实时预览、多图床混搭、AI智能排版、自定义主题样式等功能一应俱全。通过沉浸式双栏编辑、七图床混合编排、AI写作助手和主题定制工坊等核心功能,彻底解放技术创作者的生产力。无论是技术博客迁移、多平台发布还是企业定制,都能满足需求。三步上手:在线体验、本地部署、公众号对接。项目地址:https://github.com/doocs/md
|
2月前
|
存储 移动开发 小程序
校园圈子系统小程序(圈子论坛、私信聊天、资料共享、二手交易、兼职,跑腿)开源码开发/微信公众号、小程序、H5多端账号同步/搭建多城市的综合社交生活平台
基于开源技术栈构建的校园圈子系统小程序,整合社交与生活服务功能,涵盖兴趣圈子、私信聊天、资料共享、二手交易、兼职跑腿等六大核心模块。通过多端账号同步(微信公众号/小程序/H5),实现数据实时交互,满足学生群体的多元化需求。项目精准锚定校园市场,以“社交+服务”双轮驱动,提供一站式解决方案,支持快速部署与多校区运营,同时具备广告、佣金、会员等多元变现能力,是打造校园生态的理想工具。
147 2
校园圈子系统小程序(圈子论坛、私信聊天、资料共享、二手交易、兼职,跑腿)开源码开发/微信公众号、小程序、H5多端账号同步/搭建多城市的综合社交生活平台
|
2月前
|
存储 API UED
鸿蒙特效教程02-微信语音录制动画效果实现教程
本教程适合HarmonyOS初学者,通过简单到复杂的步骤,一步步实现类似微信APP中的语音录制动画效果。
130 0
鸿蒙特效教程02-微信语音录制动画效果实现教程
|
3月前
|
人工智能 开发框架 机器人
AstrBot:轻松将大模型接入QQ、微信等消息平台,打造多功能AI聊天机器人的开发框架,附详细教程
AstrBot 是一个开源的多平台聊天机器人及开发框架,支持多种大语言模型和消息平台,具备多轮对话、语音转文字等功能。
3337 15
AstrBot:轻松将大模型接入QQ、微信等消息平台,打造多功能AI聊天机器人的开发框架,附详细教程
|
2月前
百炼-我的智能体应用在微信公众号渠道无法得到输出
微信公众号,总是出现思考中,请回复“继续”,而在我的应用观测中已经体现了输出
108 0
|
3月前
|
弹性计算 人工智能 应用服务中间件
一键部署开源DeepSeek并集成到企业微信
DeepSeek近期发布了两款先进AI模型V3和R1,分别适用于通用应用和推理任务。由于官方API流量过大,建议通过阿里云的计算巢进行私有化部署,以确保稳定使用。用户无需编写代码即可完成部署,并可通过AppFlow轻松集成到钉钉、企业微信等渠道。具体步骤包括选择适合的机器资源、配置安全组、创建企业微信应用及连接流,最后完成API接收消息配置和测试应用。整个过程简单快捷,帮助用户快速搭建专属AI服务。
一键部署开源DeepSeek并集成到企业微信
|
2月前
|
小程序
【04】微信支付商户申请下户到配置完整流程-微信开放平台移动APP应用通过-微信商户继续申请-微信开户函-视频声明-以及对公打款验证-申请+配置完整流程-优雅草卓伊凡
【04】微信支付商户申请下户到配置完整流程-微信开放平台移动APP应用通过-微信商户继续申请-微信开户函-视频声明-以及对公打款验证-申请+配置完整流程-优雅草卓伊凡
208 0
【04】微信支付商户申请下户到配置完整流程-微信开放平台移动APP应用通过-微信商户继续申请-微信开户函-视频声明-以及对公打款验证-申请+配置完整流程-优雅草卓伊凡
|
2月前
|
存储 数据可视化 定位技术
以考勤记录、微信聊天记录主张存在加班事实能否获支持?
在现代职场中,加班管理成为HR的核心挑战。本文探讨如何通过考勤记录与微信聊天记录佐证加班事实,结合数字化工具提升管理效能。分析加班认定困境、证据体系构建及实战案例,提出智能预警、证据协同和动态申报三大优化路径。数字化管理不仅减少争议,还助力企业实现合规与共赢,提升员工满意度与组织效能。
|
5月前
|
机器学习/深度学习 人工智能 文字识别
POINTS 1.5:腾讯微信开源的多模态大模型,超越了业界其他的开源视觉语言模型,具备强大的视觉和语言处理能力
POINTS 1.5是腾讯微信推出的多模态大模型,基于LLaVA架构,具备强大的视觉和语言处理能力。它在复杂场景的OCR、推理能力、关键信息提取等方面表现出色,是全球10B以下开源模型中的佼佼者。
287 58
POINTS 1.5:腾讯微信开源的多模态大模型,超越了业界其他的开源视觉语言模型,具备强大的视觉和语言处理能力

热门文章

最新文章