在Ubuntu22.04上离线部署Tailchat(一)

一: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的安装。

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

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

相关文章

第11章 GUI Page462~476 步骤二十三,二十四,二十五 Undo/Redo ③实现“Undo/Redo”菜单项

工程六 添加“编辑”菜单和子菜单 菜单ID分别为 idMenuEditUndo 和 idMenuEditRedo 热键&#xff08;快捷键&#xff09;分别为CtrlZ 和 CtrlShiftZ 变量名分别为 MenuItemEditUndo 和 MenuItemEditRedo 分别添加事件 ActionLink类增加成员函数 运行效果&#xff1a;“添加…

C语言注意点(2)

1.使用pow函数的相关问题 局部变量n0 while(num/pow(10,n)) n; 为什么不可行 printf("%d",num/pow(10,4)%10) 为什么要提前用temp先引出来 答&#xff1a;pow函数的返回值为double类型&#xff0c;1.终止条件不会满足 2.num/pow(10,4)结果为浮点型&#xff0c;浮…

运维工程师的出路

运维工程师的出路到底在哪里&#xff1f; 你是不是也常常听到身边的运维人员抱怨&#xff0c;他们的出路到底在哪里呢&#xff1f;别着急&#xff0c;让我告诉你&#xff0c;运维人员就像是IT界的“万金油”&#xff0c;他们像“修理工”一样维修服务器&#xff0c;像“消防员…

基于日照时数计算逐日太阳辐射

基于日照时数计算逐日太阳辐射

配置cendos 安装docker 配置阿里云国内加速

由于我安装的cendos是镜像版。已经被配置好了。所以只需要更新相关配置信息即可。 输入 yum update自动更新所有配置 更新完成后输入 yum list docker-ce --showduplicates | sort -r 自动查询所有可用的docker版本 输入 yum install docker-ce docker-ce-cli container…

STM32-03-STM32HAL库

文章目录 STM32HAL库1. HAL库介绍2. STM32Cube固件包3. HAL库框架结构4. 新建HAL版本MDK工程 STM32HAL库 1. HAL库介绍 HAL库 HAL&#xff0c;英文全称 Hardware Abstraction Layer&#xff0c;即硬件抽象层。HAL库是ST公司提供的外设驱动代码的驱动库&#xff0c;用户只需要调…

LiveGBS流媒体平台GB/T28181功能-用户管理通道权限管理关联通道支持只看已选只看未选添加用户备注角色

LiveGBS功能用户管理通道权限管理关联通道支持只看已选只看未选添加用户备注角色 1、用户管理2、添加用户3、关联通道3.1、只看已选3.2、只看未选 4、自定义角色5、搭建GB28181视频直播平台 1、用户管理 LiveGBS支持用户管理&#xff0c;添加用户&#xff0c;及配置相关用户权…

书摘:C 嵌入式系统设计模式 06

本书的原著为&#xff1a;《Design Patterns for Embedded Systems in C ——An Embedded Software Engineering Toolkit 》&#xff0c;讲解的是嵌入式系统设计模式&#xff0c;是一本不可多得的好书。 本系列描述我对书中内容的理解。本文章描述原书第 2 章的内容。 作为嵌入…

Kali Linux——获取root权限

目录 一、设置root密码 【操作命令】 【操作实例】 二、临时获取root权限 【操作命令】 【操作实例】 三、提升用户到root 1、获取root权限 2、进入/etc/passwd 3、查看root账号ID 4、找到需要修改的用户 5、输入i&#xff0c;进入编辑模式 6、把用户的ID改成跟r…

【C语言】关闭socket需要包含的头文件

一、问题 linux系统&#xff0c;包含了头文件<sys/socket.h>&#xff0c; 警告 warning: implicit declaration of function ‘close’; did you mean ‘pclose’? [-Wimplicit-function-declaration] close(sockclient); ^~~~~ pclose 二、解决 在 Linux 系统下…

常用的窗体控件

常用窗体控件 MenuStrip&#xff1a;一个标准的菜单栏控件&#xff0c;可以添加菜单单项和子菜单项 //双击子菜单项同样可以添加点击事件 //menu&#xff1a;菜单 item&#xff1a;菜单选项 //当点击新建选项的时候触发的事件 private void 新建ToolStripMenuItem_Click(ob…

其他排序(基数排序,希尔排序和桶排序)(数据结构课设篇3,python版)(排序综合)

本篇博客主要详细讲解一下其他排序&#xff08;基数排序&#xff0c;希尔排序和桶排序&#xff09;也是排序综合系列里最后一篇博客。第一篇博客讲解的是LowB三人组&#xff08;冒泡排序&#xff0c;插入排序&#xff0c;选择排序&#xff09;&#xff08;数据结构课设篇1&…