如何配置一个易拓展的即时聊天应用 —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. 默认为tailchat
SMTP_SENDER
发送邮箱验证信息, 格式为xxx@example.com
或"YourName" xxx@example.com
SMTP_URI
SMTP 邮件服务地址, 格式为:<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)