轻量级聊天应用VoceChat

news2024/12/25 9:00:48

在这里插入图片描述

本文是应网友 猪猪侠的要求折腾的;

什么是 VoceChat ?

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

需要注意的是:

  • VoceChat 的服务端并没有开源,这个和老苏往常折腾的自托管软件不一样;
  • 超过 20 用户需要付费升级 License授权;

官方提供了 Demo 站点: https://privoce.voce.chat,不想自己搭可以去体验一下。

安装

在群晖上以 Docker 方式安装。

在注册表中搜索 vocechat-server ,选择第一个 privoce/vocechat-server,版本选择 latest

在这里插入图片描述

docker 文件夹中,创建一个新文件夹 vocechat,并在其中建一个子文件夹 data

文件夹装载路径说明
docker/vocechat/data/home/vocechat-server/data存放设置等

端口

本地端口不冲突就行,不确定的话可以用命令查一下

# 查看端口占用
netstat -tunlp | grep 端口号
本地端口容器端口
30093000

在这里插入图片描述

环境

没有变量,但是需要设置命令,VoceChat 是通过命令来传递参数;

在命令后面输入 --network.frontend_url "http://192.168.0.197:3009",域名如果有端口也要带上

这个地址只是邀请链接中显示的地址;

在这里插入图片描述

如果你要更换地址,需要删了重建容器,因为命令只有第一次生效,不能更改;

命令行安装

如果你熟悉命令行,可能用 docker cli 更快捷

# 新建文件夹 vocechat 和 子目录
mkdir -p /volume2/docker/vocechat/data

# 进入 vocechat 目录
cd /volume2/docker/vocechat

# 运行容器
docker run -d \
   --restart=always \
   --name vocechat-server \
   -p 3009:3000 \
   -v $(pwd)/data:/home/vocechat-server/data \
   privoce/vocechat-server:latest \
   --network.frontend_url "http://192.168.0.197:3009"

也可以用 docker-compose 安装,将下面的内容保存为 docker-compose.yml 文件

version: '3'

services:
  cherry:
    image: privoce/vocechat-server:latest
    container_name: vocechat-server
    restart: always
    ports:
      - 3009:3000
    volumes:
      - ./data:/home/vocechat-server/data
    command:
      - --network.frontend_url "http://192.168.0.197:3009"

然后执行下面的命令

# 新建文件夹 vocechat 和 子目录
mkdir -p /volume2/docker/vocechat/data

# 进入 vocechat 目录
cd /volume2/docker/vocechat

# 将 docker-compose.yml 放入当前目录

# 一键启动
docker-compose up -d

运行

在浏览器中输入 http://群晖IP:3009 就能看到设置界面

设置向导

开始 进行设置,比较简单

在这里插入图片描述

设置一个管理员

在这里插入图片描述

邀请方式默认就可以,否则就只有收到邀请的人才能注册

在这里插入图片描述

邀请链接,如果前面设置的是域名,这里会显示域名

到这里就可以了,后面可以进设置再调整

在这里插入图片描述

进入主界面,先邀请用户,然后创建一个频道就可以开始愉快的聊天了

在这里插入图片描述

反向代理

官方关于反代和 nginx 的配置写的有点复杂,但是如果你和老苏一样在群晖上用 npm,其实都挺简单的

在这里插入图片描述

没问题的话老苏习惯全部勾选

在这里插入图片描述

完成之后就可以用 https://chat.laosu.ml:444 访问了

但是我们前面已经讲过,--network.frontend_url 设置的是邀请链接地址,所以虽然你是用域名访问的,但是设置中显示的依然还是局域网地址

在这里插入图片描述

其实应该跟老苏一样用环境变量,再加上占位替换法,这样会灵活一些;

如果你还需要使用移动端,则还需要在 Advanced 中加入下面的代码

    location / {
        proxy_pass http://192.168.0.197: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 '';
    }

在这里插入图片描述

否则会卡在注册或者登陆界面,或者直接报错

