华为云 Flexus X 实例 docker 部署 Rocket.Chat 构建属于自己的团队通讯协作平台

YG科技 后端 最近


· 华为云最近正在举办 828 B2B 企业节,Flexus X 实例的促销力度非常大,特别适合那些对算力性能有高要求的小伙伴。如果你有自建 MySQL、Redis、Nginx 等服务的需求,一定不要错过这个机会。赶紧去看看吧!

什么是华为云 Flexus X 实例

· 华为云 Flexus X 实例云服务是新一代开箱即用、体验跃级、面向中小企业和开发者打造的高品价比云服务产品。

· Flexus 云服务器 X 实例是新一代面向中小企业和开发者打造的柔性算力云服务器,可智能感知业务负载,适用于电商直播、企业建站、开发测试环境、游戏服务器、音视频服务等中低负载场景。

开始接触华为云 Flexus 云服务器 X 实例

· 获取华为云 Flexus 云服务器 X 实例后第一步就是先去华为云上重置服务器密码

 

· 重置完毕后用 ssh 工具登录华为云服务器,这里我用的是 finalshell,也可以用其他工具登陆比如 xshell 或者 Putty 都可以

· 登录上去查看硬盘大小,可以看到是 100g 硬盘,硬盘总大小是正常的

root@flexusx-ebe8:~# df -hFilesystem      Size  Used Avail Use% Mounted ontmpfs           1.2G  1.1M  1.2G   1% /run/dev/vda1        99G  4.2G   90G   5% /tmpfs           5.7G     0  5.7G   0% /dev/shmtmpfs           5.0M     0  5.0M   0% /run/locktmpfs           1.2G  4.0K  1.2G   1% /run/user/0

· 然后输入 ufw status 可以看到默认防火墙是关闭的,因此我们就不需要额外再去配置端口开放相关的配置,只要在华为云安全组配置端口开放就可以了

root@flexusx-ebe8:~# ufw statusStatus: inactive

docker 环境的安装

· 然后进行 docker 容器的安装,安装最新版本的 docker

· 这里因为 docker 现在已经无法直接通过网络安装,所以我们通过离线安装的方式安装 docker 环境

· 从官网下载离线包

https://download.docker.com/linux/ubuntu/dists/jammy/pool/stable/amd64/

 

· 如图所示,把离线包传到服务器上,进行安装

dpkg -i *.deb

· 查看安装的 docker 版本

root@flexusx-ebe8:/home/docker# docker -vDocker version 27.1.2, build d01f264

· 至此 docker 容器环境安装完毕

docker-compose 安装

· docker 容器安装完毕后,开始安装 docker-compose

· https://github.com/docker/compose/tags离线下载 docker-compose 的包

· 因为我是 x86-64 的环境,所以从中找到 docker-compose-linux-x86_64 进行下载

· 下载完毕后上传到服务器,然后执行 sudo cp -f docker-compose-linux-x86_64 /usr/local/bin/docker-compose

· 然后授予可执行权限,sudo chmod +x /usr/local/bin/docker-compose

· 查看 docker-compose 版本

root@flexusx-ebe8:/# sudo docker-compose -vDocker Compose version v2.29.2

· 这样 docker-compose 就安装完毕了

什么是 Rocket.Chat

· Rocket.Chat 是一个开源的团队通讯和协作平台,类似于 Slack 或 Microsoft Teams,专为团队提供实时沟通、文件共享、音视频通话、视频会议和其他协作工具。Rocket.Chat 特别适合企业、社区、开发团队或任何需要安全通信和协作的组织。

主要功能:

· 即时通讯:支持一对一聊天、群组聊天、公开和私有频道。

· 音视频通话:支持音频、视频通话和屏幕共享,方便团队进行远程会议。

· 文件共享:可以直接在聊天中发送和接收文件,支持不同格式。

· 通知提醒:支持桌面通知和移动推送,保证团队成员及时获取信息。

· 自定义界面:用户可以根据需求定制聊天界面,适应不同的团队协作方式。

· 集成与扩展:可以与其他工具(如 GitHub、Jira、Trello、Zoom)集成,支持通过 Webhooks、API 进行二次开发。

· 安全性:支持端到端加密、自托管和权限控制,保证数据的安全性和隐私。

· 多平台支持:提供桌面、Web 和移动端应用,支持 Windows、macOS、Linux、iOS、Android。

开始部署 Rocket.Chat

· 访问 Rocket.Chat 官网https://www.rocket.chat/ 

· 点击找到安装页,选择 docker 安装

