开源聊天系统-Vocechat,私有化部署,适合个人和中小企使用,亲测有用

VoceChat 简介

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

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

团队国际化,远程合作,贡献者来自中、美、巴西等地区, VoceChat 是一个开放的、赋能用户的产品,欢迎大家点 star 关注,提 issues,或者以其他形式参与贡献。

本文推荐使用docker容器进行安装部署,部署简单快捷,适合小白。

项目组成:

名称

技术

项目

License

说明

服务端:

Rust

vocechat-server(暂未开源)

待定

聊天服务端,支持主流平台: Linux x86_64, Windows 32/64, Arm32, Arch64

客户端:

Flutter

vocechat-client

Apache-2.0

聊天客户端,支持 Android, iOS 平台的客户端

Web:

React

vocechat-web

GPL-3.0

聊天功能的浏览器版本,整合了管理

Web-SDK:

React

vocechat-web-sdk(暂未开源)

GPL-3.0

可以整合到其他 Web 产品中,使其赋能聊天功能

功能列表 & 计划

  •  群聊、私聊 / 2021-Q4
  •  引用, at / 2021-Q4
  •  图片、大文件传输 / 2021-Q4
  •  置顶 / 2022-Q1
  •  转发 / 2022-Q1
  •  收藏 / 2022-Q1
  •  阅后即焚(高级功能) / 2022-Q1
  •  语音(高级功能)/ 2022-Q4
  •  视频(高级功能)/ 2022-Q4

联系我们

  • Github: Privoce · GitHub
  • Email: han@privoce.com

VoceChat 目前支持两种安装方式:Docker 和 Shell 脚本。你可以根据自己的服务器情况,选择对应的安装方式:

 Docker 安装-(建议使用)

我们推荐使用Docker+Nginx的安装方式

 Shell 脚本安装

适用于小型设备(比如树莓派、NAS设备),或者想最大化性能

提示

我们推荐使用 Docker 安装,并且开启 https,体验功能更丰富的 VoceChat

  • Install
  • Docker 安装

Docker 安装

重要提示

请确认你的系统架构:默认安装 linux/amd64,如果是 linux/arm64,请拉取privoce/vocechat-server:latest-arm64

本地快速体验

提示

假如没有服务器,但是在本地电脑装有 Docker,可以执行以下命令行,快速体验 VoceChat

docker run -d --restart=always \
  -p 3009:3000 \
  --name vocechat-server \
  privoce/vocechat-server:latest

浏览器访问: http://localhost:3009/

安装完成后,打开浏览器访问本地ip地址加端口号,按照步骤设置您的服务器:

 

服务器部署

提示

请提前准备好一个域名,以下用vocechat.yourdomain.com举例

Docker + Nginx

运行 VoceChat

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"

提示

  • -v ~/.vocechat-server/data:/home/vocechat-server/data目的是将docker内的数据映射出来,作用是后续vocechat-server升级同时保留已有数据,~/.vocechat-server/data只是举例,可自行定义。
  • network.frontend_url用于生成邀请链接,发送邀请邮件等场景,为可选参数,是个带网络协议的域名,所以不要忘了根据实际情况加协议http(s)。如果部署时未指定,也可在初始化Server流程时设置。

配置 Nginx http 反向代理

在 Nginx 配置文件目录(一般在/etc/nginx/conf.d)新建 Nginx 配置文件vocechat.yourdomain.com.conf,并配置好 http 请求:

server{
  server_name vocechat.yourdomain.com;
  location / {
        proxy_pass http://127.0.0.1:3009; # 此处端口号取决于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 '';
    }
}

检查配置文件的语法:nginx -t,没问题后,启用新增配置:nginx -s reload。此时,浏览器访问http://vocechat.yourdomain.com,能够进入初始化页面,即为配置成功。

提示

不要忘记设置域名解析

配置 https

基本原理:让 Nginx 监听 443 端口,证书配置在 Nginx,通过 host 转发给 vocechat-server:3009,此时 vocechat-server 接受的依旧是 http。

┌─────────┐                  ┌─────────┐        ┌─────────┐
│         │                  │  Nginx  │        │         │
│ Client  ├─────────────────►│    CA   ├──────► │ vocechat│
│         │                  │   443   │        │   3000  │
└─────────┘                  └─────────┘        └─────────┘

启用 https 有多种方式,此处我们推荐使用certbot,借助 certbot 可以自动生成证书并自动添加到对应域名的 Nginx 配置文件,完成 https 的启用。

Certbot 的使用

访问 Certbot Instructions | Certbot ,请自行选择服务器环境,完成安装:

使用以下命令,certbot 会列出已有的 Nginx 配置,选择对应的域名,获取证书,并让 certbot 自动编辑该 Nginx 配置文件,一键开启 https 访问:

# 如果非root用户,把sudo加上
sudo certbot certonly --nginx

此时,配置文件vocechat.yourdomain.com.conf已变为:


