一:Tailchat介绍
Tailchat 是一款插件化易拓展的开源 IM 应用。可拓展架构赋予 Tailchat 无限可能性。前端微内核架构 + 后端微服务架构 使得 Tailchat 能够驾驭任何定制化/私有化的场景,是面向企业与私域用户打造,高度自由的群组管理与定制化的面板展示可以让私域主能够更好的展示自己的作品,管理用户,打造自己的品牌与圈子。
Tailchat特性
完整的即时通讯基础能力
插件化架构的赋予的自由拓展能力
微服务架构赋予的水平拓展能力
Tailchat亮点
基于mini-star的前端微内核架构与基于moleculer的后端微服务架构可以适应各种用户用量,便于拓展
完整的聊天系统,支持提及、面板跳转、富文本、markdown、url链接等各种语法
消息reaction机制,让你通过表情表达自己
文件分享与图片发送
支持语音通话与视频通话
完善的身份组管理,权限控制颗粒化
用户管理与用户禁言
邮箱认证与密码找回
多种面板: 网页嵌入, 自定义html, 话题面板
简易消息推送与github通知订阅
后台管理平台
开放平台
机器人
OAuth
插件带来的更多奇妙化学反应
自定义主题
在线听音乐
消息加密
url获取元数据
隔空投送
任务管理
在线绘图
字体放大
工具箱
...
对于个人用户
如果希望和朋友一起玩
创建一个群组
通过多个频道分割不同的话题
使用网页面板来分享喜欢的网页
如果希望聚集自己的粉丝圈
使用机器人来订阅自己的信息并转发到聊天面板
让自己的粉丝集中在一起,不需要创建无数个qq群/微信群
多个频道让多个话题能够一起产生
如果对于自己的隐私非常看中
自己部署让一切都能掌控在手中
对于企业用户
面板化设计满足企业自定义化设计需求
插件化架构可以方便基于核心进行二次开发
自部署的实现可以让企业价值得到保护,让企业安心
开源代码方便审查
二:Tailchat的离线部署
(一)、安装nodejs
1、准备环境
#环境准备
sudo apt-get install python3 g++ make python3-pip
2、安装nodejs
apt update
apt install -y curl
curl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash - && apt-get install -y nodejs
#显示安装版本
nodejs --version
3、升级nodejs
#使用"n"的node版本管理工具升级到最新版本
#安装n
sudo npm install n -g
# 安装稳定版
sudo n stable
# 查看已下载的版本
sudo n ls
(二)、Tailchat离线部署
Tailchat的相关依赖很多如下:
git
nodejs v16.18.0 或以上
pnpm v8.3.1 或以上
mongodb
redis
minio
这里我们先进行Tailchat的安装,接下来我们再介绍(二)mongodb的安装、(三)minio的安装、(四),redis的安装。安装相对复杂,不想麻烦的小伙伴可以选择使用docker安装。这里为什么讲离线安装呢,就是我们要了解软件的实际结构,和了解他的内部安全机制。为后续的部署,研发做准备。话不多说,下面开始:
1、克隆tailchat代码仓
mkdir msgbyte && cd msgbyte
git clone https://github.com/msgbyte/tailchat.git
2、编译项目
cd tailchat
pnpm install
该命令会花费一些时间,将Tailchat所有的依赖都安装一遍。当安装完毕后内部的插件会自动执行编译命令。
3、构建项目
NODE_ENV=production pnpm build
该命令会并行执行编译前端后端管理端的命令。并将前端产物移动到服务端的 server/dist/public 目录
4、运行项目
在server目录下以.env.example目录为例创建一个环境变量文件
cp server/.env.example server/dist/.env
vim .env
将必要的环境变量修改为自己的,如 MONGO_URL, REDIS_URL, MINIO_URL
5、然后启动Tailchat服务
SERVICEDIR=services,plugins pnpm start:service
6、后台地址后面追加/admin/即可访问
https://tailchat.example.com/admin/
#或者
http://<server ip>:11000/admin/
备注:
此进启动会报错,主要是我们还没有配置mongoDB,minio,redis。接下来的三章我们会介绍:
在Ubuntu22.04上离线部署Tailchat(二)mongodb的安装、
在Ubuntu22.04上离线部署Tailchat(三)minio的安装、
在Ubuntu22.04上离线部署Tailchat(四)redis的安装。