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

Rocket.Chat Logo

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

step1: 安装 Docker:

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

如何在 Ubuntu 下部署 Slack 的开源替代品 Rocket.Chat_第1张图片
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 连接至服务器了。

如何在 Ubuntu 下部署 Slack 的开源替代品 Rocket.Chat_第2张图片
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"
  • 除了直接通过 web 访问,Rocket.Chat 团队还针对不同的系统开发了 App 供大家使用。
  • rocket.chat 使用指南

你可能感兴趣的:(如何在 Ubuntu 下部署 Slack 的开源替代品 Rocket.Chat)