server{
    server_name vocechat.yourdomain.com;
    location / {
        proxy_pass http://127.0.0.1:3009; # 此处端口号取决于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 '';
    }
    listen 443 ssl; # managed by Certbot
    ssl_certificate /etc/letsencrypt/live/vocechat.yourdomain.com/fullchain.pem; # managed by Certbot
    ssl_certificate_key /etc/letsencrypt/live/vocechat.yourdomain.com/privkey.pem; # managed by Certbot
    include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
    ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot

}
server{
    if ($host = vocechat.yourdomain.com) {
        return 301 https://$host$request_uri;
    } # managed by Certbot
  listen 80;
  server_name vocechat.yourdomain.com;
    return 404; # managed by Certbot
}

重载 Nginx 配置(nginx -s reload)之后,此时,浏览器访问http://vocechat.yourdomain.com会自动切换为 https,即https://vocechat.yourdomain.com

Docker

提示

如果你的服务器没有被其它服务占用 https 端口(即 443),可以考虑该方式,否则,请参考 Docker + Nginx

vocechat-server 支持自动申请 https 证书(借助CertBot),使用该部署方式有两个前提:

  • 服务器 443 端口没有被占用
  • 准备一个域名,并已解析到该服务器 IP。

mkdir -p ~/.vocechat-server/data
docker run -d --restart=always \
  -p 443:443 \
  --name vocechat-server \
  -v ~/.vocechat-server/data:/home/vocechat-server/data \
  privoce/vocechat-server:latest \
  --network.bind "0.0.0.0:443" \
  --network.domain "vocechat.yourdomain.com" \
  --network.tls.type "acme_tls_alpn_01" \
  --network.tls.acme.cache_path "/home/vocechat-server/data/cert"

参数说明:

  • network.bind: 服务端绑定的 IP 和端口,0.0.0.0 为所有 IP
  • network.domain: 域名
  • network.type: TLS 验证方式,这里为 acme_tls_alpn_01,更多请参考代码目录 config/config.toml 。
  • network.tls.acme.cache_path: 证书存放位置。
  • network.tls.acme.directory_url: 默认的验证机构,可选,默认 https://acme-v02.api.letsencrypt.org/directory

访问:https://vocechat.yourdomain.com/,完成初始化 。

如果 80/443 端口被 Nginx 占用, 请参考 Docker + Nginx

其他相关命令

停止服务

docker stop vocechat-server

查看日志

docker logs -f vocechat-server

备份数据

cp -rf ~/.vocechat-server/data ~/.vocechat-server/backup

