feat:调整wukongim&tangsengdaodao

This commit is contained in:
okxlin 2024-10-20 04:06:53 +08:00
parent a2d41c6aa9
commit 6077beaa68
13 changed files with 174 additions and 70 deletions

View File

@ -0,0 +1,24 @@
CONTAINER_NAME="tangsengdaodao"
EXTERNAL_IP="1.2.3.4"
MINIO_HOST="minio"
MINIO_PORT=9000
MINIO_ROOT_PASSWORD="minio"
MINIO_ROOT_USER="minio"
PANEL_APP_PORT_HTTP=83
PANEL_APP_PORT_TS_APP_HTTP=8090
PANEL_APP_PORT_TS_APP_WEB=82
PANEL_APP_PORT_WK_TCP=5100
PANEL_APP_PORT_WK_WEB_SERVER=5300
PANEL_APP_PORT_WK_WS=5200
PANEL_DB_HOST="mysql"
PANEL_DB_HOST_NAME="mysql"
PANEL_DB_NAME="tsdd"
PANEL_DB_PORT=3306
PANEL_DB_USER="tsdd"
PANEL_DB_USER_PASSWORD="tsdd@123456"
PANEL_REDIS_ROOT_PASSWORD="passsword"
TS_ADMIN="superAdmin"
TS_ADMINPWD="tsdd@123456"
TS_DB_REDIS_HOST="redis"
TS_DB_REDIS_PORT=6379
TS_SMSCODE=123456

View File

