Lumen IM 是一个网页版即时聊天系统,界面简约、美观、操作简单且容易进行二次开发。
- Golang 1.23+
- MySQL 8.0
- Redis 5.0+
- Minio1
- 支持 WebSocket 通信
- 支持私聊及群聊以及房间聊天场景
- 支持服务水平扩展
- 支持聊天消息类型有 文本、代码块、 图片及其它类型文件
- 支持聊天消息撤回、删除或批量删除、转发消息(逐条转发、合并转发)及群投票功能
- 地址: https://im.gzydong.com
- 账号: 18798272054 或 18798272055
- 密码: admin123
- 下载源码
$ git clone https://github.com/gzydong/go-chat.git
- 拷贝项目根目录下 config.example.yaml 文件为 config.yaml 并正确配置相关参数
$ cp config.example.yaml config.yaml # 请务必正确配置相关参数
- 安装依赖包
$ go mod tidy
- 安装相关依赖命令行工具
$ make install
- 初始化数据库
$ go run ./cmd/lumenim temp migrate
- 开发环境下启动服务
# 打开两个终端,分别运行下面两个命令
$ go run ./cmd/lumenim http # 本地启动 http 服务
$ go run ./cmd/lumenim commet # 本地启动 websocket 服务
$ go run ./cmd/lumenim queue # 启动异步队列
$ go run ./cmd/lumenim cron # 启动定时任务
- 编译后运行
$ make build # 执行编译命令
# 执行后可在 ./bin 目录下看到 lumenim