标签 OpenSource 下的文章

:本文为原创内容,旨在记录、分享我在 Debian 12 上使用 Docker + Nginx 方式部署 VoceChat 的过程与心得。

🧩 部署原因

现在,人工智能技术高速发展,享受便利的同时我们也越来越需要关注数据隐私的重要性,拥有一个自托管的聊天系统便很方便。但多数项目往往资源开销大、部署难度高。但是最近我发现 VoceChat 作为一款开源、轻量级的即时通讯工具,支持私聊、群聊、频道管理等功能,适合个人、团队和中小企业使用。其服务端由 Rust 编写,性能优异,资源占用极低。


🛠️ 部署环境

  • 操作系统:Debian 12
  • 部署方式:Docker + Nginx

⚙️ 部署步骤

📌注意:此内容可能会过时,仅供参考,实际操作时建议参考官方部署文档。

1. 安装 Docker

sudo apt update
sudo apt install -y curl

curl -fsSL https://get.docker.com | bash

sudo systemctl start docker
sudo systemctl enable docker

2. 运行 VoceChat 容器

docker run -d --restart=always \
  -p 3000:3000 \
  --name vocechat-server \
  -v ~/.vocechat-server/data:/home/vocechat-server/data \
  privoce/vocechat-server:latest \
  --network.frontend_url "https://chat.example.com"
📌 注意:确保 Docker 的 iptables 功能未被禁用(一般默认启用),如手动禁用过可能导致容器无法下载部分配置文件。如果你手动禁用了 iptables,请检查docker配置文件,将其修改以下内容并重启确保配置生效:
{
  "iptables": true
}

3. 配置 Nginx 反向代理

/etc/nginx/sites-available/vocechat.conf 中添加以下内容:

server {
    server_name domain.com;
    listen 80;
    listen [::]:80;

    location / {
        proxy_pass http://localhost:3000;
        proxy_http_version 1.1;
        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_set_header Upgrade \$http_upgrade;
        proxy_set_header Connection "upgrade";
    }
}

保存、验证配置文件后并重载 Nginx:

sudo ln -s /etc/nginx/sites-available/vocechat.conf /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl reload nginx

4. 配置 HTTPS(可选)

建议使用 Let's Encrypt 为你的域名配置 HTTPS,以确保数据传输的安全性,并相应修改Nginx配置文件。当然,也可以使用 Certbot 或其他工具自动申请和配置证书。


🌟 VoceChat 的优势功能

🔓 开源与隐私

  • 开源项目:源代码发布在 GitHub,公开透明。
  • 数据自托管:所有数据存储在个人服务器上,确保隐私。
  • 端到端加密:支持 E2EE,保障通信安全。

🎥 音视频通话

  • 基于 Agora(声网):部署难度低。
  • 低资源占用:对服务器性能要求极低,适合小型 VPS。

🤖 机器人功能

  • Webhook 支持:可接入各类机器人,扩展功能,如 ChatGPT 等机器人的接入。

📱 多平台客户端

  • 移动端:支持 Android 和 iOS。
  • 桌面端:提供 Windows 和 Mac 客户端。
  • 网页端:可嵌入网站,作为客服或社区聊天工具。

🔗 相关链接


📝 总结

通过在 Debian 12 上使用 Docker + Nginx 部署 VoceChat,我成功搭建了一个功能强大、隐私安全的即时通讯系统。其轻量的特性带来部署的便利,且运行稳定。强烈推荐给需要自托管聊天系统的组织和团队。