@ -1,9 +1,10 @@
additionalProperties: additionalProperties:
formFields: formFields:
- default: "" - default: ""
edit: true
envKey: EXTERNAL_IP envKey: EXTERNAL_IP
labelEn: External IP labelEn: External IP
labelZh: 外部访问IP labelZh: 外部访问 IP
required: true required: true
type: text type: text
- default: "" - default: ""
@ -13,7 +14,7 @@ additionalProperties:
labelZh: 数据库服务 labelZh: 数据库服务
required: true required: true
type: service type: service
- default: tsdd - default: "tsdd"
envKey: PANEL_DB_NAME envKey: PANEL_DB_NAME
labelEn: Database labelEn: Database
labelZh: 数据库名 labelZh: 数据库名
@ -21,7 +22,7 @@ additionalProperties:
required: true required: true
rule: paramCommon rule: paramCommon
type: text type: text
- default: tsdd - default: "tsdd"
envKey: PANEL_DB_USER envKey: PANEL_DB_USER
labelEn: User labelEn: User
labelZh: 数据库用户 labelZh: 数据库用户
@ -29,7 +30,7 @@ additionalProperties:
required: true required: true
rule: paramCommon rule: paramCommon
type: text type: text
- default: tsdd@123456 - default: "tsdd@123456"
envKey: PANEL_DB_USER_PASSWORD envKey: PANEL_DB_USER_PASSWORD
labelEn: Password labelEn: Password
labelZh: 数据库用户密码 labelZh: 数据库用户密码
@ -42,29 +43,29 @@ additionalProperties:
envKey: TS_DB_REDIS_HOST envKey: TS_DB_REDIS_HOST
key: redis key: redis
labelEn: Redis Service labelEn: Redis Service
labelZh: 缓存服务服务 labelZh: 缓存服务
required: true required: true
type: service type: service
- default: 6379 - default: 6379
envKey: TS_DB_REDIS_PORT envKey: TS_DB_REDIS_PORT
labelEn: Redis Port labelEn: Redis Port
labelZh: 缓存服务端口 labelZh: Redis 服务端口
required: true required: true
rule: paramPort
type: number type: number
- default: "" - default: ""
edit: true edit: true
envKey: TS_DB_REDISPASS envKey: PANEL_REDIS_ROOT_PASSWORD
labelEn: Redis Service Password labelEn: Redis Password
labelZh: 缓存服务服务密码 labelZh: Redis 密码
required: true required: true
rule: paramCommon
type: password type: password
- default: "" - default: ""
edit: true edit: true
envKey: MINIO_HOST envKey: MINIO_HOST
key: minio key: minio
labelEn: Minio Service labelEn: Minio Service
labelZh: minio对象存储服务 labelZh: minio 对象存储服务
required: true required: true
type: service type: service
- default: 9000 - default: 9000
@ -72,75 +73,92 @@ additionalProperties:
labelEn: minio port labelEn: minio port
labelZh: minio 端口 labelZh: minio 端口
required: true required: true
rule: paramPort
type: number type: number
- default: "" - default: ""
edit: true
envKey: MINIO_ROOT_USER envKey: MINIO_ROOT_USER
labelEn: minio labelEn: minio user
labelZh: minio用户 labelZh: minio 用户
random: true
required: true required: true
rule: paramCommon rule: paramCommon
type: text type: text
- default: "" - default: ""
edit: true
envKey: MINIO_ROOT_PASSWORD envKey: MINIO_ROOT_PASSWORD
labelEn: MinioPassword labelEn: Minio Password
labelZh: minio用户密码 labelZh: minio 用户密码
random: true
required: true required: true
rule: paramComplexity rule: paramComplexity
type: password type: password
- default: 5100 - default: 5100
edit: true
envKey: PANEL_APP_PORT_WK_TCP envKey: PANEL_APP_PORT_WK_TCP
labelEn: WuKongIM tcp port labelEn: WuKongIM tcp port
labelZh: 悟空IM TCP端口 labelZh: 悟空 IM TCP 端口
required: true required: true
rule: paramPort
type: number type: number
- default: 5200 - default: 5200
edit: true
envKey: PANEL_APP_PORT_WK_WS envKey: PANEL_APP_PORT_WK_WS
labelEn: WuKongIM ws port labelEn: WuKongIM ws port
labelZh: 悟空IM WS端口 labelZh: 悟空 IM WS 端口
required: true required: true
rule: paramPort
type: number type: number
- default: 5300 - default: 5300
edit: true
envKey: PANEL_APP_PORT_WK_WEB_SERVER envKey: PANEL_APP_PORT_WK_WEB_SERVER
labelEn: WuKongIM web port labelEn: WuKongIM web port
labelZh: 悟空IM监控端口 labelZh: 悟空 IM 监控端口
required: true required: true
rule: paramPort
type: number type: number
- default: 123456 - default: 123456
edit: true
envKey: TS_SMSCODE envKey: TS_SMSCODE
labelEn: SMS labelEn: SMS
labelZh: 唐僧叨叨短信验证码 labelZh: 唐僧叨叨短信验证码
required: true required: true
type: number type: number
- default: superAdmin - default: "superAdmin"
disabled: true disabled: true
envKey: TS_ADMIN envKey: TS_ADMIN
labelEn: Super Admin User labelEn: Super Admin User
labelZh: 唐僧叨叨超级管理员 labelZh: 唐僧叨叨超级管理员
required: true required: true
type: text type: text
- default: tsdd@123456 - default: "tsdd@123456"
edit: true
envKey: TS_ADMINPWD envKey: TS_ADMINPWD
labelEn: Admin Password labelEn: Admin Password
labelZh: 唐僧叨叨超级管理员默认密码 labelZh: 唐僧叨叨超级管理员默认密码
random: true
required: true required: true
type: text rule: paramComplexity
type: password
- default: 8090 - default: 8090
edit: true
envKey: PANEL_APP_PORT_TS_APP_HTTP envKey: PANEL_APP_PORT_TS_APP_HTTP
labelEn: TangSengDaoDao port labelEn: TangSengDaoDao port
labelZh: 唐僧叨叨端口 labelZh: 唐僧叨叨端口
required: true required: true
rule: paramPort
type: number type: number
- default: 82 - default: 82
edit: true
envKey: PANEL_APP_PORT_TS_APP_WEB envKey: PANEL_APP_PORT_TS_APP_WEB
labelEn: TangSengDaoDao web port labelEn: TangSengDaoDao web port
labelZh: 唐僧叨叨WEB端口 labelZh: 唐僧叨叨 WEB 端口
required: true required: true
rule: paramPort
type: number type: number
- default: 83 - default: 83
edit: true
envKey: PANEL_APP_PORT_HTTP envKey: PANEL_APP_PORT_HTTP
labelEn: TangSengDaoDao Management background port labelEn: TangSengDaoDao Management background port
labelZh: 唐僧叨叨管理后台端口 labelZh: 唐僧叨叨管理后台端口
required: true required: true
rule: paramPort
type: number type: number

