轻量级聊天应用VoceChat
本文是应网友
猪猪侠的要求折腾的;
什么是 VoceChat ?
VoceChat是一款支持独立部署的个人云社交媒体聊天服务。15MB的大小可部署在任何的服务器上,部署简单,很少需要维护。前端可以内嵌到自己的网站下,数据完全由用户自己掌握,传输过程加密。VoceChat从Slack,Discord,RocketChat,Solid,Matrix等产品和规范中博采众长,适用于团队内部交流,个人聊天服务,网站客服,网站内嵌社区的场景。
需要注意的是:
VoceChat的服务端并没有开源,这个和老苏往常折腾的自托管软件不一样;- 超过
20用户需要付费升级License授权;
官方提供了 Demo 站点: https://privoce.voce.chat,不想自己搭可以去体验一下。
安装
在群晖上以 Docker 方式安装。
在注册表中搜索 vocechat-server ,选择第一个 privoce/vocechat-server,版本选择 latest。

卷
在 docker 文件夹中,创建一个新文件夹 vocechat,并在其中建一个子文件夹 data
| 文件夹 | 装载路径 | 说明 |
|---|---|---|
docker/vocechat/data |
/home/vocechat-server/data |
存放设置等 |

端口
本地端口不冲突就行,不确定的话可以用命令查一下
1 | # 查看端口占用 |
| 本地端口 | 容器端口 |
|---|---|
3009 |
3000 |

环境
没有变量,但是需要设置命令,VoceChat 是通过命令来传递参数;
在命令后面输入 --network.frontend_url "http://192.168.0.197:3009",域名如果有端口也要带上
这个地址只是邀请链接中显示的地址;

如果你要更换地址,需要删了重建容器,因为命令只有第一次生效,不能更改;
命令行安装
如果你熟悉命令行,可能用 docker cli 更快捷
1 | # 新建文件夹 vocechat 和 子目录 |
也可以用 docker-compose 安装,将下面的内容保存为 docker-compose.yml 文件
1 | version: '3' |
然后执行下面的命令
1 | # 新建文件夹 vocechat 和 子目录 |
运行
在浏览器中输入 http://群晖IP:3009 就能看到设置界面

设置向导
点 开始 进行设置,比较简单

设置一个管理员

邀请方式默认就可以,否则就只有收到邀请的人才能注册

邀请链接,如果前面设置的是域名,这里会显示域名

到这里就可以了,后面可以进设置再调整

进入主界面,先邀请用户,然后创建一个频道就可以开始愉快的聊天了

反向代理
官方关于反代和 nginx 的配置写的有点复杂,但是如果你和老苏一样在群晖上用 npm,其实都挺简单的

没问题的话老苏习惯全部勾选

完成之后就可以用 https://chat.laosu.ml:444 访问了
但是我们前面已经讲过,--network.frontend_url 设置的是邀请链接地址,所以虽然你是用域名访问的,但是设置中显示的依然还是局域网地址

其实应该跟老苏一样用环境变量,再加上占位替换法,这样会灵活一些;
如果你还需要使用移动端,则还需要在 Advanced 中加入下面的代码
1 | location / { |

否则会卡在注册或者登陆界面,或者直接报错

Android 端
主界面上有客户端下载的按钮

点击会打开一个网站,建议下中间的

下载速度还可以

运行之后,首先要输入服务器地址,也可以用邀请链接

注册用户,设置用户名

登陆成功后就可以聊天啦,老苏发了张图片

网页端能看到手机端发送的内容,不光能发 Markdown,还支持预览

手机上的效果

关于 License
默认安装出来有 20 用户的限制,一般用用应该是够的

不够的话可以购买授权,有 100 用户的 VoceChat Pro 版和 不限 用户数的VoceChat Supreme 版

据说还有机会获得免费版的机会
参考文档
Privoce
地址:https://github.com/Privoce简介 | VoceChat
地址:https://doc.voce.chat/zh-cn/