828华为云征文|华为云Flexus X实例docker部署Rocket.Chat构建属于自己的团队通讯协作平台
- 华为云最近正在举办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 -h
Filesystem Size Used Avail Use% Mounted on
tmpfs 1.2G 1.1M 1.2G 1% /run
/dev/vda1 99G 4.2G 90G 5% /
tmpfs 5.7G 0 5.7G 0% /dev/shm
tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs 1.2G 4.0K 1.2G 1% /run/user/0
- 然后输入
ufw status
可以看到默认防火墙是关闭的,因此我们就不需要额外再去配置端口开放相关的配置,只要在华为云安全组配置端口开放就可以了
root@flexusx-ebe8:~# ufw status
Status: 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 -v
Docker 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 -v
Docker 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 Speed
100 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 instance
ROOT_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 ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
10a5472dd164 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-1
233fa6eb22eb 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构建属于自己的团队通讯协作平台完成