View File

@ -1,8 +1,7 @@
version: '3.1'
services: services:
tsddwukongim: # 唐僧叨叨通讯服务悟空IM tsddwukongim: # 唐僧叨叨通讯服务悟空IM
container_name: ${CONTAINER_NAME}-wukongim container_name: ${CONTAINER_NAME}-wukongim
image: registry.cn-shanghai.aliyuncs.com/wukongim/wukongim:v1.2 image: "registry.cn-shanghai.aliyuncs.com/wukongim/wukongim:v1.2"
restart: always restart: always
ports: ports:
- "${PANEL_APP_PORT_WK_TCP}:5100" # tcp长连接端口外网开放 - "${PANEL_APP_PORT_WK_TCP}:5100" # tcp长连接端口外网开放
@ -20,9 +19,11 @@ services:
- WK_TOKENAUTHON=true - WK_TOKENAUTHON=true
networks: networks:
- 1panel-network - 1panel-network
labels:
createdBy: "Apps"
tangsengdaodaoserver: # 唐僧叨叨的业务服务 tangsengdaodaoserver: # 唐僧叨叨的业务服务
container_name: ${CONTAINER_NAME}-tsdd-server container_name: ${CONTAINER_NAME}-tsdd-server
image: registry.cn-shanghai.aliyuncs.com/wukongim/tangsengdaodaoserver:v1.5 image: "registry.cn-shanghai.aliyuncs.com/wukongim/tangsengdaodaoserver:v1.5"
restart: always restart: always
command: "api" command: "api"
healthcheck: healthcheck:
@ -42,7 +43,7 @@ services:
- TS_WUKONGIM_APIURL=http://tsddwukongim:5001 - 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_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_REDISADDR=${TS_DB_REDIS_HOST}:${TS_DB_REDIS_PORT}
- TS_DB_REDISPASS=${TS_DB_REDISPASS} - TS_DB_REDISPASS=${PANEL_REDIS_ROOT_PASSWORD}
- TS_EXTERNAL_IP=${EXTERNAL_IP} - TS_EXTERNAL_IP=${EXTERNAL_IP}
- TS_SMSCODE=${TS_SMSCODE} - TS_SMSCODE=${TS_SMSCODE}
- TS_ADMINPWD=${TS_ADMINPWD} - TS_ADMINPWD=${TS_ADMINPWD}
@ -53,9 +54,11 @@ services:
- TS_AVATAR_DEFAULTBASEURL=https://api.multiavatar.com/{avatar}.png - TS_AVATAR_DEFAULTBASEURL=https://api.multiavatar.com/{avatar}.png
networks: networks:
- 1panel-network - 1panel-network
labels:
createdBy: "Apps"
tangsengdaodaoweb: # 唐僧叨叨的web服务 tangsengdaodaoweb: # 唐僧叨叨的web服务
container_name: ${CONTAINER_NAME}-tsdd-web container_name: ${CONTAINER_NAME}-tsdd-web
image: registry.cn-shanghai.aliyuncs.com/wukongim/tangsengdaodaoweb:latest image: "registry.cn-shanghai.aliyuncs.com/wukongim/tangsengdaodaoweb:latest"
restart: always restart: always
environment: environment:
- API_URL=http://${EXTERNAL_IP}:${PANEL_APP_PORT_TS_APP_HTTP}/ - API_URL=http://${EXTERNAL_IP}:${PANEL_APP_PORT_TS_APP_HTTP}/
@ -63,9 +66,11 @@ services:
- "${PANEL_APP_PORT_TS_APP_WEB}:80" - "${PANEL_APP_PORT_TS_APP_WEB}:80"
networks: networks:
- 1panel-network - 1panel-network
labels:
createdBy: "Apps"
tangsengdaodaomanager: # 唐僧叨叨的后台管理系统 tangsengdaodaomanager: # 唐僧叨叨的后台管理系统
container_name: ${CONTAINER_NAME}-tsdd-manager container_name: ${CONTAINER_NAME}-tsdd-manager
image: registry.cn-shanghai.aliyuncs.com/wukongim/tangsengdaodaomanager:latest image: "registry.cn-shanghai.aliyuncs.com/wukongim/tangsengdaodaomanager:latest"
restart: always restart: always
environment: environment:
- API_URL=http://${EXTERNAL_IP}:${PANEL_APP_PORT_TS_APP_HTTP}/ - API_URL=http://${EXTERNAL_IP}:${PANEL_APP_PORT_TS_APP_HTTP}/
@ -73,6 +78,8 @@ services:
- "${PANEL_APP_PORT_HTTP}:80" - "${PANEL_APP_PORT_HTTP}:80"
networks: networks:
- 1panel-network - 1panel-network
labels:
createdBy: "Apps"
networks: networks:
1panel-network: 1panel-network:
external: true external: true

