写点什么

部署个人云社交媒体聊天服务 VoceChat

作者:轶天下事
  • 2024-12-29
    海南
  • 本文字数:4698 字

    阅读完需:约 15 分钟

一、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/

• Githubhttps://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 企业节,超值优惠,性能强劲,助你轻松应对高并发访问,保障用户畅聊体验!立即了解更多,享受促销优惠!

 

 

用户头像

轶天下事

关注

还未添加个人签名 2022-07-30 加入

还未添加个人简介

评论

发布
暂无评论
部署个人云社交媒体聊天服务VoceChat_轶天下事_InfoQ写作社区