From 265173109a3ff2b2be68f6962db4763b99c3efd1 Mon Sep 17 00:00:00 2001 From: pooneyy <85266337+pooneyy@users.noreply.github.com> Date: Mon, 27 Oct 2025 01:32:19 +0800 Subject: [PATCH] =?UTF-8?q?=E2=9C=A8=20feat(DecoTV):=20add=20DecoTV=20appl?= =?UTF-8?q?ication=20with=20version=200.4.0=20and=20latest?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - add application configuration with form fields for webui port, site name, description, announcement, admin credentials, registration settings, storage options, and douban api - include docker compose configuration for both v0.4.0 and latest versions with environment variables mapping - provide comprehensive readme documentation with features, deployment instructions, and security guidelines - add application metadata with tags, descriptions, and architecture support - include application logo for visual identification --- apps/DecoTV/0.4.0/data.yml | 140 +++++++++++++++++++++++ apps/DecoTV/0.4.0/docker-compose.yml | 30 +++++ apps/DecoTV/README.md | 159 ++++++++++++++++++++++++++ apps/DecoTV/data.yml | 22 ++++ apps/DecoTV/latest/data.yml | 140 +++++++++++++++++++++++ apps/DecoTV/latest/docker-compose.yml | 30 +++++ apps/DecoTV/logo.png | Bin 0 -> 204479 bytes 7 files changed, 521 insertions(+) create mode 100644 apps/DecoTV/0.4.0/data.yml create mode 100644 apps/DecoTV/0.4.0/docker-compose.yml create mode 100644 apps/DecoTV/README.md create mode 100644 apps/DecoTV/data.yml create mode 100644 apps/DecoTV/latest/data.yml create mode 100644 apps/DecoTV/latest/docker-compose.yml create mode 100644 apps/DecoTV/logo.png diff --git a/apps/DecoTV/0.4.0/data.yml b/apps/DecoTV/0.4.0/data.yml new file mode 100644 index 000000000..c162a67d1 --- /dev/null +++ b/apps/DecoTV/0.4.0/data.yml @@ -0,0 +1,140 @@ +additionalProperties: + formFields: + - default: 3000 + edit: true + envKey: PANEL_APP_PORT_HTTP + labelZh: WebUI 端口 + labelEn: WebUI port + required: true + rule: paramPort + type: number + + - default: "DecoTV" + edit: true + envKey: NEXT_PUBLIC_SITE_NAME + labelZh: 网站名称 + labelEn: Site Name + required: true + type: text + + - default: "高性能影视播放平台" + edit: true + envKey: NEXT_PUBLIC_SITE_DESCRIPTION + labelZh: 网站名称 + labelEn: Site Name + required: true + type: text + + - default: "本网站仅提供影视信息搜索服务,所有内容均来自第三方网站。本站不存储任何视频资源,不对任何内容的准确性、合法性、完整性负责。" + edit: true + envKey: ANNOUNCEMENT + labelZh: 站点公告 + labelEn: Site Announcement + required: true + type: text + + # - default: 5 + # edit: true + # envKey: NEXT_PUBLIC_SEARCH_MAX_PAGE + # labelZh: 搜索结果最大页数 + # labelEn: Search result maximum number of pages + # required: true + # type: number + + - default: "" + edit: true + envKey: USERNAME + labelZh: 管理员用户名 + labelEn: Admin Username + required: true + type: text + + - default: "" + edit: true + envKey: PASSWORD + labelZh: 管理员密码 + labelEn: Admin Password + required: true + type: password + + - default: "false" + edit: true + envKey: NEXT_PUBLIC_ENABLE_REGISTER + labelZh: 是否允许注册 + labelEn: Enable Register + required: true + type: select + values: + - label: 允许注册 + value: "true" + - label: 禁用注册 + value: "false" + + # - default: "false" + # edit: true + # envKey: NEXT_PUBLIC_DISABLE_YELLOW_FILTER + # labelZh: 关闭色情内容过滤 + # labelEn: Disable Yellow Filter + # required: true + # type: select + # values: + # - label: 开启过滤 + # value: "true" + # - label: 禁用过滤 + # value: "false" + + - default: "redis" + edit: true + envKey: NEXT_PUBLIC_STORAGE_TYPE + labelZh: 数据存储类型 + labelEn: Storage Type + required: true + type: select + values: + - label: Upstash + value: "upstash" + - label: Redis + value: "redis" + - label: Kvrocks + value: "kvrocks" + + - default: "redis://127.0.0.1:6379" + edit: true + envKey: REDIS_URL + labelZh: Redis 地址 (Redis 存储) + labelEn: Redis Address (Redis Storage) + required: false + type: text + + - default: "redis://127.0.0.1:6666" + edit: true + envKey: KVROCKS_URL + labelZh: Kvrocks 地址 (Kvrocks 存储) + labelEn: Kvrocks Address (Kvrocks Storage) + required: false + type: text + + - default: "" + edit: true + envKey: UPSTASH_URL + labelZh: Upstash 地址 (Upstash 存储) + labelEn: Upstash Address (Upstash Storage) + required: false + type: text + + - default: "" + edit: true + envKey: UPSTASH_TOKEN + labelZh: Upstash 授权码 (Upstash 存储) + labelEn: Upstash Token (Upstash Storage) + required: false + type: password + + - default: "" + edit: true + envKey: DOUBAN_API_KEY + labelZh: 豆瓣 API 配置 + labelEn: Douban API Key + required: false + type: password + diff --git a/apps/DecoTV/0.4.0/docker-compose.yml b/apps/DecoTV/0.4.0/docker-compose.yml new file mode 100644 index 000000000..19d786a55 --- /dev/null +++ b/apps/DecoTV/0.4.0/docker-compose.yml @@ -0,0 +1,30 @@ +services: + decotv: + image: ghcr.io/decohererk/decotv:v0.4.0 + container_name: ${CONTAINER_NAME} + restart: always + networks: + - 1panel-network + ports: + - "${PANEL_APP_PORT_HTTP}:3000" + environment: + - USERNAME=${USERNAME} + - PASSWORD=${PASSWORD} + - NEXT_PUBLIC_ENABLE_BLOCKAD=true + - NEXT_PUBLIC_ENABLE_REGISTER=${NEXT_PUBLIC_ENABLE_REGISTER} + # - NEXT_PUBLIC_DISABLE_YELLOW_FILTER=${NEXT_PUBLIC_DISABLE_YELLOW_FILTER} + # - NEXT_PUBLIC_SEARCH_MAX_PAGE=${NEXT_PUBLIC_SEARCH_MAX_PAGE} + - NEXT_PUBLIC_SITE_NAME=${NEXT_PUBLIC_SITE_NAME} + - NEXT_PUBLIC_SITE_DESCRIPTION=${NEXT_PUBLIC_SITE_DESCRIPTION} + - NEXT_PUBLIC_STORAGE_TYPE=${NEXT_PUBLIC_STORAGE_TYPE} + - KVROCKS_URL=${KVROCKS_URL} + - REDIS_URL=${REDIS_URL} + - UPSTASH_URL=${UPSTASH_URL} + - UPSTASH_TOKEN=${UPSTASH_TOKEN} + - DOUBAN_API_KEY=${DOUBAN_API_KEY} + labels: + createdBy: "Apps" + +networks: + 1panel-network: + external: true diff --git a/apps/DecoTV/README.md b/apps/DecoTV/README.md new file mode 100644 index 000000000..4f0e7fcde --- /dev/null +++ b/apps/DecoTV/README.md @@ -0,0 +1,159 @@ +# DecoTV + +
+
+
+B-J_kej{9cOhz%bVnNEV$Wz3jaaI6a<}Gx735iSd-zcV@)X|f)
zJkibQVX7#G#yPSp6)fKFwXorw(t`e=A?~;#u%e=yJ>@|$<(s)v*+E=29&7ErlFpec
zPs`&O`GNH1M7x>fTo$I>5=X5%2uJv+6bP9II1gfnA$>hutHZ$bYKSb~Maip=^X(5Q
zmb6PlUj~mhZ2wHC??7+H(E3<@>%v)#{`iE4m|;BPR h)_JIO>TRud6HbE)-Q0JRVg3dq``;m(k1zk4GohArInkm
zIONAm;`+{q9DUlzmtK4KvG#(yquSI=WH`@Nz_DEtbU{FO1N2OBLllg5gLSP#-jd=`
zd7R=E!R_ko9MaPK*9n)LJ!$MwKVB%0!_`;cHu6t@ecwBSaElXs=AU@P@r#PUFfE&GtBELM_&b?z1;)chlW+hSYmy=dS9(#k22XH=FAz
z*88&i1qXu`o7<(L`SeZ2sx$3pm0Z`=Xy{j_&XfM^?4qr}{8=)eO6UG+)ARCuO^l$!
zad5Fcp(|cg|4``5kf~}jJKeq;T;Q~WhYd8}4)FMDsF{jalM4*Z0;%Ex5+z8i<@U0|`8
zkScWn*Qvk+2}oQR2Moay0ll7tHWr{utEIL}LqHF$>Ttj+GOkKBhF%ZmwdbmhN#kds
zg^uT}xZIH~juyI)8uS26)xokXz_J;JO28{*pjlIVrI1@aF&6v$bsszO+4@PeXpyg8
zeba?UKKIgVKe1_i4+jXulg*IJ7l3LQL#1Fl98iRvpqU;4^UArT2{`IC7NCnXK*s?F
z78t$>S6zDHs_ej~+1Flm?(g321m70FfB*gWciwZ)eMbxr56$4*r>^Vt`M%#hb=pn^
zRntp}mUO{WXu(s6<(bqm4BxYD)n}^Xb1&%;W^wL==Wy_B4xZ^MUYqTE#bQnYNb{DK
z9)HD(3I0(>fj4K)oUsS$|BvbH*|WuDUbbwR_&G4JkJ8bxtmgQEefFtL_>N`M{egX6
zQTFJWr~o_
!7#G*)8$5UR
zEnoQX>iYQkm%j9k@qMN{`|l6WJ7>bqyODycfQ9aMB(>SdcMmOB>CO}}e^De9>qNA2#^Ok*daIwfs`<7
zB8ue!QiXsniCfiI7+EG>HO3qLydKc&E%OQ}y;(pX<%+Lect$S>^&tLciP-fq`r7M>
zVm
gyTZq4|u~Uv)sI@=tDvh!sHh%Tr2N1%O5_J_BS}
z`AnIP#vb=DjHF={2q($4p)s9+&?!K6^$JKEP#m?%@VoaqWRG)hIQQI&lv@l3`hWco
z8G#K3&@tTp!Y2z)T3+;j_xu~PS{Ai;gKMV1Pc?&w;valF6yAi~ezd$>^4jx=oKsek
z5}StjDVL(jVfP4BL}`g6t`gr=WkaBv_fF^Hb?D`isLGX9ju5c&ByoRid%#EplQsp#
z0UbOr6bBkK1-ifZeChVXhMe~OoqzbuPqtKS`KUOS`yO!0FJ`>;-VI@6rUe1rGBcE~
zMrJvws$pB!sH+%4InSbEofd}lLKjreg(QBqlxrWpQS+^*j6M8MXP$J-V)