View File

@ -1,8 +1,7 @@
name: TangSengDaoDao name: TangSengDaoDao
tags: tags:
- IM - 实用工具
title: 让企业轻松拥有自己的即时通讯 title: 让企业轻松拥有自己的即时通讯
type: 工具
description: 让企业轻松拥有自己的即时通讯 description: 让企业轻松拥有自己的即时通讯
additionalProperties: additionalProperties:
key: tangsengdaodao key: tangsengdaodao
@ -13,8 +12,8 @@ additionalProperties:
shortDescEn: Make it easy for businesses to have their own instant messaging shortDescEn: Make it easy for businesses to have their own instant messaging
type: tool type: tool
crossVersionUpdate: true crossVersionUpdate: true
limit: 0 limit: 1
recommend: 0 recommend: 0
website: https://tsdaodao.com/ website: https://tsdaodao.com
github: https://github.com/TangSengDaoDao/TangSengDaoDaoServer github: https://github.com/TangSengDaoDao/TangSengDaoDaoServer
document: https://tsdaodao.com/ document: https://tsdaodao.com

Binary file not shown.

Before

Width:  |  Height:  |  Size: 242 KiB

After

Width:  |  Height:  |  Size: 7.9 KiB

View File

@ -0,0 +1,7 @@
CONTAINER_NAME="wukongim"
EXTERNAL_IP="1.2.3.4"
PANEL_APP_PORT_HTTP=5300
PANEL_APP_PORT_WK_API=5001
PANEL_APP_PORT_WK_DEMO_SERVER=5172
PANEL_APP_PORT_WK_TCP=5100
PANEL_APP_PORT_WK_WS=5200

View File

@ -1,39 +1,50 @@
additionalProperties: additionalProperties:
formFields: formFields:
- default: "" - default: ""
edit: true
envKey: EXTERNAL_IP envKey: EXTERNAL_IP
labelEn: ipAddress labelEn: ipAddress
labelZh: 外部访问IP labelZh: 外部访问 IP
required: true required: true
type: text type: text
- default: 5001 - default: "5001"
edit: true
envKey: PANEL_APP_PORT_WK_API envKey: PANEL_APP_PORT_WK_API
labelEn: WuKongIM api port labelEn: WuKongIM api port
labelZh: 悟空IM api端口 labelZh: 悟空 IM api 端口
required: true required: true
rule: paramPort
type: number type: number
- default: 5100 - default: "5100"
edit: true
envKey: PANEL_APP_PORT_WK_TCP envKey: PANEL_APP_PORT_WK_TCP
labelEn: WuKongIM tcp port labelEn: WuKongIM tcp port
labelZh: 悟空IM TCP端口 labelZh: 悟空 IM TCP 端口
required: true required: true
rule: paramPort
type: number type: number
- default: 5200 - default: "5200"
edit: true
envKey: PANEL_APP_PORT_WK_WS envKey: PANEL_APP_PORT_WK_WS
labelEn: WuKongIM ws port labelEn: WuKongIM ws port
labelZh: 悟空IM WS端口 labelZh: 悟空 IM WS 端口
required: true required: true
rule: paramPort
type: number type: number
- default: "5300" - default: "5300"
edit: true
envKey: PANEL_APP_PORT_HTTP envKey: PANEL_APP_PORT_HTTP
labelEn: WuKongIM web port labelEn: WuKongIM web port
labelZh: 悟空IM监控端口 labelZh: 悟空 IM 监控端口
required: true required: true
rule: paramPort
type: number type: number
- default: 5172 - default: "5172"
edit: true
envKey: PANEL_APP_PORT_WK_DEMO_SERVER envKey: PANEL_APP_PORT_WK_DEMO_SERVER
labelEn: WuKongIM demo port labelEn: WuKongIM demo port
labelZh: 悟空IM demo端口 labelZh: 悟空 IM demo 端口
required: true required: true
rule: paramPort
type: number type: number

