爱意满满的作品展示区。
TristanYang

一个可自部署的轻量级聊天系统 [更新]

  TristanYang ·
zerosoul · Nov 16, 2022 · 10663 views
This topic created in 1451 days ago, the information mentioned may be changed or developed.

之前分享过的一个项目 这段时间根据大家的反馈,做了较多更新迭代,所以再次分享下:

VoceChat 是什么

是一款支持独立部署的个人云社交媒体聊天服务。15MB 的大小可部署在任何的服务器上,部署简单,很少需要维护。前端可以内嵌到自己的网站下,数据完全由用户自己掌握,传输过程加密。VoceChat 从 Slack, Discord, RocketChat, Solid, Matrix 等产品和规范中博采众长,适用于团队内部交流,个人聊天服务,网站客服,网站内嵌社区等场景。

我们认为 Web 3.0 去中心化的第一步是基于个人云的去平台化,通过个性化的计算与个性化的存储,让个人和组织拥有自己的平台,所以 VoceChat 的定位是能轻易部署在私有云上的社交协作程序。

如果你想搞一套自己的聊天系统,可以试试这款可自部署的轻量级聊天系统:VoceChat

VoceChat 具备的功能特性:

  • 🛠️ 开源 + 自部署:意味着代码 + 数据完全自主,甚至可以做二次开发
  • 📱 全平台:一旦部署成功,既可以通过 WebAPP 使用,也可以通过手机 APP 使用
  • 👨‍👨‍👦‍👦 即时聊天 + 频道:既可以同某个人即时聊天,也可以建立一个主题频道群聊
  • 😃 多种消息格式:文本,图片,文件,emoji ,以及富文本( markdown )
  • ⭐ 丰富的可配置项:在登录,注册,通知,成员管理,频道管理,第三方授权等各方面,都做了详尽的可配置化,比如在注册环节,可以设置是否开放注册,以及注册方式是邀请注册还是自注册,满满的掌控感
  • 🤖 强悍的扩展功能:我们有 widget 组件,可以很方便地把 VoceChat 聊天功能扩展到任意网站,让你的网站即刻拥有 IM 功能;如果你有需要,甚至可以把整个聊天应用嵌到自己网页内
  • 💪🏻 还有更多特性等你来发掘

更多参考

最后

  • 起初,VoceChat 是面向的海外,所以使用界面以英文为主,后续会添加多语言支持
  • 目前产品处于内测阶段,欢迎有兴趣的朋友试用,如果您在部署过程中有任何问题,或者有任何意见和建议,可以 v 我 yanggc888,也欢迎贡献成功实例,一经采纳,将有不低于 50 的现金红包奖励~
Supplement 1  ·  Nov 16, 2022

这次有个主要更新:网站挂件 [widget] 。可以很方便的将已部署的vocechat扩展到任意网站,让自己网站即可拥有即时聊天功能,我自己的站点就放了一个widget

https://yangerxiao.com

demo

Supplement 2  ·  Nov 24, 2022

最近更新:

  • WebAPP新增多语言支持,目前有中英两种语言,欢迎贡献其它语言:https://github.com/Privoce/vocechat-web/tree/main/public/locales
  • 新增部署参数:network.frontend_url,该参数为必填参数
  • 去掉了 /api/swagger 前端路径缓存,现在可以能够正确到达访问部署实例后的API文档,例:https://vocechat.yangerxiao.com/api/swagger
  • 修复了shell脚本安装域名解析报错问题
  • WebAPP:禁用textarea的语法检测
  • APP:修复了邀请链接注册过程中的服务器识别和验证链接有效性的问题
  • 感谢大家使用反馈,修复了很多小bug,就不一一列举了
