如何在 Ubuntu 下部署 Slack 的开源替代品 Rocket.Chat

Rocket.Chat Logo

Slack 是一款集聊天群组、大规模工具集成、文件整合、统一搜索等众多功能于一体的团队沟通和协作软件。但是由于网络限制,导致国内用户连接 Slack 服务器的时间过长,经常出现请求超时的情况。
基于此,我们团队找到了一款 Slack 的开源替代品 Rockat.Chat 并将其 server 部署在 ubuntu 系统的服务器下,虽然其没有 Slack 这么强大,但在团队沟通协作和文件共享等方面还是很出色的,并且客户端支持 Web、App。以下是部署步骤:

step1: 安装 Docker:

为了简化过程,我们使用 Docker 部署此应用。

Docker Logo

# 安装 curl
$ apt-get update
$ apt-get install curl

# 安装 docker
$ curl -sSL https://get.docker.com/ | sh

# 测试 docker 是否安装成功
$ docker ps
docker ps
step2: 安装 docker-compose

一个基于 docker 的应用,通常由多个 docker 容器组成,通过 compose 你可以在单一文件中定义并通过简单的命令操作这些容器。

# VERSION_NUM 是 docker-compose 的版本号,可以访问 https://github.com/docker/compose/releases 查看最新的可用版本
$ curl -L https://github.com/docker/compose/releases/download/VERSION_NUM/docker-compose-`uname -s`-`uname -m` > sudo /usr/local/bin/docker-compose
$ chmod +x /usr/local/bin/docker-compose

例如你想下载安装 1.12.0 版本的 compose,应执行以下命名:

$ curl -L https://github.com/docker/compose/releases/download/1.12.0/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
$ chmod +x /usr/local/bin/docker-compose

# 测试 docker compose 是否安装成功
$ docker-compose --version
docker-compose --version

解决 error message:

  • -bash: /usr/local/bin/docker-compose: Permission deniedsudo -i 以root身份登录后执行命令
  • curl: (7) Failed to connect to github-cloud.s3.amazonaws.com port 443: Connection refused:更换版本号再试,如果仍被 block 的话,请参考其他安装方法
step3: Clone Rocket.Chat

我们使用 Git clone Rocket.Chat 的源码,如果服务器上未安装 Git,可使用以下命令安装:

$ apt-get install git

clone:

$ git clone https://github.com/RocketChat/Rocket.Chat.git

当然,你觉得这样很麻烦的话,可以直接访问其 github地址 下载并上传至服务器。

step4: 启动 Rocket.Chat server
$ cd Rocket.Chat
$ docker-compose up

解决 error message:

  • Unsupported config option for services service: 'rocketchat'docker-compose 与 项目不兼容,建议更新 docker-compose

然后,你就可以通过 http://server_ip:3000 连接至服务器了。

first login
Tips
  • 如果你不希望通过 3000 端口访问服务器,可以修改项目根目录下的 docker-compose.yml
# 假如你希望通过 8080 端口访问服务器
rocketchat:
  image: rocketchat/rocket.chat:latest
  volumes:
    - ./uploads:/app/uploads
  environment:
    - PORT=3000
    - ROOT_URL=http://localhost:8080 
    - 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
  links:
    - mongo:mongo
  ports:
    - 8080:3000
  labels:
    - "traefik.backend=rocketchat"
    - "traefik.frontend.rule=Host: your.domain.tld"
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,314评论 19 139
  • 标签: 翻译 虚拟化 rancher 自从Rancher的Beta版本发布的几周以来,平台新的调度和服务发现的功能...
    cheneydc阅读 7,791评论 1 11
  • 作者简介:黄庆兵,网易蜂巢首席技术布道师,浙大硕士毕业,从事云计算、Docker、Go等相关开发及技术布道工作;喜...
    43ce3d72fadb阅读 13,102评论 0 11
  • 美好在自己的世界,外界等出去再说。 我知道残酷,但我也向往美好。 但你的向往,有时是不现实的
    庄德坤阅读 936评论 0 0
  • 1、好的文字、音乐及电影能穿透时间的流逝,让人体会生活的冷暖,感受生命的力量。 2、世界上有才的人很多,但能成就他...
    Aking1122阅读 4,039评论 0 1