![图片[1]-【服务器的docker系列】自己动手搭建一个真正属于自己的聊天系统——Rocket.chat-楊仙森万事坞](https://pic.imgdb.cn/item/62af2ac60947543129c41b3a.png)
注意:VPS的内存最好大于2G,再设置2G的SWAP,否则可能跑不起来!
设置SWAP可以用脚本: wget -O box.sh https://raw.githubusercontent.com/BlueSkyXN/SKY-BOX/main/box.sh && chmod +x box.sh && clear && ./box.sh
1:搭建环境
服务器:无论你自家的群晖,还是花钱去腾讯阿里或者国外买的服务器,又或者是白嫖的都可以,不过尽量选择1核1G以上,虽然可以跑,但很勉强。
系统:Debian 10(11也可,Ubuntu18和20都可)
域名一枚,并做好解析到服务器上(无论你买的还是白嫖)
安装好Docker、Docker-compose()
【非必需】提前安装好宝塔面板海外版本aapanel,并安装好Nginx()
【非必需本教程采用】安装好Nginx Proxy Manager进行反代()
2:开始搭建
使用SSH工具连接服务器,逐条输入以下命令
切换到root用户
sudo -i
升级packages
apt update -y
Debian比较纯净可能需要安装以下常用
apt install wget curl sudo vim git
3:创建一下安装的目录:
在root目录里创建了data和在其内创建了docker_data并在其内创建了rocketchat文件夹,其中data可以修改成其他目录
mkdir -p /root/data/docker_data/rocketchat
进入到目标目录内
cd /root/data/docker_data/rocketchat
建立相应yml文件
nano docker-compose.yml
将以下内容复制到yml文件内并保存,如使用的是finalshell工具可能存在代码格式混乱,导致无法正常拉取安装,可以在工具中下半部分的文件访问界面内找到这个文件位置并打开然后重新复制内容黏贴,格式基本就正确,最后保存,或者使用其他ssh工具尝试。
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
# - HTTP_PROXY=http://proxy.domain.com
# - HTTPS_PROXY=http://proxy.domain.com
depends_on:
- mongo
ports:
- 3000:3000 # 只需要改这一个地方,把左边的3000改掉就好啦
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
# 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
可对代码内的左边的3000端口进行修改,无误后按键盘ctrl+x退出编辑,按y进行保存,并回车
4:运行一下代码拉取安装
docker-compose up -d
安装结束后可通过ip加端口号3000访问
4-2:如今后需要更新可通过以下代码
首先备份防万一
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
4-3:如果最后讨厌了,不爱了,那就卸载
进入安装目录
cd /root/data/docker_data/rocketchat
停止容器
docker-compose down
完全删除映射到本地的数据
rm -rf /root/data/docker_data/rocketchat
最后记得查看之前手动创建的rocketchat文件夹和里面的yml文件是不是没有自动删除,可以手动进行删除。
最后的最后通过设置一切正常后,可以通过npm进行反代,达到只需要使用域名即可访问,而不是在后面还拖了端口号的尾巴
2022-06-13 21:46:49进行了更新,某些文章内容具有时效性,若失效或有错误,请在下方留言。



![WP主题美化教程集锦[笔记]-楊仙森万事坞](https://bg.leohi.top/meili/img/leohi/meihuabiji.png)
![2021喜剧动作《警醒》HD1080P[中英双字]-楊仙森万事坞](https://p0.meituan.net/moviemachine/c31af794101eb2ccdd31fb4e3fd70b04236578.jpg@464w_644h_1e_1c)
![[Android]没认证的电视&盒子照样看奈飞的剧 – Netflix – Kodi Edition[安卓TV端]-楊仙森万事坞](https://img.leohi.top/images/2023/02/27/0284d4b9054b.jpg)















![两周后就死 Two Weeks to Live (2020)[4K中字]-楊仙森万事坞](http://p7.itc.cn/images01/20201029/c7a2201270684f5e8a9944762ac20ae1.jpeg)
![玛丽亚·凯莉的奇幻圣诞节特别节目 Mariah Carey’s Magical Christmas Special (2020)[2160P]-楊仙森万事坞](https://img.leohi.top/images/2022/12/14/dbeb5d883d83.jpg)





暂无评论内容