Created: 2023-03-16 01:04 Modified: 2024-02-04 01:53
0x00 序※
之前一直准备给博客做个评论系统或者im,其实现成的轮子挺多的,加个js就能用的那种。
但是都不怎么和我心意,之前把telegram的widget放下面感觉还不错,就是telegram两年前的bug还没有修,它的widget登陆回调有问题,新打开的登陆页自己关不掉。由于我足够菜,这个问题我解决不了,就暂时搁置了。
最近发现了个好玩的im叫VoceChat,对标Slack、Discord、RocketChat、Matrix等,自称是15M大小、独立运行、很少需要维护,而且Widget支持很友好,所以打算尝试一下。
VoceChat主页:https://voce.chat
项目地址:https://github.com/Privoce/vocechat-web
demo:https://privoce.voce.chat
另外这个im工具的定位是在Web 3.0去中心化的时代的独立的个人平台。
2024年:由于项目不成熟和使用率低本站已经不再使用。
0x01 安装※
按照文档直接使用Docker运行
没装Docker的先装docker:sudo pacman -S docker
docker run -d --restart=always \
-p 3000:3000 \
--name vocechat-server \
privoce/vocechat-server:latest
请确认你的系统架构:默认安装 linux/amd64,如果是 linux/arm64,请拉取privoce/vocechat-server:latest-arm64
稍等片刻,不出意外的话它就在你的3000端口是跑起来了
0x02 配置※
主要配置nginx反代和https的ssl证书
ssl证书见acme.sh自签证书签一个根证书就可以通用了
nginx配置见nginx配置,我们直接在/etc/nginx/conf.d下面抄一个配置就行了
/etc/nginx/conf.d/yourdomain.conf 我这里是voce..conf
server {
listen 80;
server_name voce.tsaitang.com; # 你的自域
rewrite ^(.*)$ https://voce.tsaitang.com$1 permanent; # 强制https
}
server{
listen 443 ssl;
server_name voce.tsaitang.com; # 你的子域
ssl_certificate "/path/to/your/cert"; # 你的二级域证书路径
ssl_certificate_key "/path/to/your/key"; # 你的私钥路径
ssl_session_cache shared:SSL:1m;
ssl_session_timeout 10m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2; #表示使用的TLS协议的类型。 ssl_prefer_server_ciphers on;
location / {
proxy_pass http://127.0.0.1:3000; # 此处端口号取决于docker运行的对外端口号 proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504;
proxy_max_temp_file_size 0; # 关掉硬盘缓存,增加写速度 # SSE 相关配置 proxy_http_version 1.1;
proxy_set_header Connection '';
}
}
然后这个VoceChat还提供一个自动签证书的功能,需要使用可以去看官方文档
最后重启nginx
sudo systemctl restart nginx
不出意外的话,就可以访问 voce.tsaitang.com了
0x03 维护※
停止服务※
docker stop vocechat-server
查看日志※
docker logs -f vocechat-server
备份数据※
cp -rf ~/.vocechat-server/data ~/.vocechat-server/backup
更新 Docker※
docker stop vocechat-server
docker rm vocechat-server
docker pull privoce/vocechat-server:latest
# 这里改为自己之前部署执行过的docker命令行
docker run -d --restart=always \
-p 3009:3000 \
--name vocechat-server \
-v ~/.vocechat-server/data:/home/vocechat-server/data \
privoce/vocechat-server:latest \
--network.frontend_url "https://vocechat.yourdomain.com"
进入 Docker 内部※
docker exec -it vocechat-server /bin/sh
cd /home/vocechat-server/data
0x04 配置博客评论Widget※
0x05 跋※
由于项目不成熟+使用不便,后续放弃使用
有时间还是想尝试一下Telegram Widget