WebChat——一个开源的聊天应用
Web Chat 是开源的聊天系统,支持一键免费部署私人Chat网页的应用程序。
开源地址:https://github.com/loks666/webchat
TOC
- 👋🏻 开始使用 & 交流
- 🛳 开箱即用
A
使用 Docker 部署B
使用 Docker-compose 部署C
使用 Jar包 本地部署
- ⌨️ 本地开发
- 🤝 参与贡献
- 🔗 更多工具
👋🏻 开始使用 & 交流
WebChat目前的线上版本: https://webchat.superxiang.com
有需求或者问题,欢迎提交 [issues][issues-link]
[![][chat-shield-badge]][chat-link] | 访问WebChat,快速体验 |
---|---|
[![][discord-shield-badge]][discord-link] | 加入我们的 Discord 社区!这是你可以与开发者和其他 WebChat 热衷用户交流的地方 |
[![][qq-shield-badge]][qq-link] | 加入我们的 QQ 群!欢迎开发讨论 |
收藏项目,你将从 GitHub 上无延迟地接收所有发布通知~⭐️
🛳 开箱即用
有关 Docker
部署的详细说明,详见 📘 使用 Docker 部署
WebChat 提供了 [Docker 镜像][docker-release-link],这使你可以在几分钟内构建自己的聊天服务,无需任何基础知识。
A
使用 Docker 部署
我们提供了 Docker 镜像,供你在自己的私有设备上部署 WebChat 服务。使用以下命令即可使用一键启动 WebChat 服务:
docker run -d --name webchat -p 8101:8101 general9527/webchat:customer
注意:请将你的数据库root密码和redis修改为loks666,程序才能正确使用,如果你的mysql和redis都是使用容器启动的,那么需要使用–network选项来指定网络
docker run -d --name webchat --network ‘你的网络名’ -p 8101:8101 general9527/webchat:customer
B
使用 Docker-compose 部署
[![][docker-release-shield]][docker-release-link]
[![][docker-size-shield]][docker-size-link]
[![][docker-pulls-shield]][docker-pulls-link]
本项目目前有三个tag,分别为latest,customer和v1.0
- latest:打包方式为jar包打入,所以不支持修改配置:mysql和redis的密码都是loks666,mysql用户是root
- customer:打包方式为dockerfile打包,支持修改配置:可以修改mysql和redis的配置需添加下面的配置
volumes:- ./webchat/application.yml:/src/main/resources/application.yml- ./webchat/application-dev.yml:/src/main/resources/application-dev.yml
- v1.0:为远古版本,可以忽略
- 使用项目根目录下的docker-compose 一键部署(推荐)
注意:一键部署包含redis和mysql服务,请检查部署前是否有这两个服务
cd webchatdocker-compose up -d
- webchat 独立部署(已有mysql和redis的情况)
version: '3.8'volumes:mysql:redis:services:webchat:image: general9527/webchat:customercontainer_name: webchatports:- "8101:8101"volumes:- ./webchat/application.yml:/src/main/resources/application.yml- ./webchat/application-dev.yml:/src/main/resources/application-dev.ymlnetworks:- chat_networknetworks:chat_network:name: chat_network
部署前请将application-dev.yml中redis和mysql的配置改为自己的配置
C
使用 Jar包 本地部署
建议使用Idea插件编译打包,如果使用命令,需配置maven环境到系统环境变量中
cd webchatmvn clean packagejava -jar webchat.jar
⌨️ 本地开发
使用以下命令进行本地开发:
$ git clone https://github.com/loks666/webchat.git
$ cd webchat
$ mvn claen install
$ java -jar webchat.jar
🤝 参与贡献
我们非常欢迎各种形式的贡献。如果你对贡献代码感兴趣,可以查看我们的 GitHub [Issues][github-issues-link]
和 [Projects][github-project-link],大展身手,向我们展示你的奇思妙想。
[![][pr-welcome-shield]][pr-welcome-link]
🔗 更多工具
- [🌏 Guide][guide] : 网站导航,首页包括作者的所有作品与服务
- [🤯 Fly AI][Fly AI] : 一个无需魔法即可使用的AI网站,支持ChatGPT/LLM模型的应用程序。以及midjourney绘图等功能
- [💌 Fly API][flyapi] : 一个Open AI API KEY的分发网站,可以分享自己的key给他人使用
📝 License
[![][fossa-license-shield]][fossa-license-link]
Copyright © 2023 [WebChat][profile-link].
This project is MIT licensed
相关文章:

WebChat——一个开源的聊天应用
Web Chat 是开源的聊天系统,支持一键免费部署私人Chat网页的应用程序。 开源地址:https://github.com/loks666/webchat 目录树 TOC 👋🏻 开始使用 & 交流🛳 开箱即用 A 使用 Docker 部署B 使用 Docker-compose…...