View File

@ -1,8 +1,7 @@
version: '1.1.8'
services: services:
wukongim: wukongim:
container_name: ${CONTAINER_NAME} container_name: ${CONTAINER_NAME}
image: registry.cn-shanghai.aliyuncs.com/wukongim/wukongim:v1.2 image: "registry.cn-shanghai.aliyuncs.com/wukongim/wukongim:v1.2"
restart: always restart: always
ports: ports:
- "${PANEL_APP_PORT_WK_API}:5001" - "${PANEL_APP_PORT_WK_API}:5001"
@ -22,6 +21,8 @@ services:
- WK_TOKENAUTHON=true - WK_TOKENAUTHON=true
networks: networks:
- 1panel-network - 1panel-network
labels:
createdBy: "Apps"
networks: networks:
1panel-network: 1panel-network:
external: true external: true

View File

@ -0,0 +1,9 @@
CONTAINER_NAME="wukongim"
EXTERNAL_IP="1.2.3.4"
PANEL_APP_PORT_COMM=11110
PANEL_APP_PORT_HTTP=5300
PANEL_APP_PORT_STATS=9090
PANEL_APP_PORT_WK_API=5001
PANEL_APP_PORT_WK_DEMO_SERVER=5172
PANEL_APP_PORT_WK_TCP=5100
PANEL_APP_PORT_WK_WS=5200

View File

@ -1,39 +1,65 @@
additionalProperties: additionalProperties:
formFields: formFields:
- default: "" - default: ""
edit: true
envKey: EXTERNAL_IP envKey: EXTERNAL_IP
labelEn: ipAddress labelEn: ipAddress
labelZh: 外部访问IP labelZh: 外部访问 IP
required: true required: true
type: text type: text
- default: 5001 - default: "5001"
edit: true
envKey: PANEL_APP_PORT_WK_API envKey: PANEL_APP_PORT_WK_API
labelEn: WuKongIM api port labelEn: WuKongIM api port
labelZh: 悟空IM api端口 labelZh: 悟空 IM api 端口
required: true required: true
rule: paramPort
type: number type: number
- default: 5100 - default: "5100"
edit: true
envKey: PANEL_APP_PORT_WK_TCP envKey: PANEL_APP_PORT_WK_TCP
labelEn: WuKongIM tcp port labelEn: WuKongIM tcp port
labelZh: 悟空IM TCP端口 labelZh: 悟空 IM TCP 端口
required: true required: true
rule: paramPort
type: number type: number
- default: 5200 - default: "5200"
edit: true
envKey: PANEL_APP_PORT_WK_WS envKey: PANEL_APP_PORT_WK_WS
labelEn: WuKongIM ws port labelEn: WuKongIM ws port
labelZh: 悟空IM WS端口 labelZh: 悟空 IM WS 端口
required: true required: true
rule: paramPort
type: number type: number
- default: "5300" - default: "5300"
edit: true
envKey: PANEL_APP_PORT_HTTP envKey: PANEL_APP_PORT_HTTP
labelEn: WuKongIM web port labelEn: WuKongIM web port
labelZh: 悟空IM监控端口 labelZh: 悟空 IM 监控端口
required: true required: true
rule: paramPort
type: number type: number
- default: 5172 - default: "5172"
edit: true
envKey: PANEL_APP_PORT_WK_DEMO_SERVER envKey: PANEL_APP_PORT_WK_DEMO_SERVER
labelEn: WuKongIM demo port labelEn: WuKongIM demo port
labelZh: 悟空IM demo端口 labelZh: 悟空 IM demo 端口
required: true required: true
rule: paramPort
type: number
- default: "11110"
edit: true
envKey: PANEL_APP_PORT_COMM
labelEn: WuKongIM Node Communication Port
labelZh: 悟空 IM 节点通讯端口
required: true
rule: paramPort
type: number
- default: "9090"
edit: true
envKey: PANEL_APP_PORT_STATS
labelEn: Prometheus port
labelZh: Prometheus 端口
required: true
rule: paramPort
type: number type: number

