docker搭建聊天系统RocketChat

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)

  • 10
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

莱卡云

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值