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

news2024/9/22 9:40:42

一: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.coloradmin.cn/o/1361048.html

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

相关文章

Transformer 的双向编码器表示 (BERT)

一、说明 本文介绍语言句法中&#xff0c;最可能的单词填空在self-attention的表现形式&#xff0c;以及内部原理的介绍。 二、关于本文概述 在我之前的博客中&#xff0c;我们研究了关于生成式预训练 Transformer 的完整概述&#xff0c;关于生成式预训练 Transformer (GPT) 的…

C# 反射的乌云,MethodInfo的Json序列化参数入参问题

文章目录 前言直接运行MethodInfo运行结果 Json解决ParamterInfo实例化运行结果无法实例化问题部分参数的问题 Json反序列化 经过长达一天的研究&#xff0c;我终于完全的解决的了实战思路方法测试用例运行测试运行结果 代码总结总结 前言 我上篇文章已经基本解决了反射的基本…

数据库 补充 树,红黑树,b树,b+树

01.树 02.二叉树和二叉平衡树 03.平衡二叉树的恢复 将导致不平衡的结点称作被破坏者&#xff0c;破坏了结点的平衡的结点成为破坏者&#xff0c;经过调整可以让该树平衡的结点称为调整结点。 LL型&#xff1a; 以被破坏者的左孩子结点作为调整结点&#xff0c;对其进行右旋…

docker kingbase

docker kingbase run 命令 docker run -tid \ -e ENABLE_CIyes \ -e NEED_STARTyes \ -e DB_MODEoracle \ -e DB_USERkingbase \ -e DB_PASSWORD123456 \ --privileged \ -p 4321:54321 \ -v /home/admin/SoftWare/volume/kingbase/userdata/data:/home/kingbase/userdata/da…

【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 系统下…

window 下载安装 Studio 3T

这里 我们先访问官网 https://studio3t.com/ 然后 他会弹出提示 如果您同意使用cookies和类似技术进行市场研究或广告目的&#xff0c;并希望获得额外功能&#xff0c;您可以点击“Accept all”按钮。 如果您不同意使用cookies和类似技术进行上述目的&#xff0c;您可以点击“…

C#编程-使用集合

使用集合 您学习了如何使用数组来有效地存储和操作相似类型额数据。但是,以下限制于数组的使用相关联: 您必须在声明时定义数组的大小。您必须编写代码以对数组执行标准操作,如排序。让我们思考一个示例。假设您想要存储在组织工作的五个雇员的姓名。您可以使用以下语句来声…

【大数据】Zookeeper 客户端的命令行操作

Zookeeper 客户端的命令行操作 1.显示某个路径下的所有节点&#xff1a;ls2.显示某个路径下的所有节点&#xff0c;以及当前节点的详细信息&#xff1a;ls23.创建节点&#xff1a;create4.创建临时节点&#xff1a;create -e5.创建顺序&#xff08;带编号&#xff09;节点&…

密码学:一文看懂初等数据加密一对称加密算法

文章目录 对称加密算法简述对称加密算法的由来对称加密算法的家谱数据加密标准-DES简述DES算法的消息传递模型DES算法的消息传递过程和Base64算法的消息传递模型的区别 算法的实现三重DES-DESede三重DES-DESede实现 高级数据加密标准一AES实现 国际数据加密标准-IDEA实现 基于口…

Spring面试篇

Spring面试篇 前置知识ApplicationContextInitializerApplicationListenerBeanFactoryBeanDefinitionBeanFactoryPostProcesssorAwareInitialzingBean&#xff0c;DisposableBeanBeanPostProcessor SpringBoot启动流程IOC容器初始化流程Bean生命周期Bean循环依赖解决 SpringMvc…

Burp Suite Intruder的4种攻击类型

这里写自定义目录标题 Burp Suite Intruder的4种攻击类型 Burp Suite Intruder的4种攻击类型

Spring 七种事务传播性介绍

作者&#xff1a;vivo 互联网服务器团队 - Zhou Shaobin 本文主要介绍了Spring事务传播性的相关知识。 Spring中定义了7种事务传播性&#xff1a; PROPAGATION_REQUIRED PROPAGATION_SUPPORTS PROPAGATION_MANDATORY PROPAGATION_REQUIRES_NEW PROPAGATION_NOT_SUPPORTED…

光明源智能:智慧厕所系统,打造智慧化科技智能生活

在这个科技飞速发展的时代&#xff0c;我们的生活正经历着一场全面的革命&#xff0c;而这场变革不仅仅局限于我们的工作和娱乐&#xff0c;甚至涉及我们生活中最私密的空间之一——卫生间。随着科技与卫生的巧妙融合&#xff0c;智慧厕所系统正日益成为一个引人注目的焦点。本…

构建高效秒杀系统的设计原理及注意事项

&#x1f604; 19年之后由于某些原因断更了三年&#xff0c;23年重新扬帆起航&#xff0c;推出更多优质博文&#xff0c;希望大家多多支持&#xff5e; &#x1f337; 古之立大事者&#xff0c;不惟有超世之才&#xff0c;亦必有坚忍不拔之志 &#x1f390; 个人CSND主页——Mi…

5G-A,一根蓄满能量的弹簧

光阴转瞬&#xff0c;恍然间2024已经来到身边。经历了2023年全球AI技术大爆发&#xff0c;以及智能汽车、虚拟现实、自主科技等诸多领域取得关键进展。想必大家希望知道在新一年中有哪些值得期待的科技增长空间。 如果是这样&#xff0c;那么不妨将目光投向5G-A。 与其他科技领…

轻松入门:Anaconda 在 PyCharm 中的配置与应用指南

1 Anaconda Anaconda 和 Conda 是两个相关但不同的概念。 Anaconda 是一个免费且开源的发行版&#xff0c;包含了 Python 和 R 语言的数据科学和机器学习相关的众多包&#xff0c;它包括 Conda、Python、Jupyter Notebook 等多个科学计算和数据科学中常用的应用。 Anaconda 通过…

unity中0GC优化方案《zstring》

文章目录 序言简介GC带来的问题性能瓶颈玩家体验受损 使用方式 序言 游戏开发秉承遇到好东西要分享&#xff0c;下面介绍zstring&#xff0c;感谢作者开源无私奉献 源码地址&#xff1a;https://github.com/871041532/zstring 简介 GC带来的问题 性能瓶颈 GC暂停主线程执行…

你珍藏的那个表情包女孩,现在滤镜碎了一地。

♥ 为方便您进行讨论和分享&#xff0c;同时也为能带给您不一样的参与感。请您在阅读本文之前&#xff0c;点击一下“关注”&#xff0c;非常感谢您的支持&#xff01; 文|猴哥聊娱乐 编辑|侯欢庭 七年前&#xff0c;一个年仅三岁的小女孩以其无邪的表情包风靡网络&#xff0…

科锐16位汇编学习笔记 03 汇编指令

指令种类 数据传送指令算数运算类指令位操作类指令串操作类指令控制转移类指令处理器控制类指令 数据传送类指令 传送类指令不影响标志位&#xff0c;**除了标志位传送指令外。** 传送指令MOV&#xff08;move&#xff09; 说明 ​ 把一个字节或字的操作数从源地址传送至…

安全与认证Week3 Tutorial+历年题补充

目录 1) 什么是重放攻击? 2)什么是Kerberos系统?它提供什么安全服务? 3)服务器验证客户端身份的一种简单方法是要求提供密码。在Kerberos中不使用这种身份验证&#xff0c;为什么?Kerberos如何对服务器和客户机进行身份验证? 4) Kerberos的四个要求是什么?Kerberos系…