From 61afec24e0ef5197b017616e09be9ae352f6a5dd Mon Sep 17 00:00:00 2001 From: okxlin Date: Sun, 10 Nov 2024 13:14:08 +0800 Subject: [PATCH] =?UTF-8?q?feat:=E6=B7=BB=E5=8A=A0mt-photos=E5=88=B0?= =?UTF-8?q?=E5=88=97=E8=A1=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/mt-photos/1.33.3/.env.sample | 9 ++++ apps/mt-photos/1.33.3/data.yml | 59 +++++++++++++++++++++++ apps/mt-photos/1.33.3/docker-compose.yml | 22 +++++++++ apps/mt-photos/README.md | 7 +++ apps/mt-photos/data.yml | 19 ++++++++ apps/mt-photos/latest/.env.sample | 9 ++++ apps/mt-photos/latest/data.yml | 59 +++++++++++++++++++++++ apps/mt-photos/latest/docker-compose.yml | 22 +++++++++ apps/mt-photos/logo.png | Bin 0 -> 7267 bytes 9 files changed, 206 insertions(+) create mode 100644 apps/mt-photos/1.33.3/.env.sample create mode 100644 apps/mt-photos/1.33.3/data.yml create mode 100644 apps/mt-photos/1.33.3/docker-compose.yml create mode 100644 apps/mt-photos/README.md create mode 100644 apps/mt-photos/data.yml create mode 100644 apps/mt-photos/latest/.env.sample create mode 100644 apps/mt-photos/latest/data.yml create mode 100644 apps/mt-photos/latest/docker-compose.yml create mode 100644 apps/mt-photos/logo.png diff --git a/apps/mt-photos/1.33.3/.env.sample b/apps/mt-photos/1.33.3/.env.sample new file mode 100644 index 00000000..e9e11230 --- /dev/null +++ b/apps/mt-photos/1.33.3/.env.sample @@ -0,0 +1,9 @@ +CONFIG_PATH="./data/config" +CONTAINER_NAME="mt-photos" +MEDIA_PATH="./data/media-1" +MEDIA_PATH_2="./data/media-2" +MEDIA_PATH_INTERNAL="/media-1" +MEDIA_PATH_INTERNAL_2="/media-2" +PANEL_APP_PORT_HTTP=40319 +TIME_ZONE="Asia/Shanghai" +UPLOAD_PATH="./data/upload" diff --git a/apps/mt-photos/1.33.3/data.yml b/apps/mt-photos/1.33.3/data.yml new file mode 100644 index 00000000..22a365a4 --- /dev/null +++ b/apps/mt-photos/1.33.3/data.yml @@ -0,0 +1,59 @@ +additionalProperties: + formFields: + - default: "40319" + edit: true + envKey: PANEL_APP_PORT_HTTP + labelEn: Port + labelZh: 端口 + required: true + rule: paramPort + type: number + - default: "Asia/Shanghai" + edit: true + envKey: TIME_ZONE + labelEn: Time Zone + labelZh: 时区 + required: true + type: text + - default: "./data/config" + edit: true + envKey: CONFIG_PATH + labelEn: Config Path + labelZh: 配置路径 + required: true + type: text + - default: "./data/upload" + edit: true + envKey: UPLOAD_PATH + labelEn: Upload Path + labelZh: 上传路径 + required: true + type: text + - default: "./data/media-1" + edit: true + envKey: MEDIA_PATH + labelEn: Media Path + labelZh: 媒体路径 + required: true + type: text + - default: "/media-1" + edit: true + envKey: MEDIA_PATH_INTERNAL + labelEn: Internal Media Path + labelZh: 容器内部媒体路径 + required: true + type: text + - default: "./data/media-2" + edit: true + envKey: MEDIA_PATH_2 + labelEn: Media Path 2 + labelZh: 媒体路径 2 + required: true + type: text + - default: "/media-2" + edit: true + envKey: MEDIA_PATH_INTERNAL_2 + labelEn: Internal Media Path 2 + labelZh: 容器内部媒体路径 2 + required: true + type: text diff --git a/apps/mt-photos/1.33.3/docker-compose.yml b/apps/mt-photos/1.33.3/docker-compose.yml new file mode 100644 index 00000000..95d721de --- /dev/null +++ b/apps/mt-photos/1.33.3/docker-compose.yml @@ -0,0 +1,22 @@ +services: + mt-photos: + image: "mtphotos/mt-photos:1.33.3" + container_name: ${CONTAINER_NAME} + restart: always + networks: + - 1panel-network + ports: + - "${PANEL_APP_PORT_HTTP}:8063" + environment: + - TZ=${TIME_ZONE} + volumes: + - "${CONFIG_PATH}:/config" + - "${UPLOAD_PATH}:/upload" + - "${MEDIA_PATH}:${MEDIA_PATH_INTERNAL}" + - "${MEDIA_PATH_2}:${MEDIA_PATH_INTERNAL_2}" + labels: + createdBy: "Apps" + +networks: + 1panel-network: + external: true diff --git a/apps/mt-photos/README.md b/apps/mt-photos/README.md new file mode 100644 index 00000000..37491d87 --- /dev/null +++ b/apps/mt-photos/README.md @@ -0,0 +1,7 @@ +# MT Photos + +**MT Photos**是一款为NAS用户量身打造的照片管理系统。 + +通过AI技术,自动将您的照片整理、分类,包括但不限于时间、地点、人物、照片类型。 + +您可以在任何支持**Docker**的系统中运行它。 \ No newline at end of file diff --git a/apps/mt-photos/data.yml b/apps/mt-photos/data.yml new file mode 100644 index 00000000..9e28f4f6 --- /dev/null +++ b/apps/mt-photos/data.yml @@ -0,0 +1,19 @@ +name: MT Photos +tags: + - 多媒体 +title: 一款简单、好用的照片管理系统 +description: 一款简单、好用的照片管理系统 +additionalProperties: + key: mt-photos + name: MT Photos + tags: + - Media + shortDescZh: 一款简单、好用的照片管理系统 + shortDescEn: A simple, easy-to-use photo management system + type: tool + crossVersionUpdate: true + limit: 0 + recommend: 0 + website: https://mtmt.tech + github: https://hub.docker.com/r/mtphotos/mt-photos + document: https://mtmt.tech diff --git a/apps/mt-photos/latest/.env.sample b/apps/mt-photos/latest/.env.sample new file mode 100644 index 00000000..e9e11230 --- /dev/null +++ b/apps/mt-photos/latest/.env.sample @@ -0,0 +1,9 @@ +CONFIG_PATH="./data/config" +CONTAINER_NAME="mt-photos" +MEDIA_PATH="./data/media-1" +MEDIA_PATH_2="./data/media-2" +MEDIA_PATH_INTERNAL="/media-1" +MEDIA_PATH_INTERNAL_2="/media-2" +PANEL_APP_PORT_HTTP=40319 +TIME_ZONE="Asia/Shanghai" +UPLOAD_PATH="./data/upload" diff --git a/apps/mt-photos/latest/data.yml b/apps/mt-photos/latest/data.yml new file mode 100644 index 00000000..22a365a4 --- /dev/null +++ b/apps/mt-photos/latest/data.yml @@ -0,0 +1,59 @@ +additionalProperties: + formFields: + - default: "40319" + edit: true + envKey: PANEL_APP_PORT_HTTP + labelEn: Port + labelZh: 端口 + required: true + rule: paramPort + type: number + - default: "Asia/Shanghai" + edit: true + envKey: TIME_ZONE + labelEn: Time Zone + labelZh: 时区 + required: true + type: text + - default: "./data/config" + edit: true + envKey: CONFIG_PATH + labelEn: Config Path + labelZh: 配置路径 + required: true + type: text + - default: "./data/upload" + edit: true + envKey: UPLOAD_PATH + labelEn: Upload Path + labelZh: 上传路径 + required: true + type: text + - default: "./data/media-1" + edit: true + envKey: MEDIA_PATH + labelEn: Media Path + labelZh: 媒体路径 + required: true + type: text + - default: "/media-1" + edit: true + envKey: MEDIA_PATH_INTERNAL + labelEn: Internal Media Path + labelZh: 容器内部媒体路径 + required: true + type: text + - default: "./data/media-2" + edit: true + envKey: MEDIA_PATH_2 + labelEn: Media Path 2 + labelZh: 媒体路径 2 + required: true + type: text + - default: "/media-2" + edit: true + envKey: MEDIA_PATH_INTERNAL_2 + labelEn: Internal Media Path 2 + labelZh: 容器内部媒体路径 2 + required: true + type: text diff --git a/apps/mt-photos/latest/docker-compose.yml b/apps/mt-photos/latest/docker-compose.yml new file mode 100644 index 00000000..f75d7511 --- /dev/null +++ b/apps/mt-photos/latest/docker-compose.yml @@ -0,0 +1,22 @@ +services: + mt-photos: + image: "mtphotos/mt-photos:latest" + container_name: ${CONTAINER_NAME} + restart: always + networks: + - 1panel-network + ports: + - "${PANEL_APP_PORT_HTTP}:8063" + environment: + - TZ=${TIME_ZONE} + volumes: + - "${CONFIG_PATH}:/config" + - "${UPLOAD_PATH}:/upload" + - "${MEDIA_PATH}:${MEDIA_PATH_INTERNAL}" + - "${MEDIA_PATH_2}:${MEDIA_PATH_INTERNAL_2}" + labels: + createdBy: "Apps" + +networks: + 1panel-network: + external: true diff --git a/apps/mt-photos/logo.png b/apps/mt-photos/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..7f43af2d5acd11a04e646e9d7c91977909ee56c1 GIT binary patch literal 7267 zcmX|Gbx;&g_XUwIm4>BT>7~0tx*J4VKzeCu=?-aJLb{{{>6Qg{=~|TT?%MtFec#M) z=DzdJoO|ZZo%`Nj@5N|oDB@NgTf0dH6o>66)Kz;d*)-u`p>ds&I#^&n5+dA59 z_z79+C1v^}?YAq|T59TyJF4`{@+}?a8p^6|BeiL2;dW-(A^O)z7rJoDdjwLTiTw%j zK>zKs^-!n(=I*YXx$EKaYY*Sj+7_aM`u^#fp_=UK2|2TK(6DDD*31__z+t??M4pOV z*xX&e{P*Yd^7`?7{&e=^3fJ((&Hn8kWMy<h}V99O(M`ghrRdkEcX@GB_jI|@&mb^hFH^&MjV zuS^7(H!WA%b$xX^cTtmG7*X`s22p?~RM1@ot!iD4u&DE|n(=Hcw#1FU(5mmyuS(3H zQ#m|1Ng7QkFLJ+XQF7?4>02tYY%Q8y{GLCNzct`A_Cw=ovt6aEtmkj~!&IV3KgGZ~ z{GrblaXizww-nL;US~x3ODE0#-+H4dUYXy#`Xhqr&$pk?OGiT&<@g>0XPfHPEYl?% zGGHU5Ow!qy<|-A+9c!91TvMdK>|3ej@x&>8mKV3ZdwusO_@Sney8#7-eEYq;jGpfj zB*Qc@g6@^V7JD=}j4*vb9*+9(VMWiL<>yY77~_*o zu37d+(?_v063B97uuiV`RO{H>iAnw2E>uO8j-VH=Y$|8iSgz9KqSfS^4_qYjwdPsh zwC%WswmkT!D@hWAQ5yZfs~=npjrZOvuv?&W@%tu;>#meUSg3WBuPeM=lQ#9H_#NXM zWr^N@CaSzpPknyO8=9_O*DFj?PSDRbCN{mj!MOF7r9{UcZeqOha_^B(>PH^m=ZzD; z^cn6n)!cKxRBwyG`zJ!h#&oYN^k6$R<`phml|BWOS!y3v7 zNRlwMv|YOK9RL`TO*N$#(VAwvvA6E53gU2Mvf;;L5MK>PlC_&yDB+=u!a2J~gpW}mbw8uy|fQ_z%Q7}oF ze=j7vT*Oq2by^lhBz@keVCVDUVSIM^5AmBi@0MQz++Wfc3M#$44w=*xWmSqvEn}?zKe|KO*U9;CW@0$AU_RjoYT(} zL$>d9X_^i_$0m}6*kUe;)(M9ZLuP#>?m|)|s?n**sxV04c9=rCvmbVLNTCk8HqJmF zV30#aMt<}@FT%)#@Zp6%y}Fa*Y^KWBb-TvbtB<vGN@$m+PGU_<3hH(tf12O!S3kqa z#+c6mJ{T%kb+!Z{Y%~rB)T#$Y)+m1&%pEkFjPrPzpLpS*+e!+3>nt-ki!BulphL*- zVqFQniU_FlJXo1{56;3?R$$N6zj7(NGy8B&W5_A5i|Y~l(@O-4(p07$XdmD@flssq z!8TAHgnw+jH#bJVT)(*UzLK6X;KoW*p?$i>&B|HKYcBS*qAB^u)k;G50|q5KnY@|T z)DsBUWQ<(nI}5inx{1>fyZgityMba+Ijb{(ZpKTmy&O} zDhlB+Sb3GfP}By-=x1=kipJ?3h#tXjCX44CLIV&JV6iCv_C33?u-_Ka6$M^7&4e=r zJ)Y;@tp4^t?|aAdrewtHd|93gHxf(^^9OvWu&Oec3Xax^gLWH>%48r zMx_V{l_HCn`xv%VUliaPQhsaO6HO$nENSz;m0dT_FzpE{avz| zGU8*b;6ZMzDj?DP-0_FMoK5+bi)VxZ;L8zQ%$bPcFAG}?QK97b6TA{I7+l{o3|3bN zX*sl-(J?KyJ6QLrV|LS;iY-jzdc)tsUb&SX{gU}3DXAULXqXN0=E2%Q0%{W@Jy?=y zQ2>w^Halh*M5uWA{p z!7kY4EUNokk6I9D`mzSB`x3iX)cCClZ_L+U{;~yE) z-3$&yB*nzbCE}GI`}Sn*d`M|OqwwpGdDX<&PpG#k4zn>sl|I1vvPU_>f1#8CU-4U& zz|^M2KJvC-7h^!H@29?0{7ST2^*GZptjUo5(EY<6YR~uYg!tS0pf8$fBoJaHT8t)a z80r;u5$T7jd7KG#Cj%98FQy|2|IUgzXB%j*ZQo?|U)#oH!tPPp$gkJv&u5gm2#<1hoi#b( zkvgzS@m);Ud_YE#50|3cc%vsUn`r~+NgLEpJ5~&|^eJ?Bns4WiL!C`Ee`oC%AR-=V zLUFm_G?cu1em-zRyFJv+Gx}1%i#thD4#pBTA=k8GR@bBSnpQ65P`zCms@R~mMaptM z&N)8b)r||xUR+$PzLzN9g55z;02=CUf&z4u9p3_o=LZI>Hlc(XRO9r}Bg4u{m0-ku zbA3GzP;L*{s3pLp*7S2v8@p(0Ta@8j07djlgDhjh>M;1~#ia{d`&-a(N^Wpa>LbH- z_SX-rmTUbZg>n0;c%<^GJ~eu-R2vb3eOpGu48K#56R%3SMr9YgVLY()+baW*OD&H0W`UEsu zwNOQSdkeL{NaH%fuFxc_w8jc=3IcsqyZ^>JM8d*$!8~q3dkdmqT;t2V6M^V&hE+l} zQOJSTmzq;LyRGWcL#3mhZ25XUx}vO6^}8ltQ1Y#?6~jd@W%NmCTk)V{1}^%e#UBJ_ z`F4R6X46~a08xF}$wb`lE7|Ws_MeX?RDfW7k;I5WN8$3wT@yJes1aq%a4@?UcR0(i zI7^6KS^xCX{JhE0ne@+fFGP9kZ9I$rh5J!JI6dodPehqUPi;79=a1MesS0E)rA45~6V5HlJg9FEkxkc?d1V+W9BG=Hlhlh@bvJQZBVM+uvQmdb9SQ9$g zv%%Q(5lqXN(@M)HKIvvy+~HntziDe|Z#uld)AK_$swB9m;;`G3cg+L1|@rK-cz(J za%pr!RW??!F?jcaPe4E+s1ZG>J@CMGkeM`gsET#PLXb^R*@e@W_xhB7g_qvM?fmqz z+qnq`dToJmLDlf!)kYU z-Tqb1Cq54?tEZZZ{3fLA>t2oxI7YyW} z+6!HE5QcnO6|3I6Vk=^pb~Nse738G@IezbGadRWgvH8Nkh46M~nA=_sMN;yFR=I_l zNWfO?uBIbfy9^iNCLlJIM8$#1?>%mQQDMMlP~Io^fvkvr>rlDu8YIwOZPYX#;N#^F zP??B$b#=LGo;zMk6uEylcK>gzWsaI(NkhD1t$42ruPjmP-AoP-Ox=GwF-Boy)Vlfs zK=}D)2}5!cjdVmWA76j@ceJ8l3qjz6r9G|K6p1}5=lP4$7#(@`ep#n8!O7vmv&}Wd zrsZRGnw)}=(SJ~)>Eh8KCjml$SrSYK_1Hcnn5@;CXroqTaiA|DSF z-+e{a;n(^35|Sd0H+@>F1A93hNll%0&{oaH;hb(olA+6 z>8TqKQvqR^^5dh#jvr#jPa}?cY{%WAIfkl7?PGHe)ZCYB2U6W?gkP zxr%KYpy;0z2DT{&C9PdkArmk;<}?F93n(=ib9@&Ifh7|e9FihpjO!L`gr|ubhjR%PdsCXo|89>%Hf{S4z>NEVPy#7 znd`JKd#~DM5gojuJb|We#`X!HK1ptu+2%fGk*GZ_7!9J*CiD5qXw*m6W!nHUdRX1~|Apl)3p7}x& zOD-1pj8+C%sjdq5tlo)`A1pc{4#IHP!m7q}hB58DPsO*FX$#;sXSa*g#P*FM`699q zoU8E1ehlJ6ubrQNr6?cp%y-+HivJmF9$$)6O=yKW!ysV`Si+^SfSjO*M#>xYB+#D(|dV(dby=g)r z(awrb(6zN6sEY)(Y*`sIbQN%p8h70j{2g~a5Y4;i2@AXD; z2nAj|{TP$RlIR%|J3NF*LzFcsMzUElXDlQo?Qs0U1 zIvc=8Q8&YESA4>0VoS~8MWuwm?Xh=z-DnEJ3!{=I?b9aMvEN()F11t(mFogrT_(i~ zMU%!=qju#Cxj&S=H1KGEN~9|_NMPUZUZ)j=S{i^#drnqn(&J^z_ ziW>#Ja+lPpNbPaIRA{O-e7nUuJBE*CK0lU}t3NJ8K|~qzG2n}@Lo|2HsHnD@Q;fCoKu#EyzXb7~GR9o$ z+BrO)8B`EED%bA*$h)%5}G`O`WPWV!(x}l$3eSU3BR{l=ldBjya15zYdmq5;zII zNy7dim5|iDu%e$I#epAdotEhq)SVpfmIW)L=_T-hwYo+f_>FlDVG?s{pU&L;Je_Hn zf!^<&v&UXw4d86V^Frh@%y>>xzIKu0MxTY&UP$-8OSv~@Fy41D-wwJsF$9};)CF;H zs4?N-te*)-X;vPWtR#o7dh%}ncy6NHTr4L#z4V^mhx-H2{(a*8CU3p-&Cr5=w3caZ1!oiqGwn~O}KP^W9-G}IBkuXgb$Ht*F(#ZGe{+C2RkNV8N7AKkI$u+>+ ziSPtM{=!^=Peu`8k5Myhe7n;@mVG1EettI-1)W%zOk)3<^;>V6KajCY==lUf!xGn| zXa;MYD>FAd@n<)^WxTmF^NWEVFIdMbVtk~D$_CNF%!%|b4C+#u_+8K%HC@N?H5R+2 z>{o=p&(B&If)s;J4iyqLC>U?kp0vKw?2nma?-Y9CO-t!89do}Ks^E;DF8V?BO>^0w zP6+EfgrM~m^&#FpOM6trS;((gwA#=rA?tLqjgrDfh({ziAUFFVZ`~~`N z6LvH}X}dvX6?FBLcFct4u|hnM21AKnus@`44^%=&mv^5Y){D>uNE52RP3Igj zy!Nde(QB3QV$@UWI+c5?1K*j|&8MD%kI737toK=^k2>7D3nt|77pm`*LSF^!{!&M${4lv!-V3r=sqP2v4EQC_=s#XGFRWi*dbV0dca>3QiXdPyTUz>!hyrC`>K)QlKnG> zIlHw47l)4V*q`T&!szp=0CU#<@|*Kwt9X^QLgEfE~E@wTK$_Gkq!2Sm;78eVYDMb^3$ zXb$sK^URl}C`hmr+7vaDe+RN_YhlTCS90wWSbroo;;fw&nU|{xn!j<11%^BSlu)W# zY~~iFKClp}4)>t%7!qMJlWrXR{TIShmWkHMH6H}2%C`BiU~TESos-OHH{QhODUX>t zDnQ+{WKi3J=ekcICR*lXWU*S)5&_YK10e~^^S5UG=hKd+H#p;~&Ri{(j)2