部署个人云社交媒体聊天服务 VoceChat
一、Flexus 云服务器 X 实例介绍
云服务器是一种基于云计算技术的虚拟服务器,通过互联网提供计算资源。用户可以根据需求灵活调整配置,无需购买和维护物理硬件。云服务器具有高可用性、弹性扩展和按需付费等优势,适用于各种应用场景,如网站托管、数据存储和应用开发。它不仅降低了 IT 成本,还提高了业务的灵活性和可靠性。
华为云下一代云服务器 Flexus X 实例焕新上线,新产品基于客户业务负载进行动态性能画像,智能推荐资源规格,持续优化性能和成本,按业务算力需求进行精细定价,根据实际使用算力付费,真正用多少花多少,让用户更省钱,覆盖大多数通用工作负载场景。
Flexus X 实例通过和其他服务组合,具备计算、镜像安装、网络、存储、安全等能力,您可根据业务需要灵活配置各资源。
本次测评使用的规格是:4 核 12G-100G-3M 规格的 Flexus X 实例基础模式
二、Flexus 云服务器 X 实例配置
2.1 重置密码
购买服务器的时候可以提前设置用户名和密码,因为我这里跳过了,所以购买完成后需要重置密码,会短信或站内消息通过你的云服务器信息,重点是公网 IP 地址和用户名,首先打开你的服务器控制台,选择重置密码
勾选自动重启,点击确定即可
2.2 服务器连接
华为云服务器提供了多种链接方式,如使用控制台提供的 VNC 方式登录、使用 Linux/Mac OS 系统主机登录 Linux 弹性云服务器(即 ssh root@192.168.48.78 命令)或者使用 Putty、Xshell 等工具登录 Linux 弹性云服务器。
我个人习惯使用 MobaXterm 这款软件,添加 SSH 连接,输出公网 IP、用户名和端口(默认 22),连接即可。
2.3 安全组配置
安全组是一个逻辑上的分组,为同一个 VPC 内的云服务器提供访问策略。用户可以在安全组中定义各种访问规则,当云服务器加入该安全组后,即受到这些访问规则的保护。
系统为每个网卡默认创建一个默认安全组,默认安全组的规则是对出方向上的数据报文全部放行,入方向访问受限。您可以使用默认安全组,也可以根据需要创建自定义的安全组。
主要需要填写优先级(默认填 1 即可)、协议端口(协议一般为 TCP 或 UDP,端口一般选择你项目需要暴露的端口即可),描述(选填,一般会填写此端口的用途以免忘记了),其他默认点击确定即可。安全组配置主要是暴露端口可以给外网访问。
如果还不清楚可以参考文档:安全组配置示例
2.4 Docker 环境搭建
本次服务器环境是 ubuntu 系统镜像,需要自己安装 docker 环境
使用 apt-get 命令安装 docker 及其配置
#安装必要工具包 $ sudo apt-get install \ apt-transport-https \ ca-certificates \ curl \ gnupg-agent \ software-properties-common#添加 Docker GPG 秘钥 $ sudo curl -fsSL https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu/gpg | sudo apt-key add -#配置仓库源 $ sudo add-apt-repository \ "deb [arch=amd64] https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu \ $(lsb_release -cs) \ stable" #更新 apt 包索引 $ sudo apt-get update#安装 docker$ sudo apt-get install docker-ce docker-ce-cli containerd.io#添加 docker 镜像源 $ sudo vim /etc/docker/daemon.json{ "registry-mirrors": [ "https://ustc-edu-cn.mirror.aliyuncs.com/", "https://docker.mirrors.ustc.edu.cn", "https://docker.nju.edu.cn", "https://ccr.ccs.tencentyun.com/", "https://docker.m.daocloud.io/", "https://dockerproxy.com", ]}#重启 $ sudo systemctl daemon-reload$ sudo systemctl restart docker
测试 docker 安装是否成功
root@flexusx-c6b3:~# docker -vDocker version 27.2.0, build 3ab4256```
检查 docker 服务状态
root@flexusx-c6b3:~# systemctl status docker* docker.service - Docker Application Container Engine Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled) Active: active (running) since Fri 2024-08-30 15:53:45 CST; 17h agoTriggeredBy: * docker.socket Docs: https://docs.docker.com Main PID: 24912 (dockerd) Tasks: 13 Memory: 24.7M CPU: 3.778s CGroup: /system.slice/docker.service `-24912 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
检查 docker compose 版本
root@flexusx-c6b3:~# docker compose versionDocker Compose version v2.29.2
三、Flexus 云服务器 X 实例部署 VoceChat
3.1 VoceChat 介绍
VoceChat 是一款超轻量级 Rust 聊天应用、API 和 SDK,优先考虑私人托,使用 VoceChat 构建您自己的应用内消息传递功能!
开放 API 和 SDK 供您在任何地方托管,无需中央服务。机器人、视频通话、发布频道、开放 ID、开放 API、开源 SDK、根据用户反馈进行迭代,受到来自 50 多个国家的 40,000 多名客户的信赖。
• 安全所有数据都存储在您自己的私人服务器上,该服务器采用 Rust 开发,关键业务流程测试覆盖率超过 80%。支持读取和删除功能。
• 开放 API 采用开放 API 标准,可轻松与第三方应用程序和工具集成,具有完整的文档和测试。
• 轻量级该服务器大小不到 20 MB,可以轻松在 NAS 和 Raspberry Pi 上运行。
• 跨平台使用 Flutter + React 开发,支持 Android、iOS、MacOS、Web 和 Windows 平台。
• 免费版本在你的服务器上运行 VoceChat,有限的 Bot 和 Webhook、公共和私人频道、仅限 20 名成员
VoceChat 是一款支持独立部署的个人云社交媒体聊天服务。15MB 的大小可部署在任何的服务器上,部署简单,很少需要维护。前端可以内嵌到自己的网站下,数据完全由用户自己掌握,传输过程加密。
• 官网:https://voce.chat/
• Github:https://github.com/Privoce/vocechat-web
3.2 VoceChat 部署
• 创建 docker-compose.yml
version: '3.5'services: vocechat-server: image: privoce/vocechat-server:latest container_name: vocechat-server restart: always ports: - "3009:3000"
• ports:映射主机的 3009 端口到容器的 3000 端口
如果将上述代码片段保存在名为 docker-compose.yml 的文件中,则只需从同一文件夹中运行 docker compose up -d 即可自动拉取 VoceChat 镜像,并创建并启动一个容器。up 表示启动服务,-d 表示在后台执行。docker-compose down 命令用于停止和清理由 docker-compose up 启动的服务。
• 启动服务
进入项目目录,执行 docker-compose up -d 启动命令,会自动拉取容器并运行
从 Dockerhub 拉取 VoceChat 镜像,地址:https://hub.docker.com/r/privoce/vocechat-server
root@flexusx-c6b3:~/vocechat# docker-compose up -dCreating network "vocechat_default" with the default driverPulling vocechat-server (privoce/vocechat-server:latest)...latest: Pulling from privoce/vocechat-server2fce1e0cdfc5: Pull completebcb894ff1ce8: Pull completee98b383a2bf6: Pull complete1c6666305849: Pull complete75d4f8776b15: Pull complete4141f20750d0: Pull completecba142538d68: Pull complete4f4fb700ef54: Pull completeDigest: sha256:01b5edc94dd0c85541e0bb3d602212f3f6d76ba69f5edbae3ad1084dd5480c34Status: Downloaded newer image for privoce/vocechat-server:latestCreating vocechat-server ... Creating vocechat-server ... done
• 配置安全组
在 Flexus 云服务器 X 实例的安全组管理页面,添加入方向规则,接下来我们启动服务需要监听 3009 端口,所以添加安全组为 TCP:3009 协议端口。
• 检查容器状态
检查 VoceChat 容器状态,确保容器正常启动
root@flexusx-c6b3:~/vocechat# docker psCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES667a59a70f85 privoce/vocechat-server:latest "/docker-entrypoint.…" 12 minutes ago Up 12 minutes 0.0.0.0:3009->3000/tcp, :::3009->3000/tcp vocechat-server
• 访问地址
内网:http://localhost:3009 外网:http://公网 IP:3009
• 访问结果
若出现此页面,则部署 vocechat server 成功。
3.3 VoceChat 使用
点击开始,设置服务器名称,创建服务器
输邮箱和密码,初始化一个管理员账号这是你的服务器上第一个管理员账号,也是超级管理员
确定用户的注册方式,是每个人都能注册并使用这个服务器,还是收到邀请链接的用户才可以注册并使用,我这里默认每个人并确定
最后一步是邀请 TA 人,将邀请链接发送给将来要入驻的社区成员即可,最后点击完成
进入创建的服务器 MaxxSpace,更多设置,像权限,安全,邀请,请前往设置页
点击进入主页,包含个人账户、聊天、成员、收藏、文件和设置功能,其他部分都是聊天页面
点击我的头像,进入我的帐号设置,可以修改头像、用户名、邮箱和密码
点击设置,进入更多的设置项,如服务器概述中的服务器名、服务器描述、更新前端网址、注册设置、在线状态、聊天布局、语言、主题等
成员设置,可以通过链接或二维码的方式邀请用户加入,作为管理员可以进行成员管理,可以设置普通成员还是管理员,还可以删除账户,我这里使用其他浏览器注册了另一个帐号 Paul 并登录的,没有通过邀请链接注册
数据管理,包括聊天数据:清除所有人的聊天数据,即所有文字与文件数据。文件数据:清除所有人的文件图片类型数据。定时删除文件数据:可以选择定时文件数据的周期
还可以配置机器人 &Webhook
查看成员列表,可以发消息,复制邮箱地址
需要先添加为联系人才可以发消息
默认没有验证通过,直接添加成功,就可以发消息了,可以设置自己的消息布局居右,默认是居左的,右上角有已收藏消息功能,发消息的类型比较多,可以 Emoji、文字、任意文件,还支持 markdown 格式转化
发送的视频文件还可以在线预览
选中的消息可以表情评论、编辑、回复、收藏、转发、删除和多选批处理
选择一条消息添加收藏,就可以在收藏中查看,会有所有项、图片、视频和音频分类
在数字化加速发展的时代,聊天应用成为了许多组织沟通的中流砥柱。无论是用于客户服务、团队协作还是社区建设,具备强大且私密的聊天功能是提升用户体验的关键。VoceChat 为开发者和企业提供一个高度可定制且安全的解决方案,作为在线聊天应用的体验就是上面这么多,比如注册、添加好友、聊天以及各种消息类型的发送,VoceChat 还可以集成很多功能,官方有详细的教学指南,还有更多有趣的设置和功能就需要自行探索了。
四、总结
VoceChat 不仅仅是一个聊天工具,而是一个高度可定制的平台,通过对安全性、轻量化和跨平台支持的关注,VoceChat 无疑成为了满足现代通讯需求的理想选择。无论您是想改善团队通信,还是增强客户服务,VoceChat 都能为您的应用程序注入新的活力。此次使用的 Flexus X 实例配置还是很高的 4 核 12G-100G-3M 规格的基础模式,主要体验的聊天功能都很流畅,没有出现卡顿延迟发送消息的问题,也没有漏发的情况,通讯很及时,由于项目是轻量化的程序,占用硬件性能都不高。
刚刚部署完在线聊天项目,是不是还在为服务器性能和成本担忧?别担心,华为云服务器正值 828 B2B 企业节,超值优惠,性能强劲,助你轻松应对高并发访问,保障用户畅聊体验!立即了解更多,享受促销优惠!
评论