TristanYang
TristanYang
OP
Nov 16, 2022
1
😂 vx 写错了 yanggc_2013
ragnaroks
ragnaroks
Nov 16, 2022
2
酷拉斯特,没看文档,是否有匿名模式?就是加入只用写个昵称就行,聊天数据不做保留(或只保留最后 10 分钟)。匿名模式用来临时组群沟通很常用。
TristanYang
TristanYang
OP
Nov 16, 2022
3
@ragnaroks good idea! 有 guest 模式 但是目前只能浏览信息 不能发消息 会考虑加入这个匿名模式~
silentx
silentx
Nov 16, 2022
4
看上去不错 邮箱也不用验证
TristanYang
TristanYang
OP
Nov 16, 2022
5
@silentx emmmm 注册邮箱不用验证,是方便,但也有一定的安全问题,双刃剑。不过我们支持邀请连接注册,考虑安全问题,可以采用这种方式。
codespots
codespots
Nov 16, 2022
6
看上去不错,star 一下
codespots
codespots
Nov 16, 2022
7
我看了楼主发的旧帖,看到微信群头像一个熟悉的头像,回到这个帖子确认下,原来是羊二啊,已经有微信了,哈哈哈哈,大佬大佬
AkaHero
AkaHero
Nov 16, 2022
8
开启 SMTP 后,默认验证邀请人的邮箱了,但是发送的邮件里的链接是错误的
TristanYang
TristanYang
OP
Nov 16, 2022
9
@Heroininu 感谢反馈 您是已经部署成功了?方便的话,可以 V 具体聊聊~
helloworld1024
helloworld1024
Nov 16, 2022
10
UI 挺好看的。
wooke
wooke
Nov 16, 2022
11
部署了,弄来耍耍,希望支持中文界面
calming
calming
Nov 16, 2022
12
哈哈 之前有过想法做类似的东西没想到你们已经实现了 点赞
hello267015
hello267015
Nov 16, 2022
13
数据存储用的啥
TristanYang
TristanYang
OP
Nov 16, 2022
14
@wooke 太棒了,可以加 V 领红包哈~
TristanYang
TristanYang
OP
Nov 16, 2022
15
@calming 有兴趣也可以加入完善它,vocechat 才刚起步,可以走的更远一些
TristanYang
TristanYang
OP
Nov 16, 2022❤️1
16
@hello267015 目前是 sqlite 后端用 rust 写的
isolcat
isolcat
Nov 16, 2022
17
很简约大气的界面,star 了
bugsnail
bugsnail
Nov 16, 2022
18
赞,刚刚有个项目可以试试
fox233
fox233
Nov 16, 2022
19
国内服务器可以部署吗
hello267015
hello267015
Nov 16, 2022
20
@TristanYang 试用了一下,体验很棒啊 , docker 可以把数据文件映射出来吗,准备部署到我的 nas
vsitebon
vsitebon
Nov 16, 2022
21
可以用来开发别的软件的插件吗?
TristanYang
TristanYang
OP
Nov 16, 2022
22
@fox233 可以的 只是有部分功能众所周知的原因是受限的 比如 notification 部分... 当然 如果服务器具备 cross the wall 功能,那没事了。
TristanYang
TristanYang
OP
Nov 16, 2022
23
@vsitebon 什么场景,可以加 v 具体聊聊~
TristanYang
TristanYang
OP
Nov 16, 2022
24
@hello267015 可以的 既然支持 docker 部署 可以映射
suyuyu
suyuyu
Nov 16, 2022
25
这主页,小学生主页既视感 (
rusteer
rusteer
Nov 16, 2022
26
rust 写的?
TristanYang
TristanYang
OP
Nov 16, 2022
27
@suyuyu 哪个主页?是聊天主页还是官网 https://voce.chat ?审美是个挺主观的事情,如果大多数人都说有问题,我们改😂
TristanYang
TristanYang
OP
Nov 16, 2022❤️1
28
@cnhew 嗯 后端暂时没准备好开源 以后会放出来 ~
liuxiniszuhi3
liuxiniszuhi3
Nov 16, 2022
29
不错不错,但这个和 web3 有什么关系?
tvirus
tvirus
Nov 16, 2022
30
界面很清爽👍
tvirus
tvirus
Nov 16, 2022
31
的确自己部署没有推送
TristanYang
TristanYang
OP
Nov 16, 2022
32
@liuxiniszuhi3 web3 并不一定和区块链扯上关系。重复下这句话:我们认为 Web 3.0 去中心化的第一步是基于个人云的去平台化,通过个性化的计算与个性化的存储,让个人和组织拥有自己的平台,所以 VoceChat 的定位是能轻易部署在私有云上的社交协作程序。
hello267015
hello267015
Nov 16, 2022
33
请教大佬,聊天信息是怎么从服务端拉取的, 为什么浏览器 devtool 里看不到请求记录???
TristanYang
TristanYang
OP
Nov 16, 2022❤️1
34
@hello267015 走的是 SSE 推送 你看下 /api/user/events 这个接口,会有流信息
tvirus
tvirus
Nov 16, 2022
35
在海外服务器上自建了一个,消息也没有推送。
TristanYang
TristanYang
OP
Nov 16, 2022
36
@tvirus 消息推送走的是 firebase 需要配置下 文档在此: https://doc.voce.chat/setting/setting-firebase-notification
c1273082756
c1273082756
Nov 16, 2022
37
经测试, iOS 下自部署没有消息通知
TristanYang
TristanYang
OP
Nov 16, 2022
38
@c1273082756 消息通知需要配置一下( https://doc.voce.chat/setting/setting-firebase-notification ),众所周知的原因,在国内比较恼火😂
laoooo
laoooo
Nov 16, 2022
39
看了眼 docker 里面的文件,图片文件只是把扩展名删了?加了个.jpg 就能看见原图
Ionian
Ionian
Nov 16, 2022
40
挺好的,只是在国内做这种产品挺危险的
leon0918
leon0918
Nov 16, 2022
41
先赞一个,有过同样的想法,之前蘑菇街也做过一个开源的 teamtalk ,但是这类软件在国内不会有监管风险吗
troilus
troilus
Nov 16, 2022
42
赞,端到端加密怎么样
troilus
troilus
Nov 16, 2022
43
curl -sSf https://s.vocechat.com/install.sh | sh
curl: (35) Encountered end of file
TristanYang
TristanYang
OP
Nov 16, 2022
44
@troilus 抱歉 是文档写错了域名 已修正:curl -sSf https://s.voce.chat/install.sh | sh
TristanYang
TristanYang
OP
Nov 16, 2022
45
@laoooo emmmm 文件名做了混淆处理 有什么问题吗?图片是不好加密,也没必要加密
sinORcos
sinORcos
Nov 17, 2022 via iPhone
46
有端到端加密吗?
ixixi
ixixi
Nov 17, 2022
47
请问以后是否针对这俩场景提供方案 ? 1.oa crm 系统的通知和即时通讯 2.局域网即时通讯
troilus
troilus
Nov 17, 2022
48
@TristanYang curl: (6) Could not resolve host: sh.voce.chat; 未知的名称或服务 这条是不是也要更新
TristanYang
TristanYang
OP
Nov 17, 2022
49
@troilus 额 应该是 CDN 问题,有缓存,昨天我统一更新了,今天我溯源更新下,应该可以了。
TristanYang
TristanYang
OP
Nov 17, 2022
50
@ixixi 第一个场景没太明白,第二个实质就是部署 vocechat 吧,只不过不能对外访问,当然,有些功能也会受限,比如通知。可以加 v 详细聊聊~
Andrue
Andrue
Nov 17, 2022
51
功能上可以参考 matrix 从描述上来看 matrix 基本上和你们的这个完全一致,当然 matrix 的联邦网络和 E2E 加密还是特色
Andrue
Andrue
Nov 17, 2022
52
哦刚看到桥接列表里有 martix 了,看上去你们肯定也研究过了,不用我指指点点 XD
getput555
getput555
Nov 17, 2022
53
我的项目名称和大神的 90%相似,vochat 。先声明,可不是抄的,三年前就测试上线了,一直没有作商业化。我做的是一款基于语言社交娱乐的 app ,重点放在手机息屏后用语音控制手机社交和娱乐,打算用于特殊场景,比如:开车不能玩手机时,只需说,进工作群,那么,群里其他人说的语音消息会自动同步放出来,自己说的语音,会变成语音消息发到群里,没人聊天时,也可以变身智能语音,说听什么电台,就会自动切换到该实时节目,且所有听这个节目的用户会自动成为一个语音群互动,期间无需拿出手机用手和眼睛去操作。菜鸟做了好玩,让大神笑话了。
mogging
mogging
Nov 17, 2022 via Android
54
docker 加 nginx 很容易就部署到 vps 了,安卓 APP 打开邀请链接注册有问题,卡最后一步了,网页打开注册链接没问题。
han640223
han640223
Nov 18, 2022
55
@mogging 卡最后一步打开邀请链接注册有问题,是什么问题?粘贴邀请链接到手机 app ,没反应?还是跳转不到手机 app ?
mogging
mogging
Nov 18, 2022 via Android
56
可以输入用户名密码,但最后提交按钮没反应,我猜测是不是我的 vps 配置太低。vocechat.wangjia.xyz
mogging
mogging
Nov 18, 2022 via Android
57
@han640223 很好的软件,极简,个人建议注意一下开源协议的使用,防止别人拿去卖课,这种事情越来越多了。另外今晚会抓包之后再看看点击注册提交没反应是什么原因。
mogging
mogging
Nov 18, 2022 via Android
58
@han640223 很好的软件,极简,个人建议注意一下开源协议的使用,防止别人拿去卖课,这种事情越来越多了。另外今晚会抓包之后再看看点击提交没反应是什么原因。
TristanYang
TristanYang
OP
Nov 18, 2022
59
@getput555 90%相似的只是名称吧?😂
Laussan
Laussan
Nov 18, 2022
60
后端不开源是出于什么考虑?
TristanYang
TristanYang
OP
Nov 18, 2022
61
@Laussan 会开源,只是目前还没准备好~ 可以持续关注
TristanYang
TristanYang
OP
Nov 18, 2022
62
@mogging 是 web 端登录点击没反应?可以加我 v 具体看看
getput555
getput555
Nov 18, 2022
63
@TristanYang 是的,当时想是语音社交,就取名 voicechat ,再简化点,就是 vochat 了。后台是用的开源,前端用 android 写的,重点解决手机黑屏休眠后,后台保活和对控制响应的问题,架构也是用的第三方,一个人,写不了复杂的代码。
ArianX
ArianX
Nov 18, 2022
64
独立部署两个私有的服务,两个私有服务之间的用户,是否有办法互相发起聊天呢
TristanYang
TristanYang
OP
Nov 18, 2022
65
@ArianX 好问题,我们也考虑过不同 server 之间数据(用户&消息)互通,但是容易把事情搞复杂,先走好第一步,服务好单 server 的场景,你有好的想法,可以加我 v 详聊~ yanggc_2013
quericy
quericy
Nov 19, 2022
66
附件数据存储在服务端么,支持接对象存储么
TristanYang
TristanYang
OP
Nov 19, 2022❤️1
67
@quericy 目前是放在服务器上 后续会做第三方存储,比如 aws s3
hansu
hansu
Nov 21, 2022
68
@mogging APP:修复了邀请链接注册过程中的服务器识别和验证链接有效性的问题 app 更新后就好了
CarlGauss
CarlGauss
Nov 21, 2022
69
@TristanYang 跨服务器能连通才能提现去中心,而且用户的账号系统,直接用公私钥的体系,这样用户的账号就不属于任何一个平台,真正属于自己;在哪个服务器聊天只是临时挂靠。要在目前这么多的聊天系统中突出重围,这个特性我认为是最核心的特性了。
在博客的领域,有 Mastodon 做过尝试,但是并不好用,服务器端也要做一个核心的特性升级,那就是有一个中心服务器记录每个账号最新的服务器地址,这样去找每个账号的时候,才找得到,类似现在的域名服务器。这样,各个小的聊天系统,才能构建成为一个庞大松散的网络。后续更进一步的时候,可以大家也自建这种域名服务器。
不过上面都不是最大的问题,最大的问题是商业模式,要恰饭的,做成这样比较用爱发电,然后还要面对国家的审查和吃免费牢饭的风险。。。。。
TristanYang
TristanYang
OP
Nov 21, 2022
70
@CarlGauss 受教了 想起了以前拿 U 盘做操作系统,随插随用,数据也跟着 U 盘走,和你说的第一个观点挺像;第二个观点核心是设计一个数据互通的协议,https://matrix.org/ 好像已经在做了,但是落地普及,还有很长路要走。VoceChat 不会走用爱发电之路,但选择什么路,要走多远,还在探索,欢迎加 v 一起探索~ yanggc_2013
CarlGauss
CarlGauss
Nov 22, 2022
71
@TristanYang 现在还有一个问题是,到处都是锤子,但是没有钉子,或者说,没有具备商业价值的钉子。Discord 做的那么优秀都好像没掀起太大的风浪。
说起来,V 站有 discord 的频道吗?
asuraa
asuraa
May 31, 2023
72
能否支持下备注啥的
TristanYang
TristanYang
OP
Jun 1, 2023
73
@luodaoyi 是指用户备注吗?具体什么场景,是想要个用户名别称,还是有个地儿写用户介绍 /备注
wangpengfei4113
wangpengfei4113
Jul 5, 2023
74
@TristanYang 我期望加个别称,否则人数多了不知道是谁了。
asuraa
asuraa
Aug 16, 2023
75
@TristanYang 弄个别名备注就行 要不然人加多了就不知道是谁了
About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   4726 Online   Highest 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 89ms · UTC 07:53 · PVG 15:53 · LAX 23:53 · JFK 02:53
♥ Do have faith in what you're doing.