1.介绍
Rocket.Chat 是一个网络聊天服务器,使用 JavaScript 开发,使用 Meteor 全栈框架。 对于希望私下托管自己的聊天服务的社区和公司,或者对于希望构建和发展自己的聊天平台的开发人员来说,这是一个很好的解决方案。Rocket.chat是一个开源的社交软件,即可以直接在web页面使用,也可以下载APP(Android,IOS,Windows,Mac OS)
你可以到这里下载 Windows、macOS、Linux 的桌面客户端。
安卓用户和 iOS 用户可以在分别在 Google Play 和 App Store 上下载移动端。
2.环境构建
服务器:莱卡云服务器(香港地区)
系统:Debian 10 为例
安装方式有好几种方式,这里采取docker-compose容器安装方式
3. 搭建方式
5.1更新系统中的软件包
apt update -y && apt upgrade -y && apt install -y curl wget sudo socat
5.2安装 Docker
curl -fsSL https://get.docker.com | sh
设置开机自启
systemctl enable docker
5.3安装Dcoker-compose
sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
docker-compose --version
这样我们docker和docker-compose就都安装好了
5.4创建安装的目录
#创建一个目录
mkdir -p rocketchat
#进入目录
cd rocketchat
#使用nano命令编辑docker-compose.yml文件
nano docker-compose.yml
5.5docker-compose.yml文件复制粘贴一下内容
以上是获取到的官方docker-compose.yml,默认端口3000,使用mongo数据库,根据自己需求更改。
我这里不需要更改什么,直接使用即可。
version: '2'
services:
rocketchat:
image: registry.rocket.chat/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
- REG_TOKEN=${REG_TOKEN}
# - MAIL_URL=smtp://smtp.email
# - HTTP_PROXY=http://proxy.domain.com
# - HTTPS_PROXY=http://proxy.domain.com
depends_on:
- mongo
ports:
- 3000:3000
labels:
- "traefik.backend=rocketchat"
- "traefik.frontend.rule=Host: your.domain.tld"
mongo:
image: mongo:4.0
restart: unless-stopped
volumes:
- ./data/db:/data/db
#- ./data/dump:/dump
command: mongod --smallfiles --oplogSize 128 --replSet rs0 --storageEngine=mmapv1
labels:
- "traefik.enable=false"
# this container's job is just run the command to initialize the replica set.
# it will run the command and remove himself (it will not stay running)
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
粘贴上去,按ctrl+x
退出,按 y
保存,enter
确认。
5.6运行:
sudo docker-compose up -d
访问:http:服务ip:3000
即可。
注意:放行3000端口或者关闭防火墙!
这样我们就配置成功了
5.7 卸载
# 停止容器
docker-compose down
# 完全删除映射到本地的数据
rm -rf /root/data/docker_data/rocketchat
4.结尾
至此就完成了Rocket.Chat的安装
docker部署方式是一种比较快速简单的部署方式
使用过程中有任何疑问可以查看
GitHub 原项目地址:https://github.com/RocketChat/Rocket.Chat(32k star)