rocket-chat部署流程
前言
巧合之下看到了一位UP的视频讲到了这个,和之前我一直很想写的聊天室很相似,功能也十分完善,所以打算本地部署一下试试,表示真香
本流程仅学习使用,正式对外服务需要进行备案,请谨慎
使用docker部署
rocket-chat依赖mongodb,并且使用 MongoDB replica set
来提高效率
新创建的mongodb容器打算只为rocket-chat服务,需要建立一个新的网桥,因为使用Docker DNS Server
进行通信,所以也没必要指定网桥的网段
docker network create --driver bridge rocketchat
经过测试,太高版本的mongodb没办法执行官方给的MongoDB replica set
设置代码,最终将mongodb的版本确定为3.4
启动mongodb容器(注意更改路径)
docker run \
--name mongo \
-v .../path/to/data/db:/data/db \
-v .../path/to/data/dump:/data/dump \ <--optional
--net=rocketchat \
mongo:3.4 \
mongod --smallfiles --oplogSize 128 --replSet rs0 --storageEngine=mmapv1
执行MongoDB replica set
设置代码(只有第一次启动mongodb容器需要执行)
docker run \
--name mongo-init-replica \
--link mongo:mongo \
--rm \
--net=rocketchat \
mongo:3.4 \
mongo mongo/rocketchat --eval "rs.initiate({ _id: 'rs0', members: [ { _id: 0, host: 'localhost:27017' } ]})"
启动rocket-chat(注意修改域名等参数)
docker run \
--name rocketchat \
-v .../path/to/uploads:/app/uploads \
-p 3000:3000 \
-e MONGO_OPLOG_URL=mongodb://mongo:27017/local \
-e MONGO_URL=mongodb://mongo:27017/rocketchat \
-e ROOT_URL=https://sub.domain.xx \
--link mongo:mongo \
--net=rocketchat_default \
--expose 3000 \
rocketchat/rocket.chat:latest
此时查看输出,如果是
➔ +------------------------------------------------+
➔ | SERVER RUNNING |
➔ +------------------------------------------------+
➔ | |
➔ | Rocket.Chat Version: 3.10.4 |
➔ | NodeJS Version: 12.18.4 - x64 |
➔ | MongoDB Version: 3.6.21 |
➔ | MongoDB Engine: mmapv1 |
➔ | Platform: linux |
➔ | Process Port: 3000 |
➔ | Site URL: https://sub.domain.xx |
➔ | ReplicaSet OpLog: Enabled |
➔ | Commit Hash: a4fab4c2d5 |
➔ | Commit Branch: HEAD |
➔ | |
➔ +------------------------------------------------+
则表明已经成功启动,运行在3000端口上
如果显示错误则根据错误信息进行调试
之后请访问该端口进行后续的设置,详情可查看up的视频
资料
UP主视频地址:https://www.bilibili.com/video/BV1ZV411t7xk
安卓客户端:https://assets.lacus.site/rocket/Rocket.Chat.apk
Win客户端:https://assets.lacus.site/rocket/rocketchat-setup-3.0.6.exe
Apple客户端见官网:https://rocket.chat/install/
mongodb配置:https://docs.rocket.chat/installation/manual-installation/mongo-replicas/
如何设置软件推送:https://docs.rocket.chat/guides/mobile-guides/push-notifications-1
使用systemd:https://docs.rocket.chat/installation/docker-containers/systemd
在 rocket.chat 中集成 GitLab:https://www.qiuzhi99.com/articles/rocket-chat-ji-cheng-gitlab-gitlab
本博客所有文章除特别声明外,均采用 CC BY-SA 3.0协议 。转载请注明出处!