前言
在我们日常生活中都会使用各种聊天软件,但是因为众所周知的原因,通常都是非常臃肿,而且api非常稀少,就如最近很火的chatgpt机器人放到微信里,占用一个电脑端登录不说还有很高的被封的风险。所以我找到了一些可以自己部署的项目,数据可以完全自己掌握。
最终我使用了VoceChat,对比其它的自部署项目有着许多的优势,现在我博客上同样也在使用这个项目
- 部署简单,不用像Rocketchat一样需要额外安装数据库
- 轻量化:只需要不到20M空间即可部署
- 开放性高:开放API,可以部署机器人
- 可以将VoceChat做成挂件放到网站,支持IFrame嵌套
- 多端互通,有安卓和IOS的移动端APP
- 支持MarkDown语法
资料:
部署
下载镜像
在群晖上安装好docker套件后,点击注册表,搜索并下载VoceChat
配置网络
在镜像中找到刚刚下载好的privoce/vocechat-server,双击进行安装
注意:
- 如果不打算使用https访问,上方的网络中选第一个(默认)即可
- 如果打算使用https访问需要则要选择第二个,使用与Docker Host相同的网络
- 如果打算使用https,但是3000端口被占用了,或者选多开,可以使用桥接,如果有需求可以评论下
- 如果想在开启https的网站中嵌套VoceChat,那么VoceChat必须开启https访问
之后便可以进入如下界面,如有需要可以开启自动重新启动
配置端口(开启https的不用配置)
前面选择你希望使用的端口,后面固定为3000
配置存储空间
点击下一步后,可以在这里添加一个文件夹,装载路径填写:/home/vocechat-server/data
部署完成
点击下一步-完成后,就可以使用你群晖ip:端口号,来进行访问了。如果想在外网使用需要配合 ddns 和端口映射,使用域名:端口访问,如果没有公网 ip 需要配合内网穿透。
之后安装提示完成安装就好了
使用命令部署
安装好docker后也可以使用官方的部署命令进行部署
docker run -d --restart=always \
-p 3000:3000 \
--name vocechat-server \
privoce/vocechat-server:latest
配置反代开启https访问
前置条件
开启ddns
如果你是白群晖或是已经洗白的,可以在这里添加一个官方的ddns,如果是黑群也可以使用其它域名提供商的
群晖添加ssl证书
开启ddns还是不够的,还需要添加ssl证书。这步很简单
在控制面板-安全性-证书里面新增一个Let’s Encrypt证书即可
配置反向代理服务器
接下来进入控制面板-登录门户-高级-反向代理服务器
点击新增,按照下图所示填写即可,红方框内的是固定的,按照我的填写即可
原理
我们在外网访问时候,会先经过反向代理服务器,所以这里的来源要写自己访问的网址和端口号,而目的地当然就是我们的docker容器了,其中我们的容器是使用http访问的。也就是说反向代理服务器把https协议的3007端口在服务器内部转发到http协议的3000端口。
当然如果你家里的宽带刚好443端口没有被封,就可以把3007改为443,这样就可以实现隐藏端口访问
PS:不了解https的同学可以看下我这篇文章