View File

@ -1,12 +1,11 @@
version: '3.7'
services: services:
wukongim: # WuKongIM服务 wukongim: # WuKongIM服务
container_name: ${CONTAINER_NAME}-wukongim container_name: ${CONTAINER_NAME}-wukongim
image: registry.cn-shanghai.aliyuncs.com/wukongim/wukongim:v2.0.5-20240925 image: "registry.cn-shanghai.aliyuncs.com/wukongim/wukongim:v2.0.5-20240925"
environment: environment:
- "WK_CLUSTER_NODEID=1001" - "WK_CLUSTER_NODEID=1001"
- "WK_CLUSTER_SERVERADDR=${EXTERNAL_IP}:11110" # 节点内部通信请求地址 - "WK_CLUSTER_SERVERADDR=${EXTERNAL_IP}:${PANEL_APP_PORT_COMM}" # 节点内部通信请求地址
- "WK_TRACE_PROMETHEUSAPIURL=http://prometheus:9090" # prometheus监控地址 - "WK_TRACE_PROMETHEUSAPIURL=http://wukongim-prometheus:9090" # prometheus监控地址
- "WK_MODE=release" # release模式 - "WK_MODE=release" # release模式
- "WK_EXTERNAL_IP=${EXTERNAL_IP}" # 服务器外网ip - "WK_EXTERNAL_IP=${EXTERNAL_IP}" # 服务器外网ip
healthcheck: healthcheck:
@ -23,18 +22,22 @@ services:
- ${PANEL_APP_PORT_WK_WS}:5200 # websocket端口 - ${PANEL_APP_PORT_WK_WS}:5200 # websocket端口
- ${PANEL_APP_PORT_HTTP}:5300 # 管理端端口 - ${PANEL_APP_PORT_HTTP}:5300 # 管理端端口
- ${PANEL_APP_PORT_WK_DEMO_SERVER}:5172 # demo端口 - ${PANEL_APP_PORT_WK_DEMO_SERVER}:5172 # demo端口
- 11110:11110 # 分布式节点通讯端口 - ${PANEL_APP_PORT_COMM}:11110 # 分布式节点通讯端口
networks: networks:
- 1panel-network - 1panel-network
prometheus: # 监控服务 labels:
createdBy: "Apps"
wukongim-prometheus: # 监控服务
container_name: ${CONTAINER_NAME}-prometheus container_name: ${CONTAINER_NAME}-prometheus
image: registry.cn-shanghai.aliyuncs.com/wukongim/prometheus:v2.53.1 image: "registry.cn-shanghai.aliyuncs.com/wukongim/prometheus:v2.53.1"
volumes: volumes:
- "./prometheus.yml:/etc/prometheus/prometheus.yml" - "./prometheus.yml:/etc/prometheus/prometheus.yml"
ports: ports:
- "9090:9090" - "${PANEL_APP_PORT_STATS}:9090"
networks: networks:
- 1panel-network - 1panel-network
labels:
createdBy: "Apps"
networks: networks:
1panel-network: 1panel-network:
external: true external: true

View File

@ -1,8 +1,7 @@
name: WuKongIM name: WuKongIM
tags: tags:
- IM - 实用工具
title: 让信息传递更简单 title: 让信息传递更简单
type: 工具
description: 让企业轻松拥有自己的即时通讯 description: 让企业轻松拥有自己的即时通讯
additionalProperties: additionalProperties:
key: wukongim key: wukongim
@ -15,6 +14,6 @@ additionalProperties:
crossVersionUpdate: true crossVersionUpdate: true
limit: 0 limit: 0
recommend: 0 recommend: 0
website: https://githubim.com/ website: https://githubim.com
github: https://github.com/TangSengDaoDao/TangSengDaoDaoServer github: https://github.com/TangSengDaoDao/TangSengDaoDaoServer
document: https://githubim.com/ document: https://githubim.com

Binary file not shown.

Before

Width:  |  Height:  |  Size: 26 KiB

After

Width:  |  Height:  |  Size: 6.3 KiB