如何配置一个易拓展的即时聊天应用 —Tailchat
介绍:
Tailchat—一个开源易拓展的及时聊天应用,让沟通变得更加自由、灵活和有趣
对于个人用户,Tailchat完美适配了如下应用场景:
- 和朋友一起玩:只需创建一个群组,并通过多个频道分割不同的话题,还可以使用网页面板来分享您喜欢的网页。
 - 建立自己的粉丝圈:使用机器人来订阅并转发信息到聊天面板,让粉丝集中在一起,避免创建无数个QQ群/微信群,多个频道更能让多个话题一起产生。
 - 隐私掌握在手中:如果您非常看重隐私,Tailchat允许您自行部署,一切都能掌控在您的手中。
 
对于企业用户,Tailchat同样具备丰富特性:
- 面板化设计:完全满足企业自定义化设计需求。
 - 插件化架构:基于核心进行二次开发变得无比方便。
 - 自部署实现:保护企业价值,让您使用更加安心。
 - 开源代码:代码的透明让审查变得简单。
 

第一步:更新源
#Ubuntu/Debian
apt update -y && apt upgrade -y    
#Centos
yum update -y && yum upgrade -y    第二步:安装Docker
curl -fsSL https://get.docker.com -o get-docker.sh && sh ./get-docker.sh第三步:拉取镜像
docker pull moonrailgun/tailchat # 从公共镜像库拉取 tailchat镜像
docker tag moonrailgun/tailchat tailchat # 将下载的镜像改名为tailchat(和源码编译保持一致,如果不改的话会走源码编译流程)第四步:下载必要文件
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 修改 docker-compose.env 文件的配置,建议修改以下内容:
API_URL对外可访问的url地址,用于文件服务访问, 可以是域名也可以是ip 如果出现发送图片不能正常显示就是这个变量没有设置SECRET服务端加密秘钥,用于生成Token. 默认为tailchatSMTP_SENDER发送邮箱验证信息, 格式为xxx@example.com或"YourName" xxx@example.comSMTP_URISMTP 邮件服务地址, 格式为:<protocol>://<username>:<password>@<host>:<port>/<other-info>ADMIN_USER管理员账户名称ADMIN_PASS管理员账户密码
第五步:启动应用
docker compose -f docker-compose.yml -f admin.yml up -d访问: 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 Style, VirtualHosted 为 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        原文链接:https://blog.fuyiran.link/Technology/13.html
版权声明:本博客所有文章除特別声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 傅说 (blog.fuyiran.link)