升级server版本(更新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

移动 APP 与挂件

部署成功 vocechat,并且已完成初始化工作,可以继续安装使用我们的移动 APP,具体使用请移步:使用 VoceChat APP;还可以很方便地借助挂件,把聊天场景拓展到任意网站。具体请参看 使用挂件

提示

如需要帮助,请在官网联系我们:voce.chat ,如需合作请 email: han@privoce.com

Shell 脚本安装

提示

  • 该安装方式适用于小型设备(比如树莓派、NAS 等设备),或者想最大化性能的极客。
  • 基本原理是直接运行二进制的方式,目前支持 Linux x86_64, Arm32, Aarch64 架构。
  • 确保您的系统目录 /etc/init.d 存在,并且可写。

安装

在安装的过程中,会询问绑定的端口,域名,和是否启用 TLS(会自动申请证书)。 这里要注意的是,如果你要开启 TLS,那么端口必须为 443,也就意味着你的 vocechat-server 必须独占 443。

curl -sSf https://s.voce.chat/install.sh | sh

启动

/etc/init.d/vocechat-server.sh start

停止

/etc/init.d/vocechat-server.sh stop

查看日志

/etc/init.d/vocechat-server.sh log

联系我们

  • 邮箱:han@privoce.com
  • 微信:Privoce
  • Github:vocechat-web

文章转载出处:联系我们 | VoceChat

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/27004.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

chatgpt赋能python:Python图形:让数据更生动

Python图形:让数据更生动 Python作为一种高级程序语言,不仅能在数据分析、机器学习、人工智能等领域发挥重要作用,还能通过图形展示数据,让人一目了然地了解数据背后的故事。本文将介绍Python图形的基本概念、工具和应用&#xf…

为什么喜剧节目越来越不好笑了?

昨晚随意点开了一档正在播出的喜剧节目,结果没看完就被“劝退”了,实在是不好笑,关键还尴尬!转了一圈评论,发现果然“英雄所见略同”,评论里对节目的吐槽占了相当一部分。想着另外换个评价好的,…

Windows Service 小品

我们通过 Windows 服务可以创建在 Windows 会话中长时间运行的应用程序。服务可以跟随计算机一起启动,并且可以暂停、停止和重启。Windows 服务和 Windows Form 程序最大的不同点是 Windows 服务没有任何用户界面。Windows 服务一般用于后台处理数据,例如…

【嵌入式Linux开发一路清障-连载03】Ubuntu22.04使用Mount加载硬盘或NAS等硬盘

Ubuntu22.04使用Mount加载硬盘或NAS等硬盘 障碍06-学习资料存储在NAS中,如何方便的访问NAS或其它硬盘中的资料呢?摸索访问共享文件夹利用文件系统中尝访问局域网中的共享文件夹(成功)利用smb协议访问局域网中的共享文件夹&#xf…

帝国CMS7.5小品屋在线小品相声视频网站模板修复版

简介: 帝国CMS小品屋在线小品相声视频网站模板,带手机端。修复部分BUG,升级帝国CMS7.5版本。 后台自带部分测试数据,图片附件未入库,建议测试完成后删除。 火车头采集器已失效,已删除。CKPLAY播放器已失效…

小品-三句半-背诵apk

1. 需求 公司年会要求每个部门出一个节目,我们的界面是小品《三句半》,4个人,每人说一句,奈何台词太长了,故写了个背台词的demo.最终年会10个节目中,获得第二名,很开心。 1.1 apk 下载路径 h…

西湖奇缘(小品)

小青(男扮女),白娘子,许仙,路人甲(程序员),法海 背景西湖,断桥,远处是雷峰塔 白娘子在前,小青紧跟其后,从舞台左侧上台。 白娘子望着远处的断桥,面向观众说。…

计算机学院可以表演的小品,中央戏剧学院小品表演真题之单人小品

中央戏剧学院小品表演真题之单人小品 时间:2019-03-19 中央戏剧学院小品表演真题之单人小品 1.综合部分 (1)讲一件使人发笑的事情。(2讲一件自己最难过的事情。(3讲一段不寻常的经历。(4)打电话告诉对方一件极为愉快的事情。(5)打电话告诉对方一件十分悲痛的事情。(…

用计算机对话的小品,爆笑小品剧本台词《作弊记》

小品深入生活,贴近生活,体验生活,从生活中找灵感。要用艺术的眼光去发现题材,挖掘题材。 人物: 学生甲 学生乙 监考教师 (教室门前)(甲乙边走边聊,乙背着书包,甲两手空空,只在上衣贴…

基于chatgpt的全套智能创作saas源码系统,在这里

chatgpt无疑是2023年最热的项目之一,市面上有很多的基于chatgpt的产品,但是用着都感觉噱头大,不顺手。于是我们自己开发了一套基于chatgptmj绘画的系统。 如果你正在寻找一款领先的源码系统来不是搭建来赚钱,那么您看下我们的产品…

匿名的虚拟卡可以用来干什么?

境外虚拟卡(也称为国际虚拟卡)是一种在国际范围内使用的虚拟支付工具。与国内虚拟卡相比,境外虚拟卡通常具有更广泛的支付范围和更强的国际支付能力。虚拟信用卡具有非常多的优点,拿coincc币卡举例,首先是匿名申请&…

【无套路】免费用 GPT4,为啥这些网站的聚合做的这么好?!

相信很多人已经用上了 GPT-3.5,也就是 chat.openai.com 的免费内容,无需充值,用魔法上网后,按照之前的 教程 注册即可(美区代理 谷歌账号)。 一般到这里就停止了,因为要继续探索 GPT 的能力&a…

【奶奶看了都会】云服务器ChatGLM模型fine-tuning微调,让你拥有自己的知识库

1.背景 大家好啊,上次给大家写了ChatGLM-6B的部署使用教程,【奶奶看了都会】云服务器部署开源ChatGLM-6B,让你拥有自己的ChatGPT 但是因为模型比较小的问题,所以日常工作中可能用不上。而且大家更希望的是模型能训练自己的数据&…

沉痛悼念技术大牛左耳朵耗子(陈皓)

前言:今天转发一篇关于耗子叔的博文,个人觉得耗子叔是中文互联网世界的一个标杆,也是IT界重量级的人物,对于他的离去,深感遗憾和可惜。 版权声明:本文为CSDN博主「CSDN资讯」的原创文章,遵循CC …

突发!沉痛悼念技术大牛--左耳朵耗子

出品 | CSDN(ID:CSDNnews) 5 月 15 日早晨,一则意外消息打得我们猝不及防:MegaEase CEO、知名架构师、CSDN 资深博主(https://blog.csdn.net/haoel)陈皓老师(网名:左耳朵…

贝叶斯-这期内容非常重要!

这篇不仅对交易,而且对这个世界的认知有重要意义,有时间请一定把文章看完。 最近人工智能的普及让我昨天刷到中科院物理所发的这篇10w文章:封杀这个公式,ChatGPT智商将为零。看完我发现它对P(B)条件证据的解释欠佳,而…

纪念左耳朵耗子(陈皓)

5月17日,MegaEase 公司在 GitHub 创建了「纪念左耳朵耗子」仓库,用于记录关于陈皓本人的一些生平经历,您如果认识陈皓, 或曾经和陈皓打过交道,欢迎您通过PR来写出您和陈皓的故事。 仓库地址:https://githu…

ChatGPT揭示未来胜者的智能决策|小智AI

ChatGPT丨小智ai丨chatgpt丨人工智能丨OpenAI丨聊天机器人丨AI语音助手丨GPT-3.5丨OpenAI ChatGPT|GPT-4|GPT-3|人机对话|ChatGPT应用|小智ai|小智ai|小智ai|小智ai|小智AI|chatgpt小智AI 导语: 在当今快速变化的世界中,决策的重要性无可置疑。而随着人…