如何配置一个易拓展的即时聊天应用 —Tailchat

发布时间: 2024-09-21

介绍:

Tailchat—一个开源易拓展的及时聊天应用,让沟通变得更加自由、灵活和有趣

对于个人用户,Tailchat完美适配了如下应用场景:

  1. 和朋友一起玩:只需创建一个群组,并通过多个频道分割不同的话题,还可以使用网页面板来分享您喜欢的网页。
  2. 建立自己的粉丝圈:使用机器人来订阅并转发信息到聊天面板,让粉丝集中在一起,避免创建无数个QQ群/微信群,多个频道更能让多个话题一起产生。
  3. 隐私掌握在手中:如果您非常看重隐私,Tailchat允许您自行部署,一切都能掌控在您的手中。

对于企业用户,Tailchat同样具备丰富特性:

  1. 面板化设计:完全满足企业自定义化设计需求。
  2. 插件化架构:基于核心进行二次开发变得无比方便。
  3. 自部署实现:保护企业价值,让您使用更加安心。
  4. 开源代码:代码的透明让审查变得简单。

第一步:更新源

#Ubuntu/Debian
apt update -y && apt upgrade -y    
#Centos
yum update -y && yum upgrade -y    
Bash

第二步:安装Docker

curl -fsSL https://get.docker.com -o get-docker.sh && sh ./get-docker.sh
Bash

第三步:拉取镜像

docker pull moonrailgun/tailchat # 从公共镜像库拉取 tailchat镜像
docker tag moonrailgun/tailchat tailchat # 将下载的镜像改名为tailchat(和源码编译保持一致,如果不改的话会走源码编译流程)
Bash

第四步:下载必要文件

mkdir tailchat && cd tailchat
wget https://raw.githubusercontent.com/msgbyte/tailchat/master/docker-compose.yml
wget https://raw.githubusercontent.com/msgbyte/tailchat/master/docker-compose.env
wget https://raw.githubusercontent.com/msgbyte/tailchat/master/docker/admin.yml 
Bash

修改 docker-compose.env 文件的配置,建议修改以下内容:

  1. API_URL 对外可访问的url地址,用于文件服务访问, 可以是域名也可以是ip 如果出现发送图片不能正常显示就是这个变量没有设置
  2. SECRET 服务端加密秘钥,用于生成Token. 默认为 tailchat
  3. SMTP_SENDER 发送邮箱验证信息, 格式为 xxx@example.com 或 "YourName" xxx@example.com
  4. SMTP_URI SMTP 邮件服务地址, 格式为: <protocol>://<username>:<password>@<host>:<port>/<other-info>
  5. ADMIN_USER 管理员账户名称
  6. ADMIN_PASS 管理员账户密码

第五步:启动应用

docker compose -f docker-compose.yml -f admin.yml up -d
Bash

访问: http://<server ip>:11000 即可打开Tailchat

访问: http://<server ip>:11000/admin 即可打开Tailchat管理面板

注意:

以下是目前所有的环境变量,可以直接在 docker-compose.env中新增或进行修改,修改完后运行如下指令清空缓存并重启容器

变量名 默认值 描述
PORT 11000 网关服务端口号
SECRET tailchat 加密秘钥, 用于JWT
STATIC_HOST "{BACKEND}" 对外可访问的静态服务主机,用于文件服务访问, 默认为动态根据前端请求推断出的服务端地址,如果期望存储在第三方OSS中需要进行修改
STATIC_URL "{BACKEND}/static/" 对外可访问的静态服务完整地址前缀,用于文件服务访问, 默认为动态根据前端请求推断出的服务端地址,如果期望存储在第三方OSS中需要进行修改, 如果设置了本变量则上面的 STATIC_HOST 值无效
API_URL http://127.0.0.1:11000 对外可访问的url地址,用于开放平台的issuer签发或者作为文件服务的fallback
MONGO_URL - 数据库服务地址
REDIS_URL - Redis服务地址
MINIO_URL - 文件服务地址(minio)
MINIO_USER - 文件服务用户名
MINIO_PASS - 文件服务密码
MINIO_BUCKET_NAME tailchat 文件服务存储桶名
MINIO_PATH_STYLE "Path" 是否使用路径形式的s3通信格式, Path 为 Path StyleVirtualHosted 为 Virtual hosted style
SMTP_SENDER - 邮件服务发件人(示例: "Tailchat" example@163.com)
SMTP_URI - 邮件服务连接地址(示例: smtp://username:password@smtp.example.com/?pool=true)
FILE_LIMIT 1048576 文件/图片上传的大小限制,默认为1m,请输入数字,(单位: 字节)
EMAIL_VERIFY - 是否开启邮箱校验, 如果为 "1" 或者 "true" 则在注册时增加邮箱校验控制
DISABLE_LOGGER - 是否禁用日志输出, 如果为 "1" 或者 "true" 则在运行中关闭日志
DISABLE_USER_REGISTER - 是否关闭用户注册功能, 如果为 "1" 或者 "true" 则关闭该功能
DISABLE_GUEST_LOGIN - 是否关闭用户游客登录功能, 如果为 "1" 或者 "true" 则关闭该功能
DISABLE_CREATE_GROUP - 是否关闭用户创建群组功能, 如果为 "1" 或者 "true" 则关闭该功能
DISABLE_PLUGIN_STORE - 是否隐藏用户插件中心功能, 如果为 "1" 或者 "true" 则关闭该功能
DISABLE_ADD_FRIEND - 是否隐藏用户添加好友功能, 如果为 "1" 或者 "true" 则关闭该功能
docker-compose down --rmi all
docker compose -f docker-compose.yml -f admin.yml up -d
  1. [...]提示:在自部署客户端中,新用户注册必须使用iOS/Android应用,且无法进行密码找回开源版有很多功能无法使用,更推荐使用Tailchat部署教程:https://www.upx8.com/4335环境要求:配置>=2H8G部署方法:第一步:更新源Ubuntu/Debian:[...]

请在下方留下您的评论.加入TG吹水群