在这里插入图片描述

Android 端

主界面上有客户端下载的按钮

在这里插入图片描述

点击会打开一个网站,建议下中间的

在这里插入图片描述

下载速度还可以

在这里插入图片描述

运行之后,首先要输入服务器地址,也可以用邀请链接

在这里插入图片描述

注册用户,设置用户名

在这里插入图片描述

登陆成功后就可以聊天啦,老苏发了张图片

在这里插入图片描述

网页端能看到手机端发送的内容,不光能发 Markdown,还支持预览

在这里插入图片描述

手机上的效果

在这里插入图片描述

关于 License

默认安装出来有 20 用户的限制,一般用用应该是够的

在这里插入图片描述

不够的话可以购买授权,有 100 用户的 VoceChat Pro 版和 不限 用户数的VoceChat Supreme

在这里插入图片描述

据说还有机会获得免费版的机会

参考文档

Privoce
地址:https://github.com/Privoce

简介 | VoceChat
地址:https://doc.voce.chat/zh-cn/

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

探花交友_第8章_搜附近(新版)

探花交友_第8章_搜附近(新版) 文章目录探花交友_第8章_搜附近(新版)1.1 需求分析需求说明数据库表1.2 探花推荐列表查询接口文档tanhua-modeltanhua-app-server**TanHuaController**TanHuaService配置文件tanhua-dubbo-interfacetanhua-dubbo-mongo1.3 左滑右滑接口文档tanhua-…

2022-前端实现电子签名(web、移动端)通用组件

前端实现电子签名(web、移动端)通用组件 前言 在现在的时代发展中,从以前的手写签名,逐渐衍生出了电子签名。电子签名和纸质手写签名一样具有法律效应。电子签名目前主要还是在需要个人确认的产品环节和司法类相关的产品上较多。…

可视化大数据分析系统

可视化大数据分析系统有很多,如果系统级都是收费的,如果大家想要了解可视化大数据分析系统,私信我就行。下面聊下5个常用的大数据可视化分析工具。 1、FineReport FineReport是一款纯Java编写的、集数据展示(报表)和数据录入(表单)功能于一…

Linux环境变量配置

在自定义安装软件的时候,经常需要配置环境变量,下面列举出各种对环境变量的配置方法。 下面所有例子的环境说明如下: 系统:Ubuntu 14.0 用户名:uusama 需要配置MySQL环境变量路径:/home/uusama/mysql/bi…

Servlet转发与重定向

✅作者简介:热爱国学的Java后端开发者,修心和技术同步精进。 🍎个人主页:Java Fans的博客 🍊个人信条:不迁怒,不贰过。小知识,大智慧。 💞当前专栏:JAVA开发者…

【设计模式】代理模式——静态动态代理

【设计模式】代理模式——静态&动态代理 文章目录【设计模式】代理模式——静态&动态代理一:代理模式概述二:代理模式结构三:静态代理四:JDK动态代理1:简介2:步骤五:CGLIB动态代理六&am…

Python -- 元组、字典、集合

目录 1.元组的使用 1.1 访问元组 1.2 修改元组 1.3 count,index 1.4 定义只有一个数据的元组 2.字典的基本使用 2.1 字典的增删改查 2.2 字典的遍历 3.集合的使用 4.通用方法 1.元组的使用 Python的元组与列表类似,不同之处在于元组的元素不能修改。元组使…

测试人必备的Linux常用命令大全...【全网最全面整理】

Linux常用命令大全(非常全!!!) 最近都在和Linux打交道,感觉还不错。我觉得Linux相比windows比较麻烦的就是很多东西都要用命令来控制,当然,这也是很多人喜欢linux的原因&#xff0c…

基于BP神经网络的数字识别系统仿真,带GUI界面

目录 1.算法描述 2.仿真效果预览 3.MATLAB核心程序 4.完整MATLAB 1.算法描述 OCR(Optical Character Recognition)即光学字符识别技术,是通过扫描仪把印刷体或手写体文稿扫描成图像,然后识别成相应的计算机可直接处理的字符。…