【Linux系统 01】Vim工具
目录 一、Vim概述 1. 文件打开方式 2. 模式切换 二、命令模式 1. 移动与跳转 2. 复制与粘贴 3. 剪切与撤销 三、编辑模式 1. 插入 2. 替换 四、末行模式 1. 保存与退出 2. 查找与替换 3. 分屏显示 4. 命令执行 一、Vim概述 1. 文件打开方式 vim 文件路径&#…...

Oracle 面试题 | 09.精选Oracle高频面试题
🤍 前端开发工程师、技术日更博主、已过CET6 🍨 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1 🕠 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》 🍚 蓝桥云课签约作者、上架课程《Vue.js 和 E…...

基于Springboot的校园失物招领网站(有报告)。Javaee项目,springboot项目。
演示视频: 基于Springboot的校园失物招领网站(有报告)。Javaee项目,springboot项目。 项目介绍: 采用M(model)V(view)C(controller)三层体系结构…...

WPF布局面板
StackPanel StackPanel 是一种常用的布局控件,可以支持水平或垂直排列,但不会换行。当子元素添加到 StackPanel 中时,它们将按照添加的顺序依次排列。默认情况下,StackPanel 的排列方向是垂直的,即子元素将从上到下依次排列。可以使用 Orientation 属性更改排列方向。可以…...

灵活应对:策略模式在软件设计中的应用
策略模式是一种行为型设计模式,它允许定义一系列算法,并将每个算法封装起来,使它们可以互换使用。策略模式让算法的变化独立于使用算法的客户端,使得在不修改原有代码的情况下切换或扩展新的算法成为可能。 使用策略模式的场景包…...

eosio.token 智能合约介绍
一、目的 eosio.token系统合约定义了允许用户为基于EOSIO的区块链创建、发行和管理代币的结构和操作,它演示了一种实现允许创建和管理代币的智能合约的方法。本文详细介绍了eosio.token系统合约并在本地测试链上实际发行了代币进行演示,适用于EOS智能合…...

3D 转换
1,3D的特点: 近小远大 物体后面遮挡不可见 2,3D移动 translate3d 3D移动在2D移动的基础上多加了一个可以移动的方向,就是z轴方向 transform:translateX(100px):仅仅是在x轴上移动…...
AI智能语音机器人安装方法
销售型的企业,基本靠电话营销拓客来实现效益的最大化。因为电销人员离职率高,且需求量大,需要接连不断的招人来实现业绩目标,电话机器人,贴牌招商,复制多个账户 这些都意味的企业的投入成本越来越大,博主从事多年AI技术…...

Python 潮流周刊#38:Django + Next.js 构建全栈项目
△△请给“Python猫”加星标 ,以免错过文章推送 你好,我是猫哥。这里每周分享优质的 Python、AI 及通用技术内容,大部分为英文。本周刊开源,欢迎投稿[1]。另有电报频道[2]作为副刊,补充发布更加丰富的资讯,…...

Jenkins升级后,构建任务配置界面重复错位
最近我把公司的Jenkins服务升级到了最新版本,升级完成后,点了一下构建任务,发现能够构建成功,就以为顺利完成升级了,下班走了,结果第二天,进入构建任务配置界面发现,界面一团乱麻&am…...
Python基础学习 -07 运算符
Python 运算符 运算符用于对变量和值执行操作。 Python 在以下组中划分运算符: 算术运算符赋值运算符比较运算符逻辑运算符身份运算符成员运算符位运算符 Python 算术运算符 算术运算符与数值一起使用来执行常见的数学运算: 运算符名称实例加x y-…...
Nim游戏
文章目录 题目描述输入格式输出格式 结论程序代码 题目描述 给定 n 堆石子,两位玩家轮流操作,每次操作可以从任意一堆石子中拿走任意数量的石子(可以拿完,但不能不拿),最后无法进行操作的人视为失败。 问…...
Pytorch: torch.linspace等间隔数值函数
torch.linspace 是 PyTorch 提供的一个用于生成等间隔数值的函数。具体而言,torch.linspace 会在指定的区间内生成指定数量的等间隔数值。 torch.linspace(start, end, steps100, dtypeNone, layouttorch.strided, deviceNone, requires_gradFalse)参数说明&#x…...
【C++】案例:数列求和 与 条件筛选
1.数列求和 题目: 设计一个程序,要求对数列2471116……n的前n项求和, 例如输入3,输出13; 输入6,输出62。 答案: #include <iostream>int main() {int n;std::cout << "请输入一个正…...

问题:下列哪些属于历史文化资源的特征( ). #学习方法#学习方法
问题:下列哪些属于历史文化资源的特征( ). A、稀缺性 B、脆弱性 C、可再生性 D、多样性 参考答案如图所示...

