Rocket.Chat 是一个在线实时聊天程序,功能完善,而且各个操作系统平台均有对应的客户端程序,本文说明一下在 Docker 中的安装方法,有兴趣的可以参考研究。程序运行需要 NodeJS 和 MongoDB 环境。

官方 GitHub 地址:https://github.com/RocketChat/Rocket.Chat

DockerHub 地址:https://hub.docker.com/r/rocketchat/rocket.chat

本次我选择使用的是 CentOS7 镜像来创建容器,关于 Docker 的基本使用办法在前面的文章里已经说的很清楚了,这里不再赘述。

这里要注意的是由于后续需要使用到 systemctl 指令,因此创建容器时需要 privileged 指令提升权限,最后还要跟随 /usr/sbin/init 参数,同时将程序所需要的 3000 端口也映射出来,命令样例如下:

docker run -dit --privileged --restart=always -p 3000:3000 --name="rocketchat" centos:7 /usr/sbin/init

创建完容器后,进入容器,保险起见可以先检查一遍更新:

yum -y check-update

添加 MongoDB 源:

cat << EOF | tee -a /etc/yum.repos.d/mongodb-org-4.0.repo
[mongodb-org-4.0]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/7/mongodb-org/4.0/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-4.0.asc
EOF

设定 Node.js:

yum install -y curl && curl -sL https://rpm.nodesource.com/setup_8.x | bash -

安装 MongoDB,Noge.js 等必要运行库:

yum install -y gcc-c++ make mongodb-org nodejs

yum install -y epel-release && yum install -y GraphicsMagick 

npm install -g inherits n && n 8.11.4 

下载主程序并解压:

curl -L https://releases.rocket.chat/latest/download -o /tmp/rocket.chat.tgz
tar -xzf /tmp/rocket.chat.tgz -C /tmp 

开始安装:

cd /tmp/bundle/programs/server && npm install

然后将安装完后的目录移动到 opt/Rocket.Chat 目录:

mv /tmp/bundle /opt/Rocket.Chat

添加对应用户:

useradd -M rocketchat && usermod -L rocketchat

修改程序目录的用户组:

chown -R rocketchat:rocketchat /opt/Rocket.Chat

创建数据库配置文件:

cat << EOF | tee -a /lib/systemd/system/rocketchat.service
[Unit]
Description=The Rocket.Chat server
After=network.target remote-fs.target nss-lookup.target nginx.target mongod.target
[Service]
ExecStart=/usr/local/bin/node /opt/Rocket.Chat/main.js
StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=rocketchat
User=rocketchat
Environment=MONGO_URL=mongodb://localhost:27017/rocketchat?replicaSet=rs01 MONGO_OPLOG_URL=mongodb://localhost:27017/local?replicaSet=rs01 ROOT_URL=http://localhost:3000/ PORT=3000
[Install]
WantedBy=multi-user.target
EOF

配置数据库相关内容:

sed -i "s/^#  engine:/  engine: mmapv1/"  /etc/mongod.conf
sed -i "s/^#replication:/replication:\n  replSetName: rs01/" /etc/mongod.conf
systemctl enable mongod && systemctl start mongod
mongo --eval "printjson(rs.initiate())"

最后设定开机自启并启动主程序,就完成了:

systemctl enable rocketchat && systemctl start rocketchat

安装完之后就可以退出容器了,然后浏览器访问物理机 IP:3000 端口,即可看到 Rocker.Chat 主程序设置界面了:

设置向导

后面跟随设置向导完成一些常规设定即可,没有什么难度。设置完后就能看到聊天室界面了:

聊天室界面

此程序设定选项非常丰富,具体可以自行研究。

骁龙 8cx Gen3 的 Windows 11 on ARM 体验

老早之前写了苹果 M1 虚拟机和初代骁龙 8cx 跑 Win11 ARM 版的体验,转眼都过去一年多了,现在来给这系列再续一笔。 最近为了体验下 8cx Gen3,买了台华...

阅读全文

Xbox One S 更换固态硬盘流程

记录一下给 Xbox One S 换硬盘的过程,虽然手头现在有 XSX 和 XSS 了,但 X1S 作为我第一台游戏机,还是陪我度过了几年美好时光的,所以如今固态硬盘一路下...

阅读全文

无线宝一代 64G 加速版编程器刷 Padavan

前年底买的一代京东无线宝挂到现在基本也没啥收益了,之前一天还能有个四五毛捞点电费,现在收益又挨了几轮刀后基本惨不忍睹了,白嫖那么多流量一个月到头来...

阅读全文

评论已经关闭。