From f13f5531a94ce49157d8a7e3ecf07077ceca3db0 Mon Sep 17 00:00:00 2001 From: Meng Sen Date: Mon, 2 Dec 2024 15:51:55 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8F=91=E5=B8=83=E5=BA=94=E7=94=A8=EF=BC=9A?= =?UTF-8?q?=20=E6=B3=A1=E6=B3=A1=E5=B9=BF=E5=9C=BA=20All-in-One=20TOPIAM?= =?UTF-8?q?=20=E8=BA=AB=E4=BB=BD=E7=AE=A1=E7=90=86=E5=B9=B3=E5=8F=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Meng Sen --- .github/renovate.json | 3 +- apps/aria2-superng6/24-11-01/data.yml | 16 ++ apps/paopao-ce-all/0.6.0/conf/config.yaml | 204 ++++++++++++++++++ apps/paopao-ce-all/0.6.0/data.yml | 25 +++ apps/paopao-ce-all/0.6.0/docker-compose.yml | 22 ++ apps/paopao-ce-all/0.6.0/envs/default.env | 2 + apps/paopao-ce-all/0.6.0/envs/global.env | 2 + apps/paopao-ce-all/0.6.0/scripts/init.sh | 22 ++ apps/paopao-ce-all/0.6.0/scripts/uninstall.sh | 10 + apps/paopao-ce-all/0.6.0/scripts/upgrade.sh | 17 ++ apps/paopao-ce-all/README.md | 29 +++ apps/paopao-ce-all/data.yml | 14 ++ apps/paopao-ce-all/logo.png | Bin 0 -> 37012 bytes apps/topiam-ce/2.0.0/data.yml | 124 +++++++++++ apps/topiam-ce/2.0.0/docker-compose.yml | 30 +++ apps/topiam-ce/2.0.0/scripts/init.sh | 4 + apps/topiam-ce/README.md | 34 +++ apps/topiam-ce/data.yml | 15 ++ apps/topiam-ce/logo.png | Bin 0 -> 28216 bytes 19 files changed, 572 insertions(+), 1 deletion(-) create mode 100644 apps/paopao-ce-all/0.6.0/conf/config.yaml create mode 100644 apps/paopao-ce-all/0.6.0/data.yml create mode 100644 apps/paopao-ce-all/0.6.0/docker-compose.yml create mode 100644 apps/paopao-ce-all/0.6.0/envs/default.env create mode 100644 apps/paopao-ce-all/0.6.0/envs/global.env create mode 100644 apps/paopao-ce-all/0.6.0/scripts/init.sh create mode 100644 apps/paopao-ce-all/0.6.0/scripts/uninstall.sh create mode 100644 apps/paopao-ce-all/0.6.0/scripts/upgrade.sh create mode 100644 apps/paopao-ce-all/README.md create mode 100644 apps/paopao-ce-all/data.yml create mode 100644 apps/paopao-ce-all/logo.png create mode 100644 apps/topiam-ce/2.0.0/data.yml create mode 100644 apps/topiam-ce/2.0.0/docker-compose.yml create mode 100644 apps/topiam-ce/2.0.0/scripts/init.sh create mode 100644 apps/topiam-ce/README.md create mode 100644 apps/topiam-ce/data.yml create mode 100644 apps/topiam-ce/logo.png diff --git a/.github/renovate.json b/.github/renovate.json index 8904f51a..893ee854 100644 --- a/.github/renovate.json +++ b/.github/renovate.json @@ -13,7 +13,8 @@ "ignorePaths": [ "appstore/**", "dockge/**", - "apps/tangsengdaodao/1.5/docker-compose.yml" + "apps/tangsengdaodao/1.5/docker-compose.yml", + "apps/topiam-ce/2.0.0/docker-compose.yml" ], "rebaseWhen": "never", "packageRules": [ diff --git a/apps/aria2-superng6/24-11-01/data.yml b/apps/aria2-superng6/24-11-01/data.yml index 10ae84f9..08cab986 100644 --- a/apps/aria2-superng6/24-11-01/data.yml +++ b/apps/aria2-superng6/24-11-01/data.yml @@ -1,5 +1,21 @@ additionalProperties: formFields: + - default: "host" + edit: true + envKey: NETWORK_MODE + labelEn: Drive path + labelZh: 网络模式 + required: true + type: select + values: + - label: 主机网络模式 + value: "host" + - label: 桥接网络模式 + value: "bridge" + - label: 无网络模式 + value: "none" + - label: 1panel-network + value: "1panel-network" - default: "/home/aria2" edit: true envKey: ARIA2_ROOT_PATH diff --git a/apps/paopao-ce-all/0.6.0/conf/config.yaml b/apps/paopao-ce-all/0.6.0/conf/config.yaml new file mode 100644 index 00000000..c05f6a88 --- /dev/null +++ b/apps/paopao-ce-all/0.6.0/conf/config.yaml @@ -0,0 +1,204 @@ +App: # APP基础设置项 + RunMode: debug + AttachmentIncomeRate: 0.8 + MaxCommentCount: 10 + DefaultContextTimeout: 60 + DefaultPageSize: 10 + MaxPageSize: 100 +Server: # 服务设置 + RunMode: debug + HttpIp: 0.0.0.0 + HttpPort: 8010 + ReadTimeout: 60 + WriteTimeout: 60 +Features: + Default: [ "Web", "Frontend:EmbedWeb", "Meili", "LocalOSS", "MySQL", "BigCacheIndex", "LoggerFile" ] + Develop: [ "Base", "MySQL", "BigCacheIndex", "Meili", "Sms", "AliOSS", "LoggerMeili", "OSS:Retention" ] + Demo: [ "Base", "MySQL", "Option", "Zinc", "Sms", "MinIO", "LoggerZinc", "Migration" ] + Slim: [ "Base", "Sqlite3", "LocalOSS", "LoggerFile", "OSS:TempDir" ] + Base: [ "Redis", "PhoneBind" ] + Docs: [ "Docs:OpenAPI" ] + Deprecated: [ "Deprecated:OldWeb" ] + Service: [ "Web", "Admin", "SpaceX", "Bot", "LocalOSS", "Mobile", "Frontend:Web", "Frontend:EmbedWeb", "Docs" ] + Option: [ "SimpleCacheIndex" ] + Sms: "SmsJuhe" +WebServer: # Web服务 + HttpIp: 0.0.0.0 + HttpPort: 8008 + ReadTimeout: 60 + WriteTimeout: 60 +AdminServer: # Admin后台运维服务 + HttpIp: 0.0.0.0 + HttpPort: 8014 + ReadTimeout: 60 + WriteTimeout: 60 +SpaceXServer: # SpaceX服务 + HttpIp: 0.0.0.0 + HttpPort: 8012 + ReadTimeout: 60 + WriteTimeout: 60 +BotServer: # Bot服务 + HttpIp: 0.0.0.0 + HttpPort: 8016 + ReadTimeout: 60 + WriteTimeout: 60 +LocalossServer: # Localoss服务 + HttpIp: 0.0.0.0 + HttpPort: 8018 + ReadTimeout: 60 + WriteTimeout: 60 +FrontendWebServer: # Web前端服务 + HttpIp: 0.0.0.0 + HttpPort: 8006 + ReadTimeout: 60 + WriteTimeout: 60 +DocsServer: # 开发文档服务 + HttpIp: 0.0.0.0 + HttpPort: 8011 + ReadTimeout: 60 + WriteTimeout: 60 +MobileServer: # 移动端grpc api服务 + Host: 0.0.0.0 + Port: 8020 +SmsJuhe: + Gateway: https://v.juhe.cn/sms/send + Key: + TplID: + TplVal: "#code#=%s&#m#=%d" +Alipay: + AppID: + InProduction: True + RootCertFile: "custom/alipay/RootCert.crt" + PublicCertFile: "custom/alipay/CertPublicKey_RSA2.crt" + AppPublicCertFile: "custom/alipay/AppCertPublicKey.crt" +CacheIndex: + MaxUpdateQPS: 100 # 最大添加/删除/更新Post的QPS, 设置范围[10, 10000], 默认100 +SimpleCacheIndex: # 缓存泡泡广场消息流 + MaxIndexSize: 200 # 最大缓存条数 + CheckTickDuration: 60 # 循环自检查每多少秒一次 + ExpireTickDuration: 300 # 每多少秒后强制过期缓存, 设置为0禁止强制使缓存过期 +BigCacheIndex: # 使用BigCache缓存泡泡广场消息流 + MaxIndexPage: 1024 # 最大缓存页数,必须是2^n, 代表最大同时缓存多少页数据 + Verbose: False # 是否打印cache操作的log + ExpireInSecond: 300 # 多少秒(>0)后强制过期缓存 +Logger: # 日志通用配置 + Level: debug # 日志级别 panic|fatal|error|warn|info|debug|trace +LoggerFile: # 使用File写日志 + SavePath: custom/data/paopao-ce/logs + FileName: app + FileExt: .log +LoggerZinc: # 使用Zinc写日志 + Host: zinc:4080 + Index: paopao-log + User: admin + Password: admin + Secure: False +LoggerMeili: # 使用Meili写日志 + Host: meili:7700 + Index: paopao-log + ApiKey: paopao-meilisearch + Secure: False + MinWorker: 5 # 最小后台工作者, 设置范围[5, 100], 默认5 + MaxLogBuffer: 100 # 最大log缓存条数, 设置范围[10, 10000], 默认100 +JWT: # 鉴权加密 + Secret: 18a6413dc4fe394c66345ebe501b2f26 + Issuer: paopao-api + Expire: 86400 +TweetSearch: # 推文关键字搜索相关配置 + MaxUpdateQPS: 100 # 最大添加/删除/更新Post的QPS,设置范围[10, 10000], 默认100 + MinWorker: 10 # 最小后台更新工作者, 设置范围[5, 1000], 默认10 +Zinc: # Zinc搜索配置 + Host: zinc:4080 + Index: paopao-data + User: admin + Password: admin + Secure: False +Meili: # Meili搜索配置 + Host: meili:7700 + Index: paopao-data + ApiKey: paopao-meilisearch + Secure: False +ObjectStorage: # 对象存储通用配置 + RetainInDays: 2 # 临时对象过期时间多少天 + TempDir: tmp # 临时对象存放目录名 +AliOSS: # 阿里云OSS存储配置 + Endpoint: + AccessKeyID: + AccessKeySecret: + Bucket: + Domain: +COS: # 腾讯云COS存储配置 + SecretID: + SecretKey: + Region: ap-shanghai + Bucket: demo-1888888888 + Domain: +HuaweiOBS: # 华为云OBS存储配置 + AccessKey: + SecretKey: + Endpoint: + Bucket: paopao + Domain: +MinIO: # MinIO 存储配置 + AccessKey: Q3AM3UQ867SPQQA43P2F + SecretKey: zuf+tfteSlswRu7BJ86wekitnifILbZam1KYY3TG + Secure: False + Endpoint: minio:9000 + Bucket: paopao + Domain: 127.0.0.1:9000 +S3: # Amazon S3 存储配置 + AccessKey: "YOUR-ACCESSKEYID" + SecretKey: "YOUR-SECRETACCESSKEY" + Secure: True + Endpoint: s3.amazonaws.com + Bucket: paopao + Domain: +LocalOSS: # 本地文件OSS存储配置 + SavePath: custom/data/paopao-ce/oss + Secure: False + Bucket: paopao + Domain: 127.0.0.1:8008 +Database: # Database通用配置 + LogLevel: error # 日志级别 silent|error|warn|info + TablePrefix: p_ # 表名前缀 +MySQL: # MySQL数据库 + Username: paopao + Password: paopao + Host: db:3306 + DBName: paopao + Charset: utf8mb4 + ParseTime: True + MaxIdleConns: 10 + MaxOpenConns: 30 +Postgres: # PostgreSQL数据库 + User: paopao + Password: paopao + DBName: paopao + Host: localhost + Port: 5432 + SSLMode: disable + TimeZone: Asia/Shanghai +Sqlite3: # Sqlite3数据库 + Path: custom/data/sqlite3/paopao-ce.db +Redis: + InitAddress: + - redis:6379 +WebProfile: + UseFriendship: true # 前端是否使用好友体系 + EnableTrendsBar: true # 广场页面是否开启动态条栏功能 + EnableWallet: false # 是否开启钱包功能 + AllowTweetAttachment: true # 是否允许推文附件 + AllowTweetAttachmentPrice: true # 是否允许推文付费附件 + AllowTweetVideo: true # 是否允许视频推文 + AllowUserRegister: true # 是否允许用户注册 + AllowPhoneBind: true # 是否允许手机绑定 + DefaultTweetMaxLength: 2000 # 推文允许输入的最大长度, 默认2000字,值的范围需要查询后端支持的最大字数 + TweetWebEllipsisSize: 400 # Web端推文作为feed显示的最长字数,默认400字 + TweetMobileEllipsisSize: 300 # 移动端推文作为feed显示的最长字数,默认300字 + DefaultTweetVisibility: friend # 推文可见性,默认好友可见 值: public/following/friend/private + DefaultMsgLoopInterval: 5000 # 拉取未读消息的间隔,单位:毫秒, 默认5000ms + CopyrightTop: "2023 paopao.info" + CopyrightLeft: "Roc's Me" + CopyrightLeftLink: "" + CopyrightRight: "泡泡(PaoPao)开源社区" + CopyrightRightLink: "https://www.paopao.info" diff --git a/apps/paopao-ce-all/0.6.0/data.yml b/apps/paopao-ce-all/0.6.0/data.yml new file mode 100644 index 00000000..ab680920 --- /dev/null +++ b/apps/paopao-ce-all/0.6.0/data.yml @@ -0,0 +1,25 @@ +additionalProperties: + formFields: + - default: "/home/paopao-ce" + edit: true + envKey: PAOPAO_CE_ROOT_PATH + labelZh: 数据持久化路径 + labelEn: Data persistence path + required: true + type: text + - default: 8008 + edit: true + envKey: PANEL_APP_PORT_HTTP + labelZh: WebUI 端口 + labelEn: WebUI port + required: true + rule: paramPort + type: number + - default: 7700 + edit: true + envKey: PANEL_APP_PORT_MEILI + labelZh: MeiliSearch 端口 + labelEn: MeiliSearch port + required: true + rule: paramPort + type: number diff --git a/apps/paopao-ce-all/0.6.0/docker-compose.yml b/apps/paopao-ce-all/0.6.0/docker-compose.yml new file mode 100644 index 00000000..ae3f69b0 --- /dev/null +++ b/apps/paopao-ce-all/0.6.0/docker-compose.yml @@ -0,0 +1,22 @@ +networks: + 1panel-network: + external: true +services: + paopao-ce: + image: bitbus/paopao-ce:all-in-one-v0.6.0-alpha.2 + container_name: ${CONTAINER_NAME} + labels: + createdBy: "Apps" + networks: + - 1panel-network + restart: always + ports: + - ${PANEL_APP_PORT_HTTP}:8008 + - ${PANEL_APP_PORT_MEILI}:7700 + env_file: + - ${GLOBAL_ENV_FILE:-/etc/1panel/envs/global.env} + - ${ENV_FILE:-/etc/1panel/envs/default.env} + volumes: + - ${PAOPAO_CE_ROOT_PATH}/config/config.yaml:/app/config.yaml + - ${PAOPAO_CE_ROOT_PATH}/custom:/app/custom + - ${PAOPAO_CE_ROOT_PATH}/meili_data:/app/meili_data diff --git a/apps/paopao-ce-all/0.6.0/envs/default.env b/apps/paopao-ce-all/0.6.0/envs/default.env new file mode 100644 index 00000000..cd05f46e --- /dev/null +++ b/apps/paopao-ce-all/0.6.0/envs/default.env @@ -0,0 +1,2 @@ +# copyright© 2024 XinJiang Ms Studio +ENV_FILE=.env diff --git a/apps/paopao-ce-all/0.6.0/envs/global.env b/apps/paopao-ce-all/0.6.0/envs/global.env new file mode 100644 index 00000000..e10989fe --- /dev/null +++ b/apps/paopao-ce-all/0.6.0/envs/global.env @@ -0,0 +1,2 @@ +# copyright© 2024 XinJiang Ms Studio +TZ=Asia/Shanghai diff --git a/apps/paopao-ce-all/0.6.0/scripts/init.sh b/apps/paopao-ce-all/0.6.0/scripts/init.sh new file mode 100644 index 00000000..061e6eb4 --- /dev/null +++ b/apps/paopao-ce-all/0.6.0/scripts/init.sh @@ -0,0 +1,22 @@ +#!/bin/bash + +if [ -f .env ]; then + source .env + + # setup-1 add default values + CURRENT_DIR=$(pwd) + sed -i '/^ENV_FILE=/d' .env + sed -i '/^GLOBAL_ENV_FILE=/d' .env + echo "ENV_FILE=${CURRENT_DIR}/.env" >> .env + echo "GLOBAL_ENV_FILE=${CURRENT_DIR}/envs/global.env" >> .env + + # setup-2 copy config file + mkdir -p "$PAOPAO_CE_ROOT_PATH" + mkdir -p "$PAOPAO_CE_ROOT_PATH/config" + cp ./conf/config.yaml "$PAOPAO_CE_ROOT_PATH/config/config.yaml" + + echo "Check Finish." + +else + echo "Error: .env file not found." +fi diff --git a/apps/paopao-ce-all/0.6.0/scripts/uninstall.sh b/apps/paopao-ce-all/0.6.0/scripts/uninstall.sh new file mode 100644 index 00000000..c86c4fbc --- /dev/null +++ b/apps/paopao-ce-all/0.6.0/scripts/uninstall.sh @@ -0,0 +1,10 @@ +#!/bin/bash + +if [ -f .env ]; then + source .env + + echo "Check Finish." + +else + echo "Error: .env file not found." +fi diff --git a/apps/paopao-ce-all/0.6.0/scripts/upgrade.sh b/apps/paopao-ce-all/0.6.0/scripts/upgrade.sh new file mode 100644 index 00000000..07fb8c3f --- /dev/null +++ b/apps/paopao-ce-all/0.6.0/scripts/upgrade.sh @@ -0,0 +1,17 @@ +#!/bin/bash + +if [ -f .env ]; then + source .env + + # setup-1 add default values + CURRENT_DIR=$(pwd) + sed -i '/^ENV_FILE=/d' .env + sed -i '/^GLOBAL_ENV_FILE=/d' .env + echo "ENV_FILE=${CURRENT_DIR}/.env" >> .env + echo "GLOBAL_ENV_FILE=${CURRENT_DIR}/envs/global.env" >> .env + + echo "Check Finish." + +else + echo "Error: .env file not found." +fi diff --git a/apps/paopao-ce-all/README.md b/apps/paopao-ce-all/README.md new file mode 100644 index 00000000..9f5ab187 --- /dev/null +++ b/apps/paopao-ce-all/README.md @@ -0,0 +1,29 @@ +# 泡泡广场 All-in-One + +清新文艺微社区 + +![泡泡广场](https://file.lifebus.top/imgs/paopao_ce_cover.png) + +![](https://img.shields.io/badge/%E6%96%B0%E7%96%86%E8%90%8C%E6%A3%AE%E8%BD%AF%E4%BB%B6%E5%BC%80%E5%8F%91%E5%B7%A5%E4%BD%9C%E5%AE%A4-%E6%8F%90%E4%BE%9B%E6%8A%80%E6%9C%AF%E6%94%AF%E6%8C%81-blue) + +## 项目简介 + +paopao-ce 是一个利用 业余时间 本着 "Just for fun just do it." 的心态 持续有序 +开发/优化/维护的开源项目,没有KPI考核、没有Roadmap进度压力、没有技术支持日程安排,或许有些许不足之处,但是重在精神可嘉。 +借用网络中的话 "F*k talk, f*k of tech innovation, Shut up and show me your code." +一切都因更好的体验,一切都是为了爱好,一切都在代码里;期待老铁们加入,一起开发、一起折腾、一起快乐。 + +## 修改配置文件 + +请在持久化目录中修改配置文件 `config.yaml` +,配置文件中的配置项请参考 [配置文件说明](https://github.com/rocboss/paopao-ce/blob/main/docs/deploy/core/001-%E9%85%8D%E7%BD%AE%E6%96%87%E4%BB%B6%E8%AF%B4%E6%98%8E.md) + +## 应用说明 + +由于该应用尚不支持环境变量配置,因此需要修改配置文件 `config.yaml`,达到配置应用的目的。 + +由于配置文件中的配置项较多,因此需要根据实际情况进行修改。修改完成后,重建应用即可完成新配置的读取。 + +--- + +![Ms Studio](https://file.lifebus.top/imgs/ms_blank_001.png) diff --git a/apps/paopao-ce-all/data.yml b/apps/paopao-ce-all/data.yml new file mode 100644 index 00000000..da8c9bd5 --- /dev/null +++ b/apps/paopao-ce-all/data.yml @@ -0,0 +1,14 @@ +additionalProperties: + key: paopao-ce-all + name: 泡泡广场 All-in-One + tags: + - WebSite + - Local + shortDescZh: 清新文艺微社区 + shortDescEn: An artistic "twitter like" community + type: website + crossVersionUpdate: true + limit: 0 + website: https://www.paopao.info/ + github: https://github.com/rocboss/paopao-ce/ + document: https://github.com/rocboss/paopao-ce/ diff --git a/apps/paopao-ce-all/logo.png b/apps/paopao-ce-all/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..cda80004b212ab85a0176934dc8eb6d3c8df9303 GIT binary patch literal 37012 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 默认用户名:`admin` +> +> 默认密码:`topiam.cn` + +--- + +![Ms Studio](https://file.lifebus.top/imgs/ms_blank_001.png) diff --git a/apps/topiam-ce/data.yml b/apps/topiam-ce/data.yml new file mode 100644 index 00000000..bad7fdf5 --- /dev/null +++ b/apps/topiam-ce/data.yml @@ -0,0 +1,15 @@ +additionalProperties: + key: topiam-ce + name: TOPIAM + tags: + - WebSite + - Middleware + - Local + shortDescZh: IAM/IDaaS 身份管理平台 + shortDescEn: IAM/IDaaS Identity Management Platform + type: website + crossVersionUpdate: true + limit: 0 + website: https://topiam.cn/ + github: https://github.com/topiam/eiam/ + document: https://topiam.cn/docs/overview/introduction/ diff --git a/apps/topiam-ce/logo.png b/apps/topiam-ce/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..70ef87ec260f92bd857f7f60357f8371b9603312 GIT binary patch literal 28216 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