Skip to content

Commit

Permalink
feat: 新增唐僧叨叨应用 (#524)
Browse files Browse the repository at this point in the history
* feat: ✨新增唐僧叨叨应用

* docs: 更新文档
  • Loading branch information
budou0608 authored Nov 2, 2023
1 parent 7343b8b commit ed2ae51
Show file tree
Hide file tree
Showing 5 changed files with 280 additions and 0 deletions.
146 changes: 146 additions & 0 deletions apps/tangsengdaodao/1.0.0/data.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,146 @@
additionalProperties:
formFields:
- default: ""
envKey: EXTERNAL_IP
labelEn: External IP
labelZh: 外部访问IP
required: true
type: text
- default: ""
envKey: PANEL_DB_HOST
key: mysql
labelEn: Database Service
labelZh: 数据库服务
required: true
type: service
- default: tsdd
envKey: PANEL_DB_NAME
labelEn: Database
labelZh: 数据库名
random: true
required: true
rule: paramCommon
type: text
- default: tsdd
envKey: PANEL_DB_USER
labelEn: User
labelZh: 数据库用户
random: true
required: true
rule: paramCommon
type: text
- default: tsdd@123456
envKey: PANEL_DB_USER_PASSWORD
labelEn: Password
labelZh: 数据库用户密码
random: true
required: true
rule: paramComplexity
type: password
- default: ""
edit: true
envKey: TS_DB_REDIS_HOST
key: redis
labelEn: Redis Service
labelZh: 缓存服务服务
required: true
type: service
- default: 6379
envKey: TS_DB_REDIS_PORT
labelEn: Redis Port
labelZh: 缓存服务端口
required: true
type: number
- default: ""
edit: true
envKey: TS_DB_REDISPASS
labelEn: Redis Service Password
labelZh: 缓存服务服务密码
required: true
rule: paramCommon
type: password
- default: ""
edit: true
envKey: MINIO_HOST
key: minio
labelEn: Minio Service
labelZh: minio对象存储服务
required: true
type: service
- default: 9000
envKey: MINIO_PORT
labelEn: minio port
labelZh: minio 端口
required: true
type: number
- default: minio
envKey: MINIO_ROOT_USER
labelEn: minio
labelZh: minio用户
random: true
required: true
rule: paramCommon
type: text
- default: 123456
envKey: MINIO_ROOT_PASSWORD
labelEn: MinioPassword
labelZh: minio用户密码
random: true
required: true
rule: paramComplexity
type: password
- default: 5100
envKey: WK_PORT_TCP
labelEn: WuKongIM tcp port
labelZh: 悟空IM TCP端口
required: true
type: number
- default: 5200
envKey: WK_PORT_WS
labelEn: WuKongIM ws port
labelZh: 悟空IM WS端口
required: true
type: number
- default: 5300
envKey: WK_PORT_WEB_SERVER
labelEn: WuKongIM web port
labelZh: 悟空IM监控端口
required: true
type: number
- default: 123456
envKey: TS_SMSCODE
labelEn: SMS
labelZh: 唐僧叨叨短信验证码
required: true
type: number
- default: superAdmin
disabled: true
envKey: TS_ADMIN
labelEn: Super Admin User
labelZh: 唐僧叨叨超级管理员
required: true
type: text
- default: tsdd@123456
envKey: TS_ADMINPWD
labelEn: Admin Password
labelZh: 唐僧叨叨超级管理员默认密码
required: true
type: text
- default: 8090
envKey: TS_APP_PORT_HTTP
labelEn: TangSengDaoDao port
labelZh: 唐僧叨叨端口
required: true
type: number
- default: 82
envKey: TS_APP_PORT_WEB
labelEn: TangSengDaoDao web port
labelZh: 唐僧叨叨WEB端口
required: true
type: number
- default: 83
envKey: TS_APP_PORT_MANAGER
labelEn: TangSengDaoDao Management background port
labelZh: 唐僧叨叨管理后台端口
required: true
type: number
74 changes: 74 additions & 0 deletions apps/tangsengdaodao/1.0.0/docker-compose.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,74 @@
version: '1.0.0'
services:
tsddwukongim: # 唐僧叨叨通讯服务(悟空IM)
image: registry.cn-shanghai.aliyuncs.com/wukongim/wukongim:latest
restart: always
ports:
- "${WK_PORT_TCP}:5100" # tcp长连接端口(外网开放)
- "${WK_PORT_WS}:5200" # websocket端口(外网开放)
- "${WK_PORT_WEB_SERVER}:5300" # 监控端口
volumes:
- ./wukongim:/root/wukongim
environment:
- WK_MODE=release
- WK_EXTERNAL_IP=${EXTERNAL_IP}
- WK_CONVERSATION_ON=true
- WK_WEBHOOK_GRPCADDR=tangsengdaodaoserver:6979
- WK_DATASOURCE_ADDR=http://tangsengdaodaoserver:8090/v1/datasource
- WK_DATASOURCE_CHANNELINFOON=true
- WK_TOKENAUTHON=true
networks:
- 1panel-network
tangsengdaodaoserver: # 唐僧叨叨的业务服务
image: registry.cn-shanghai.aliyuncs.com/wukongim/tangsengdaodaoserver:latest
restart: always
command: "api"
healthcheck:
test: "wget -q -Y off -O /dev/null http://localhost:8090/v1/ping > /dev/null 2>&1"
interval: 10s
timeout: 10s
retries: 3
depends_on:
- tsddwukongim
ports:
- "${TS_APP_PORT_HTTP}:8090"
volumes:
- ./tsdd:/home/tsdddata
# - ./tsdd/configs/tsdd.yaml:/home/configs/tsdd.yaml
environment:
- TS_MODE=release
- TS_WUKONGIM_APIURL=http://tsddwukongim:5001
- TS_DB_MYSQLADDR=${PANEL_DB_USER}:${PANEL_DB_USER_PASSWORD}@tcp(${PANEL_DB_HOST}:${PANEL_DB_PORT})/${PANEL_DB_NAME}?charset=utf8mb4&parseTime=true&loc=Local
- TS_DB_REDISADDR=${TS_DB_REDIS_HOST}:${TS_DB_REDIS_PORT}
- TS_DB_REDISPASS=${TS_DB_REDISPASS}
- TS_EXTERNAL_IP=${EXTERNAL_IP}
- TS_SMSCODE=${TS_SMSCODE}
- TS_ADMINPWD=${TS_ADMINPWD}
- TS_FILESERVICE=minio
- TS_MINIO_URL=http://${MINIO_HOST}:${MINIO_PORT}
- TS_MINIO_ACCESSKEYID=${MINIO_ROOT_USER}
- TS_MINIO_SECRETACCESSKEY=${MINIO_ROOT_PASSWORD}
- TS_AVATAR_DEFAULTBASEURL=https://api.multiavatar.com/{avatar}.png
networks:
- 1panel-network
tangsengdaodaoweb: # 唐僧叨叨的web服务
image: registry.cn-shanghai.aliyuncs.com/wukongim/tangsengdaodaoweb:latest
restart: always
environment:
- API_URL=http://${EXTERNAL_IP}:${TS_APP_PORT_HTTP}/
ports:
- "${TS_APP_PORT_WEB}:80"
networks:
- 1panel-network
tangsengdaodaomanager: # 唐僧叨叨的后台管理系统
image: registry.cn-shanghai.aliyuncs.com/wukongim/tangsengdaodaomanager:latest
restart: always
environment:
- API_URL=http://${EXTERNAL_IP}:${TS_APP_PORT_HTTP}/
ports:
- "${TS_APP_PORT_MANAGER}:80"
networks:
- 1panel-network
networks:
1panel-network:
external: true
40 changes: 40 additions & 0 deletions apps/tangsengdaodao/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
# 什么是唐僧叨叨

**唐僧叨叨**是一款`轻量级``高性能``重安全`专注于`私有化部署``开源`即时通讯系统。

## 特性

**唐僧叨叨**具备以下特性:

- 🆓 开源免费:服务端源码,APP源码,Web/PC端源码全部开源,Apache2.0开源协议(可商用),没人能拿捏你
- 🔏 私有化部署:所有程序和数据都在自己的服务器上,不用担心数据泄露,不用担心数据被用于其他用途
- 🆚 消息必达:采用 tcp + ack机制,保证消息必达,支持离线消息,支持消息漫游。
- 🔐 内容安全:消息传输采用私有二进制加密协议、DH+流式加密,防止消息内容泄露
- 💽 消息永久存储:消息支持永久存储,得益于WuKongIM的自研消息db,永久存储不影响性能,只浪费点磁盘空间
- 📱 多设备消息同步:支持 1 个移动端、多个 Web/PC 端同时在线时,并且支持多端之间的消息实时同步。
- 📟 全平台支持:iOS,Android,Windows,MAC,Ubuntu,Web


## 为什么选择唐僧叨叨

厂商 | Demo二开成本 | Web端同步 | 群人数 | 存储 | 开源 | 私有化部署
---|--- |--- |--- |--- |--- |---
<label style="color:red">唐僧叨叨</label> | <label style="color:red">运营级Demo,换个皮就能直接上线运营</label> | <label style="color:red">所有操作实时同步 </label> | <label style="color:red">无限制</label> | <label style="color:red">永久</label>(自研消息数据库加持) | <label style="color:red">是 </label> | <label style="color:red">支持 </label>
网易云信 | Demo简单,很多功能都只是做演示 | 无法同步 | 小于5000 | 30天/免费版 1年/专业版 | 否 | 未知
融云 | Demo简单,离运营级还有距离 | 消息同步,设置不能同步 | 3000 | 7天 | 否 | 未知
环信 | Demo超简单,开发成运营级产品成本高 | app与web互踢 | 3000 | 7天(需联系商务) | 否 | 未知
腾讯云IM | Demo简单,离运营级还有距离 | 大部分能实时同步 | 付费后最多扩展到6000人 | 30天/旗舰版 | 否 | 未知

## 唐僧叨叨的组成

**客户端**

主要是用户端使用 包括:[iOS](https://github.com/TangSengDaoDao/TangSengDaoDaoiOS)[Android](https://github.com/TangSengDaoDao/TangSengDaoDaoAndroid)[Web](https://github.com/TangSengDaoDao/TangSengDaoDaoWeb)[PC](https://github.com/TangSengDaoDao/TangSengDaoDaoWeb)

**服务端**

给客户端调用的后端系统 包括:通讯端([WuKongIM](https://github.com/WuKongIM/WuKongIM)),业务端([TangSengDaoDaoServer](https://github.com/TangSengDaoDao/TangSengDaoDaoServer))

**管理端**

[TangSengDaoDaoManager](https://github.com/TangSengDaoDao/TangSengDaoDaoManager)
20 changes: 20 additions & 0 deletions apps/tangsengdaodao/data.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
name: TangSengDaoDao
tags:
- Tool
title: 让企业轻松拥有自己的即时通讯
type: 工具
description: 让企业轻松拥有自己的即时通讯
additionalProperties:
key: tangsengdaodao
name: TangSengDaoDao
tags:
- Tool
shortDescZh: 让企业轻松拥有自己的即时通讯
shortDescEn: Make it easy for businesses to have their own instant messaging
type: tool
crossVersionUpdate: true
limit: 0
recommend: 0
website: https://tangsengdaodao.com/
github: https://github.com/TangSengDaoDao/TangSengDaoDaoServer
document: https://tangsengdaodao.com/
Binary file added apps/tangsengdaodao/logo.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

0 comments on commit ed2ae51

Please sign in to comment.