From 481691e2f2d06ea8337fcccd70cd2ccfc108ca7e Mon Sep 17 00:00:00 2001 From: okxlin Date: Sat, 28 Sep 2024 17:43:21 +0800 Subject: [PATCH] =?UTF-8?q?feat:=E6=B7=BB=E5=8A=A0stash=E5=88=B0=E5=88=97?= =?UTF-8?q?=E8=A1=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/stash/0.27.0/.env.sample | 13 ++++ apps/stash/0.27.0/data.yml | 87 +++++++++++++++++++++++++++ apps/stash/0.27.0/docker-compose.yml | 30 +++++++++ apps/stash/README.md | 18 ++++++ apps/stash/data.yml | 19 ++++++ apps/stash/latest/.env.sample | 13 ++++ apps/stash/latest/data.yml | 87 +++++++++++++++++++++++++++ apps/stash/latest/docker-compose.yml | 30 +++++++++ apps/stash/logo.png | Bin 0 -> 1852 bytes 9 files changed, 297 insertions(+) create mode 100644 apps/stash/0.27.0/.env.sample create mode 100644 apps/stash/0.27.0/data.yml create mode 100644 apps/stash/0.27.0/docker-compose.yml create mode 100644 apps/stash/README.md create mode 100644 apps/stash/data.yml create mode 100644 apps/stash/latest/.env.sample create mode 100644 apps/stash/latest/data.yml create mode 100644 apps/stash/latest/docker-compose.yml create mode 100644 apps/stash/logo.png diff --git a/apps/stash/0.27.0/.env.sample b/apps/stash/0.27.0/.env.sample new file mode 100644 index 00000000..2dc49d8d --- /dev/null +++ b/apps/stash/0.27.0/.env.sample @@ -0,0 +1,13 @@ +CONFIG_PATH="./data/config" +CONTAINER_NAME="stash" +PANEL_APP_PORT_HTTP=40299 +STASH_BLOBS="./data/blobs" +STASH_BLOBS_INTERNAL="/blobs" +STASH_CACHE="./data/cache" +STASH_CACHE_INTERNAL="/cache" +STASH_DATA="./data/data" +STASH_DATA_INTERNAL="/data" +STASH_GENERATED="./data/generated" +STASH_GENERATED_INTERNAL="/generated" +STASH_METADATA="./data/metadata" +STASH_METADATA_INTERNAL="/metadata" diff --git a/apps/stash/0.27.0/data.yml b/apps/stash/0.27.0/data.yml new file mode 100644 index 00000000..c728061e --- /dev/null +++ b/apps/stash/0.27.0/data.yml @@ -0,0 +1,87 @@ +additionalProperties: + formFields: + - default: "40299" + edit: true + envKey: PANEL_APP_PORT_HTTP + labelEn: Port + labelZh: 端口 + required: true + rule: paramPort + type: number + - default: "./data/config" + edit: true + envKey: CONFIG_PATH + labelEn: Config Path + labelZh: 配置路径 + required: true + type: text + - default: "./data/data" + edit: true + envKey: STASH_DATA + labelEn: Media Data Path + labelZh: 媒体数据路径 + required: true + type: text + - default: "./data/metadata" + edit: true + envKey: STASH_METADATA + labelEn: Metadata Path + labelZh: 元数据路径 + required: true + type: text + - default: "./data/cache" + edit: true + envKey: STASH_CACHE + labelEn: Cache Path + labelZh: 缓存路径 + required: true + type: text + - default: "./data/blobs" + edit: true + envKey: STASH_BLOBS + labelEn: Blobs Path (scene covers, images) + labelZh: 二进制数据路径 (场景封面、图像) + required: true + type: text + - default: "./data/generated" + edit: true + envKey: STASH_GENERATED + labelEn: Generated Path + labelZh: 生成内容路径 + required: true + type: text + - default: "/data" + disabled: true + envKey: STASH_DATA_INTERNAL + labelEn: Internal Media Data Path + labelZh: 容器内部媒体数据路径 + required: true + type: text + - default: "/metadata" + disabled: true + envKey: STASH_METADATA_INTERNAL + labelEn: Internal Metadata Path + labelZh: 容器内部元数据路径 + required: true + type: text + - default: "/cache" + disabled: true + envKey: STASH_CACHE_INTERNAL + labelEn: Internal Cache Path + labelZh: 容器内部缓存路径 + required: true + type: text + - default: "/blobs" + disabled: true + envKey: STASH_BLOBS_INTERNAL + labelEn: Internal Blobs Path (scene covers, images) + labelZh: 容器内部二进制数据路径 (场景封面、图像) + required: true + type: text + - default: "/generated" + disabled: true + envKey: STASH_GENERATED_INTERNAL + labelEn: Internal Generated Path + labelZh: 容器内部生成内容路径 + required: true + type: text diff --git a/apps/stash/0.27.0/docker-compose.yml b/apps/stash/0.27.0/docker-compose.yml new file mode 100644 index 00000000..cc525b35 --- /dev/null +++ b/apps/stash/0.27.0/docker-compose.yml @@ -0,0 +1,30 @@ +services: + stash: + image: "stashapp/stash:v0.27.0" + container_name: ${CONTAINER_NAME} + restart: always + networks: + - 1panel-network + ports: + - "${PANEL_APP_PORT_HTTP}:${PANEL_APP_PORT_HTTP}" + environment: + - STASH_STASH=${STASH_DATA_INTERNAL} + - STASH_GENERATED=${STASH_GENERATED_INTERNAL} + - STASH_METADATA=${STASH_METADATA_INTERNAL} + - STASH_CACHE=${STASH_CACHE_INTERNAL} + - STASH_PORT=${PANEL_APP_PORT_HTTP} + volumes: + - /etc/localtime:/etc/localtime:ro + - "${CONFIG_PATH}:/root/.stash" + - "${STASH_DATA}:${STASH_DATA_INTERNAL}" + - "${STASH_GENERATED}:${STASH_GENERATED_INTERNAL}" + - "${STASH_METADATA}:${STASH_METADATA_INTERNAL}" + - "${STASH_CACHE}:${STASH_CACHE_INTERNAL}" + - "${STASH_BLOBS}:${STASH_BLOBS_INTERNAL}" + labels: + createdBy: "Apps" + + +networks: + 1panel-network: + external: true diff --git a/apps/stash/README.md b/apps/stash/README.md new file mode 100644 index 00000000..5f07b362 --- /dev/null +++ b/apps/stash/README.md @@ -0,0 +1,18 @@ +# Stash + +Stash 是一个用 Go 语言编写的自托管网络应用程序,它可以组织和服务您的媒体。 + + +## 使用说明 + +假如需要公网访问,可以修改配置文件的以下项为`true` + +``` +dangerous_allow_public_without_auth: "true" +``` + +且以下值为空 + +``` +security_tripwire_accessed_from_public_internet: "" +``` \ No newline at end of file diff --git a/apps/stash/data.yml b/apps/stash/data.yml new file mode 100644 index 00000000..060f1669 --- /dev/null +++ b/apps/stash/data.yml @@ -0,0 +1,19 @@ +name: Stash +tags: + - 多媒体 +title: 媒体管理工具 +description: 媒体管理工具 +additionalProperties: + key: stash + name: Stash + tags: + - Media + shortDescZh: 媒体管理工具 + shortDescEn: Media Management Tools + type: tool + crossVersionUpdate: true + limit: 0 + recommend: 0 + website: https://stashapp.cc + github: https://github.com/stashapp/stash + document: https://docs.stashapp.cc diff --git a/apps/stash/latest/.env.sample b/apps/stash/latest/.env.sample new file mode 100644 index 00000000..2dc49d8d --- /dev/null +++ b/apps/stash/latest/.env.sample @@ -0,0 +1,13 @@ +CONFIG_PATH="./data/config" +CONTAINER_NAME="stash" +PANEL_APP_PORT_HTTP=40299 +STASH_BLOBS="./data/blobs" +STASH_BLOBS_INTERNAL="/blobs" +STASH_CACHE="./data/cache" +STASH_CACHE_INTERNAL="/cache" +STASH_DATA="./data/data" +STASH_DATA_INTERNAL="/data" +STASH_GENERATED="./data/generated" +STASH_GENERATED_INTERNAL="/generated" +STASH_METADATA="./data/metadata" +STASH_METADATA_INTERNAL="/metadata" diff --git a/apps/stash/latest/data.yml b/apps/stash/latest/data.yml new file mode 100644 index 00000000..c728061e --- /dev/null +++ b/apps/stash/latest/data.yml @@ -0,0 +1,87 @@ +additionalProperties: + formFields: + - default: "40299" + edit: true + envKey: PANEL_APP_PORT_HTTP + labelEn: Port + labelZh: 端口 + required: true + rule: paramPort + type: number + - default: "./data/config" + edit: true + envKey: CONFIG_PATH + labelEn: Config Path + labelZh: 配置路径 + required: true + type: text + - default: "./data/data" + edit: true + envKey: STASH_DATA + labelEn: Media Data Path + labelZh: 媒体数据路径 + required: true + type: text + - default: "./data/metadata" + edit: true + envKey: STASH_METADATA + labelEn: Metadata Path + labelZh: 元数据路径 + required: true + type: text + - default: "./data/cache" + edit: true + envKey: STASH_CACHE + labelEn: Cache Path + labelZh: 缓存路径 + required: true + type: text + - default: "./data/blobs" + edit: true + envKey: STASH_BLOBS + labelEn: Blobs Path (scene covers, images) + labelZh: 二进制数据路径 (场景封面、图像) + required: true + type: text + - default: "./data/generated" + edit: true + envKey: STASH_GENERATED + labelEn: Generated Path + labelZh: 生成内容路径 + required: true + type: text + - default: "/data" + disabled: true + envKey: STASH_DATA_INTERNAL + labelEn: Internal Media Data Path + labelZh: 容器内部媒体数据路径 + required: true + type: text + - default: "/metadata" + disabled: true + envKey: STASH_METADATA_INTERNAL + labelEn: Internal Metadata Path + labelZh: 容器内部元数据路径 + required: true + type: text + - default: "/cache" + disabled: true + envKey: STASH_CACHE_INTERNAL + labelEn: Internal Cache Path + labelZh: 容器内部缓存路径 + required: true + type: text + - default: "/blobs" + disabled: true + envKey: STASH_BLOBS_INTERNAL + labelEn: Internal Blobs Path (scene covers, images) + labelZh: 容器内部二进制数据路径 (场景封面、图像) + required: true + type: text + - default: "/generated" + disabled: true + envKey: STASH_GENERATED_INTERNAL + labelEn: Internal Generated Path + labelZh: 容器内部生成内容路径 + required: true + type: text diff --git a/apps/stash/latest/docker-compose.yml b/apps/stash/latest/docker-compose.yml new file mode 100644 index 00000000..c9aefb1e --- /dev/null +++ b/apps/stash/latest/docker-compose.yml @@ -0,0 +1,30 @@ +services: + stash: + image: "stashapp/stash:latest" + container_name: ${CONTAINER_NAME} + restart: always + networks: + - 1panel-network + ports: + - "${PANEL_APP_PORT_HTTP}:${PANEL_APP_PORT_HTTP}" + environment: + - STASH_STASH=${STASH_DATA_INTERNAL} + - STASH_GENERATED=${STASH_GENERATED_INTERNAL} + - STASH_METADATA=${STASH_METADATA_INTERNAL} + - STASH_CACHE=${STASH_CACHE_INTERNAL} + - STASH_PORT=${PANEL_APP_PORT_HTTP} + volumes: + - /etc/localtime:/etc/localtime:ro + - "${CONFIG_PATH}:/root/.stash" + - "${STASH_DATA}:${STASH_DATA_INTERNAL}" + - "${STASH_GENERATED}:${STASH_GENERATED_INTERNAL}" + - "${STASH_METADATA}:${STASH_METADATA_INTERNAL}" + - "${STASH_CACHE}:${STASH_CACHE_INTERNAL}" + - "${STASH_BLOBS}:${STASH_BLOBS_INTERNAL}" + labels: + createdBy: "Apps" + + +networks: + 1panel-network: + external: true diff --git a/apps/stash/logo.png b/apps/stash/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..eafae92025c984c8c220d9a858fec8657218670b GIT binary patch literal 1852 zcmd6o_dgqo0>#~DM~$MW(bi3^7;T6VwGtAm5)_xZjlNiM#h%wFt<|(isabW6NQ2u_ zv#L675vdwQjpCI=DT&qyA%ybW_se^K!ux#AIp5Fc{B(Xh1Xq;3BtRJ;ARr*==wRo5 z%(lNRCU~3xxt-$_$aB5yfjDM>i}nAHoId|&+=WQTD#Cg1DsBB!b9kp4m2A1q-}D6AbEXF7J>dqK-V6!{DZ)z}`J28b{ z_yR1Cko`i}Z&Iu!zWK0|kDCB)#GU_G;@6_sa?mTon|F%XVX4{%(3el9p4lT&HA-wr z{AS2))zB88@U}rArv>YT7|uFCKclVRbvA5CdbzZJPaKspHXfKUURWr4<<*Hz**Mcr z8B4%0igXX^OXTXRWjIlhrI)_;373AC|Pp?i+L^Na>NuVl~mJS^kce=Jsa3 zM2<&Ix`XP#?)r1nvkwxnjvD+r8p`*xeZ1TN?386b0OIh>uRWz-(yd4>FLS+GA(@lp z`lMSduEUC;P&cgaRX=UxU)7!|bmrmc%9)1Nv2G+#kk14N)15zntfI_TaD#(vlmZO) zOb*tBcF`_n{J2ZLsgQ{YnQq))fR0m%W)l7Vm6Kr1nSKj?aJoV%2il<$t=7hJTKCfQ zAS_E&-fqCa+w_vwvl}wd*J}vbXcTa`$Oy2z2vfW`&QS4ud) z%d{YW$p%0Utw!gvu9mqOuB4osvktr&NHP9Ud?+^eX3^woA!d@cSCB>Unu5-jR_W8P z>sF*-{M)Luq+W-O`28dQ(sx^JkVBqLQOqFw{@WPx^)82tC&=*Dr^E{7uqEcWbaY!e zMJEQ#(X}?bhOBEia2)AF0y!b}aZOLCWX+hG4F?3X!su~?cY;a^)jfE80goIX=jT_q zXo$C$GMJH%NWsKHJX#$@IQ`m(&1b}6-)@J7t1mUwP6P%kqS==^UyxLOq>=BB&%m*B zV}GF0N*Ehi7};7)X-`8~dPtfAlte4-3yLGN)<)$7e*N8l$zJqp4L6*)KXPDy#iCmA zCIp-gB1gQiKc5KctzgfJ!*Ti))8s-zF;slh_q``z$nS+7uc>lM#^)g5LiUm+G@BUa zQtBP?oMsH)`V1u;V15JmTmL2AJ8}>d02T@vR+QT+^0tJSGQ?i=>P${=mboe`W8Q1I zk*CJ+bh%$7_2Zcb9oQC~Ntt(tU?;dgXs@Gd+Yrq8_>-$Cw=sS#&eZ3e*xQZtb6O|m zsa1(@lb&|+(h?ZKA7hmh9LahECZ)WRqZI5PgHAHG9UfV0?=1s{4OP2A5GjAm>)IjT z-r3Z5*|^vUyC=qTq>ZV+HXe_f5vA7Hic#I5=#{Fnj-keH?AlCEN|e(4uK@-L&9lq2 zuu<>)xkOVb^<0Hiqu;@A{=`E%ugNSLft3dkSe4#uRp6ds=<^;L?lAEdLVHb~6s|IB zmg$L8Mal$-Z%Tmymw^Z3Z*En!Gl+O-`5 z<{odOZ15FJ;zv-~#y78Z;5KV9Rd_YJwe%`?Fd7CgXe9%}@Yp<0uF_*0>9Z#t!pcQv zt1Z(cH+6IWnZWAe2yFHg0ne_UGLxocW1^RXKR8Fb_7M-vA3Gf?rmt|g&E zGnCq5i92^qkt(qxcv7DqbZB&5`wtxvD7&Zd>$m<5Ip=Pr literal 0 HcmV?d00001