大数据 - Spark系列《四》- Spark分布式运行原理
Spark系列文章: 大数据 - Spark系列《一》- 从Hadoop到Spark:大数据计算引擎的演进-CSDN博客 大数据 - Spark系列《二》- 关于Spark在Idea中的一些常用配置-CSDN博客 大数据 - Spark系列《三》- 加载各种数据源创建RDD-CSDN博客 目录 🍠…...

Java使用规范
1.关键字 定义:被Java语言赋予了特殊含义,用做专门用途的字符串(单词) 特点:关键字中的所有字母都是小写 2.保留字 java保留字:现有Java版本尚未使用,但以后的版本可能会作为关键字使用。命名标识符时要避免使用这些…...
Debian 11 安装并开启SSH服务实现允许root用户使用SecureCRT远程登录
Debian11系统默认没有安装SSH服务,如需要开启远程登录则需要安装相应的服务。 确保你已经登录到Debian系统,并具有root用户或sudo特权。 打开终端,并使用以下命令安装OpenSSH服务器软件包: sudo apt update sudo apt install ope…...
Linux下对线程的理解(上)
1、线程的概念 要理解线程首先要理解页表和进程地址空间,我是这样子理解的,1、进程地址空间是进程访问资源的窗口。2、页表是规定进程地址空间中哪些属于进程。3、合理的使用进程地址空间页表可以对资源进行划分。而如何理解进程呢?进程是接受…...
Java 语言特性(面试系列2)
一、SQL 基础 1. 复杂查询 (1)连接查询(JOIN) 内连接(INNER JOIN):返回两表匹配的记录。 SELECT e.name, d.dept_name FROM employees e INNER JOIN departments d ON e.dept_id d.dept_id; 左…...

React第五十七节 Router中RouterProvider使用详解及注意事项
前言 在 React Router v6.4 中,RouterProvider 是一个核心组件,用于提供基于数据路由(data routers)的新型路由方案。 它替代了传统的 <BrowserRouter>,支持更强大的数据加载和操作功能(如 loader 和…...
QMC5883L的驱动
简介 本篇文章的代码已经上传到了github上面,开源代码 作为一个电子罗盘模块,我们可以通过I2C从中获取偏航角yaw,相对于六轴陀螺仪的yaw,qmc5883l几乎不会零飘并且成本较低。 参考资料 QMC5883L磁场传感器驱动 QMC5883L磁力计…...

Swift 协议扩展精进之路:解决 CoreData 托管实体子类的类型不匹配问题(下)
概述 在 Swift 开发语言中,各位秃头小码农们可以充分利用语法本身所带来的便利去劈荆斩棘。我们还可以恣意利用泛型、协议关联类型和协议扩展来进一步简化和优化我们复杂的代码需求。 不过,在涉及到多个子类派生于基类进行多态模拟的场景下,…...
基于服务器使用 apt 安装、配置 Nginx
🧾 一、查看可安装的 Nginx 版本 首先,你可以运行以下命令查看可用版本: apt-cache madison nginx-core输出示例: nginx-core | 1.18.0-6ubuntu14.6 | http://archive.ubuntu.com/ubuntu focal-updates/main amd64 Packages ng…...

【SQL学习笔记1】增删改查+多表连接全解析(内附SQL免费在线练习工具)
可以使用Sqliteviz这个网站免费编写sql语句,它能够让用户直接在浏览器内练习SQL的语法,不需要安装任何软件。 链接如下: sqliteviz 注意: 在转写SQL语法时,关键字之间有一个特定的顺序,这个顺序会影响到…...

第一篇:Agent2Agent (A2A) 协议——协作式人工智能的黎明
AI 领域的快速发展正在催生一个新时代,智能代理(agents)不再是孤立的个体,而是能够像一个数字团队一样协作。然而,当前 AI 生态系统的碎片化阻碍了这一愿景的实现,导致了“AI 巴别塔问题”——不同代理之间…...
Linux云原生安全:零信任架构与机密计算
Linux云原生安全:零信任架构与机密计算 构建坚不可摧的云原生防御体系 引言:云原生安全的范式革命 随着云原生技术的普及,安全边界正在从传统的网络边界向工作负载内部转移。Gartner预测,到2025年,零信任架构将成为超…...

QT: `long long` 类型转换为 `QString` 2025.6.5
在 Qt 中,将 long long 类型转换为 QString 可以通过以下两种常用方法实现: 方法 1:使用 QString::number() 直接调用 QString 的静态方法 number(),将数值转换为字符串: long long value 1234567890123456789LL; …...

OPenCV CUDA模块图像处理-----对图像执行 均值漂移滤波(Mean Shift Filtering)函数meanShiftFiltering()
操作系统:ubuntu22.04 OpenCV版本:OpenCV4.9 IDE:Visual Studio Code 编程语言:C11 算法描述 在 GPU 上对图像执行 均值漂移滤波(Mean Shift Filtering),用于图像分割或平滑处理。 该函数将输入图像中的…...