· 下载 compose.yml 文件 curl -L https://raw.githubusercontent.com/RocketChat/Docker.Official.Image/master/compose.yml -O

root@flexusx-ebe8:/home/docker/rocketchat# curl -L https://raw.githubusercontent.com/RocketChat/Docker.Official.Image/master/compose.yml -O  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current                                 Dload  Upload   Total   Spent    Left  Speed100  1904  100  1904    0     0   1521      0  0:00:01  0:00:01 --:--:--  1521

· 然后创建一个环境变量文件.env,内容如下

### Rocket.Chat configuration# Rocket.Chat version# see:- https://github.com/RocketChat/Rocket.Chat/releases#RELEASE=# MongoDB endpoint (include ?replicaSet= parameter)#MONGO_URL=# MongoDB endpoint to the local database#MONGO_OPLOG_URL=# IP to bind the process to#BIND_IP=# URL used to access your Rocket.Chat instanceROOT_URL=http://弹性公网 ip:3000# Port Rocket.Chat runs on (in-container)#PORT=# Port on the host to bind to#HOST_PORT=### MongoDB configuration# MongoDB version/image tag#MONGODB_VERSION=# See:- https://hub.docker.com/r/bitnami/mongodb### Traefik config (if enabled)# Traefik version/image tag#TRAEFIK_RELEASE=# Domain for https (change ROOT_URL & BIND_IP accordingly)#DOMAIN=# Email for certificate notifications#LETSENCRYPT_EMAIL=

· 然后执行 docker-compose up -d

root@flexusx-ebe8:/home/docker/rocketchat# docker-compose up -d[+] Running 12/12 ✔ mongodb Pulled                                                                                                                                                              691.6s   ✔ 6754bb5cae91 Pull complete                                                                                                                                                688.6s ✔ rocketchat Pulled                                                                                                                                                           435.1s   ✔ 26c5c85e47da Pull complete                                                                                                                                                 61.0s   ✔ 96da4c1974ec Pull complete                                                                                                                                                 61.0s   ✔ 286584c9c618 Pull complete                                                                                                                                                 65.0s   ✔ ec51043fad6b Pull complete                                                                                                                                                 71.4s   ✔ 10845595c672 Pull complete                                                                                                                                                 71.4s   ✔ 3b44d79a5b2d Pull complete                                                                                                                                                155.1s   ✔ 5b39dc932897 Pull complete                                                                                                                                                428.1s   ✔ ae434713252a Pull complete                                                                                                                                                428.8s   ✔ 4f4fb700ef54 Pull complete                                                                                                                                                428.8s[+] Running 4/4 ✔ Network rocketchat_default         Created                                                                                                                                    0.1s ✔ Volume "rocketchat_mongodb_data"   Created                                                                                                                                    0.0s ✔ Container rocketchat-mongodb-1     Started                                                                                                                                    2.8s ✔ Container rocketchat-rocketchat-1  Started                                                                                                                                    0.4s

· 查看 Rocket.Chat 启动状态 docker ps

root@flexusx-ebe8:/home/docker/rocketchat# docker psCONTAINER ID   IMAGE                                                COMMAND                  CREATED         STATUS         PORTS                    NAMES10a5472dd164   registry.rocket.chat/rocketchat/rocket.chat:latest   "docker-entrypoint.s…"   4 minutes ago   Up 4 minutes   0.0.0.0:3000->3000/tcp   rocketchat-rocketchat-1233fa6eb22eb   bitnami/mongodb:5.0                                  "/opt/bitnami/script…"   4 minutes ago   Up 4 minutes   27017/tcp                rocketchat-mongodb-1

· 此时 docker 启动 Rocket.Chat 已经完毕,还需要配置华为云安全组开放端口

配置 Flexus 云服务器 X 实例安全组

· 经过上面部署 Rocket.Chat 服务,这时候服务是已经部署完毕了,但是我们还没法通过外网进行访问,还需要对 Flexus 云服务器 X 安全组的配置进行修改

· 进入安全组的配置页面

· 新建安全组

· 这里我们开放 3000 端口

· 然后加入新建的安全组

· 这样我们的实例的端口也就开放成功了

开始使用 Rocket.Chat

· 输入 http://弹性公网 ip:3000/ 

· 按顺序一步步配置即可,其中最后会发送邮件到配置的邮箱

· 进入首页

 

· 至此华为云 Flexus X 实例 docker 部署 Rocket.Chat 构建属于自己的团队通讯协作平台完成

欢迎大家一起加入华为云!

Apipost 私有化火热进行中

评论