介绍
VoceChat 是基于 React & Redux Toolkit 的开源聊天软件,相比于主打安全轻量且开源的 Telegram 而言,它最大的亮点便是支持私有部署。这种“去中心化”的思想十分类似于效仿 Twitter 的 Mastodon,也或许是未来互联网的发展方向。除了 Web 端,这个程序还有 Android 与 iOS 客户端,且支持信息推送,因此基本上可以在聊天功能上替代其他软件了。
GitHub - Privoce/vocechat-web: VoceChat Web App
VoceChat Web App. Contribute to Privoce/vocechat-web development by creating an account on GitHub.
部署
部署该程序主要通过 Docker 来实现,一般选择使用 Docker+nginx 反代的方式实现外部访问。该程序默认端口为 3000,下面的默认代码中会将容器 3000 端口映射为 3009,并反代到 "https://vocechat.yourdomain.com"
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"
nginx 配置:
NGINX:
server{
server_name vocechat.yourdomain.com;
location / {
proxy_pass http://127.0.0.1:3009; # this port number "3009" should be the same as the port of the vocechat docker image
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; # this line aims to maximize the writing speed
# SSE Configrations
proxy_http_version 1.1;
proxy_set_header Connection '';
}
}
至此,部署 VoceChat 的任务基本已经完成。剩下的操作可以直接通过访问程序 URL 继续。