SoapUI、Jmeter、Postman三种接口测试工具的比较分析

推荐阅读: [内部资源] 想拿年薪30W的软件测试人员,这份资料必须领取~ Python自动化测试全栈性能测试全栈,挑战年薪40W 前段时间忙于接口测试,也看了几款接口测试工具,简单从几个角度做了个比较,拿出来与…

水库信息化监测系统有哪些?水库信息化监测解决方案

一、背景分析 全国现有水库9.8万余座,小型水库占95.3%。小型水库数量最多, 主要分布山东、安徽、江西、广东、湖南、湖北、四川和云南,每个省小型水库数量超过5000座 全国中小型水库9万余座,其中4万余座存在病险,195…

图解设计模式:动动手玩转适配器模式

前言 📣 📣 📣 📢📢📢 ☀️☀️点开就是缘分认识一下,我是小冷。是一个兴趣驱动自学练习两年半的的Java工程师。 📒 一位十分喜欢将知识分享出来的Java博主⭐️⭐️⭐️,…

C++进阶 继承

作者:小萌新 专栏:C进阶 作者简介:大二学生 希望能和大家一起进步! 本篇博客简介:简单介绍C中继承的概念 继承的概念及定义 继承的概念 继承是一种面向对象编程的概念,它指的是一个类(称为子类…

Win10关闭安全中心的病毒和威胁实时保护

一、遇到问题 想必大家在下载软件时,经常会遇到这样的问题:当我们下载好一个软件安装包时,当双击进行安装时,电脑却报出“无法成功完成操作,因为文件包含病毒或潜在的垃圾软件”。这是Win10的安全中心误以为此为问题软…

ShardingJDBC读写分离

ShardingJDBC是什么 看一看ChatGPT对他的解释: ShardingJDBC是一个数据库连接池,它为数据库的分片和读/写拆分提供支持。它允许您跨多个物理数据库和服务器分发数据,并根据设置的配置将读写操作路由到适当的数据库。 以下是它的工作原理&…

基于java+springmvc+mybatis+vue+mysql的校园拼车系统

项目介绍 本系统采用java语言开发,后端采用ssm框架,前端采用vue技术,数据库采用mysql进行数据存储。 管理员后台页面: 功能:首页、个人中心、学生管理、司机管理、订单信息管理、接单信息管理、留言信息管理 学生后…

小米(Android)刷NetHunter安装指南,无需ssh执行kali命令

一、安装NetHunter 前提:确保手机已经root,已装上magisk。如果没有root,可用尝试magisk root 后执行此文 1、下载Nethunter:Get Kali | Kali Linux 然后push 到sdcard 里, 2、打开magisk,选择刚刚下好的…

【问答篇】Java 基础篇面试题(一)

每天进步一点~ 01、问&#xff1a;空字符串的作用 package com.neuedu.nineteen;public class Test {public static void main(String[] args) {String s"";for (char i a; i < d; i) {ssi;//输出abcsis;//输出cba}System.out.println(s);} } 答&#xff1a;如…

[附源码]Node.js计算机毕业设计高校迎新管理系统Express

项目运行 环境配置&#xff1a; Node.js最新版 Vscode Mysql5.7 HBuilderXNavicat11Vue。 项目技术&#xff1a; Express框架 Node.js Vue 等等组成&#xff0c;B/S模式 Vscode管理前后端分离等等。 环境需要 1.运行环境&#xff1a;最好是Nodejs最新版&#xff0c;我…

(五)springcloud之Nacos注册中心-2

最近因口罩事件&#xff0c;也被“阳"了。自己在宿舍&#xff0c;闲来无事。整理下Nacos的注册中心的知识点。 模块&#xff1a; 1.父工程&#xff08;管理版本&#xff09; 2.公共模块&#xff1a;Common-API 3.测试模块&#xff1a;NacosClientConfigConsumer80 版本&am…