From 8d2784531e5d3de6fd2580e91872d67b36d0041b Mon Sep 17 00:00:00 2001 From: okxlin <61420215+okxlin@users.noreply.github.com> Date: Thu, 6 Jul 2023 13:49:46 +0800 Subject: [PATCH] =?UTF-8?q?feat:=E6=B7=BB=E5=8A=A0cloudreve=E3=80=81nginx-?= =?UTF-8?q?proxy-manager=E3=80=81code-server=20(#204)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * feat:添加adguardhome、memcached、qiandao、lsky-pro、bitwarden、rustdesk、synapse * feat:添加cloudreve、nginx-proxy-manager、code-server --- adguardhome/{0.107.32 => 0.107.33}/data.yml | 0 .../{0.107.32 => 0.107.33}/docker-compose.yml | 0 cloudreve/3.8.0/data.yml | 24 ++++ cloudreve/3.8.0/data/cloudreve.db | 0 cloudreve/3.8.0/data/conf.ini | 0 cloudreve/3.8.0/docker-compose.yml | 22 ++++ cloudreve/README.md | 110 ++++++++++++++++ cloudreve/data.yml | 20 +++ cloudreve/logo.png | Bin 0 -> 12022 bytes code-server/4.14.1/data.yml | 33 +++++ code-server/4.14.1/docker-compose.yml | 25 ++++ code-server/README.md | 78 +++++++++++ code-server/data.yml | 20 +++ code-server/logo.png | Bin 0 -> 4492 bytes memcached/data.yml | 2 +- nginx-proxy-manager/README.md | 122 ++++++++++++++++++ nginx-proxy-manager/data.yml | 20 +++ nginx-proxy-manager/github-pr-3027/data.yml | 40 ++++++ .../github-pr-3027/docker-compose.yml | 21 +++ nginx-proxy-manager/logo.png | Bin 0 -> 19892 bytes synapse/1.86.0/data.yml | 11 ++ synapse/1.86.0/docker-compose.yml | 30 +++++ 22 files changed, 577 insertions(+), 1 deletion(-) rename adguardhome/{0.107.32 => 0.107.33}/data.yml (100%) rename adguardhome/{0.107.32 => 0.107.33}/docker-compose.yml (100%) create mode 100644 cloudreve/3.8.0/data.yml create mode 100644 cloudreve/3.8.0/data/cloudreve.db create mode 100644 cloudreve/3.8.0/data/conf.ini create mode 100644 cloudreve/3.8.0/docker-compose.yml create mode 100644 cloudreve/README.md create mode 100644 cloudreve/data.yml create mode 100644 cloudreve/logo.png create mode 100644 code-server/4.14.1/data.yml create mode 100644 code-server/4.14.1/docker-compose.yml create mode 100644 code-server/README.md create mode 100644 code-server/data.yml create mode 100644 code-server/logo.png create mode 100644 nginx-proxy-manager/README.md create mode 100644 nginx-proxy-manager/data.yml create mode 100644 nginx-proxy-manager/github-pr-3027/data.yml create mode 100644 nginx-proxy-manager/github-pr-3027/docker-compose.yml create mode 100644 nginx-proxy-manager/logo.png create mode 100644 synapse/1.86.0/data.yml create mode 100644 synapse/1.86.0/docker-compose.yml diff --git a/adguardhome/0.107.32/data.yml b/adguardhome/0.107.33/data.yml similarity index 100% rename from adguardhome/0.107.32/data.yml rename to adguardhome/0.107.33/data.yml diff --git a/adguardhome/0.107.32/docker-compose.yml b/adguardhome/0.107.33/docker-compose.yml similarity index 100% rename from adguardhome/0.107.32/docker-compose.yml rename to adguardhome/0.107.33/docker-compose.yml diff --git a/cloudreve/3.8.0/data.yml b/cloudreve/3.8.0/data.yml new file mode 100644 index 000000000..5b4d7f9c3 --- /dev/null +++ b/cloudreve/3.8.0/data.yml @@ -0,0 +1,24 @@ +additionalProperties: + formFields: + - default: 40033 + edit: true + envKey: PANEL_APP_PORT_HTTP + labelEn: Port + labelZh: 端口 + required: true + rule: paramPort + type: number + - default: ./data/uploads + edit: true + envKey: UPLOAD_PATH + labelEn: The upload file save path + labelZh: 上传文件保存路径 + required: true + type: text + - default: ./data/data + edit: true + envKey: TMP_PATH + labelEn: Temp folder path + labelZh: 临时文件夹路径 + required: true + type: text diff --git a/cloudreve/3.8.0/data/cloudreve.db b/cloudreve/3.8.0/data/cloudreve.db new file mode 100644 index 000000000..e69de29bb diff --git a/cloudreve/3.8.0/data/conf.ini b/cloudreve/3.8.0/data/conf.ini new file mode 100644 index 000000000..e69de29bb diff --git a/cloudreve/3.8.0/docker-compose.yml b/cloudreve/3.8.0/docker-compose.yml new file mode 100644 index 000000000..fcb02453e --- /dev/null +++ b/cloudreve/3.8.0/docker-compose.yml @@ -0,0 +1,22 @@ +version: '3' +services: + cloudreve: + container_name: ${CONTAINER_NAME} + restart: always + networks: + - 1panel-network + ports: + - "${PANEL_APP_PORT_HTTP}:5212" + volumes: + - "${UPLOAD_PATH}:/cloudreve/uploads" + - "${TMP_PATH}:/data" + - "./data/conf.ini:/cloudreve/conf.ini" + - "./data/cloudreve.db:/cloudreve/cloudreve.db" + - "./data/avatar:/cloudreve/avatar" + image: cloudreve/cloudreve:3.8.0 + labels: + createdBy: "Apps" + +networks: + 1panel-network: + external: true diff --git a/cloudreve/README.md b/cloudreve/README.md new file mode 100644 index 000000000..4d59aaa90 --- /dev/null +++ b/cloudreve/README.md @@ -0,0 +1,110 @@ +# 使用说明 +账户与密码可以查看容器日志获得 + + +# 原始相关 + +[English Version](https://github.com/cloudreve/Cloudreve/blob/master/README.md) + +
+ + 主页 • + 演示站 • + 讨论社区 • + 文档 • + 下载 • + Telegram 群组 • + 许可证 +
+ + + + +## :sparkles: 特性 + +* :cloud: 支持本机、从机、七牛、阿里云 OSS、腾讯云 COS、又拍云、OneDrive (包括世纪互联版) 、S3兼容协议 作为存储端 +* :outbox_tray: 上传/下载 支持客户端直传,支持下载限速 +* 💾 可对接 Aria2 离线下载,可使用多个从机节点分担下载任务 +* 📚 在线 压缩/解压缩、多文件打包下载 +* 💻 覆盖全部存储策略的 WebDAV 协议支持 +* :zap: 拖拽上传、目录上传、流式上传处理 +* :card_file_box: 文件拖拽管理 +* :family_woman_girl_boy: 多用户、用户组、多存储策略 +* :link: 创建文件、目录的分享链接,可设定自动过期 +* :eye_speech_bubble: 视频、图像、音频、 ePub 在线预览,文本、Office 文档在线编辑 +* :art: 自定义配色、黑暗模式、PWA 应用、全站单页应用、国际化支持 +* :rocket: All-In-One 打包,开箱即用 +* 🌈 ... ... + +## :hammer_and_wrench: 部署 + +下载适用于您目标机器操作系统、CPU架构的主程序,直接运行即可。 + +```shell +# 解压程序包 +tar -zxvf cloudreve_VERSION_OS_ARCH.tar.gz + +# 赋予执行权限 +chmod +x ./cloudreve + +# 启动 Cloudreve +./cloudreve +``` + +以上为最简单的部署示例,您可以参考 [文档 - 起步](https://docs.cloudreve.org/) 进行更为完善的部署。 + +## :gear: 构建 + +自行构建前需要拥有 `Go >= 1.18`、`node.js`、`yarn`、`zip`, [goreleaser](https://goreleaser.com/intro/) 等必要依赖。 + +#### 安装 goreleaser + +```shell +go install github.com/goreleaser/goreleaser@latest +``` + +#### 克隆代码 + +```shell +git clone --recurse-submodules https://github.com/cloudreve/Cloudreve.git +``` + +#### 编译项目 + +```shell +goreleaser build --clean --single-target --snapshot +``` + +## :alembic: 技术栈 + +* [Go](https://golang.org/) + [Gin](https://github.com/gin-gonic/gin) +* [React](https://github.com/facebook/react) + [Redux](https://github.com/reduxjs/redux) + [Material-UI](https://github.com/mui-org/material-ui) + +## :scroll: 许可证 + +GPL V3 diff --git a/cloudreve/data.yml b/cloudreve/data.yml new file mode 100644 index 000000000..794547145 --- /dev/null +++ b/cloudreve/data.yml @@ -0,0 +1,20 @@ +name: Cloudreve +tags: + - 工具 +title: 支持多家云存储的云盘系统 +type: 工具 +description: 支持多家云存储的云盘系统 +additionalProperties: + key: cloudreve + name: Cloudreve + tags: + - Tool + shortDescZh: 支持多家云存储的云盘系统 + shortDescEn: A cloud disk system that supports multiple cloud storage + type: tool + crossVersionUpdate: true + limit: 0 + recommend: 0 + website: https://cloudreve.org/ + github: https://github.com/cloudreve/Cloudreve + document: https://docs.cloudreve.org/ diff --git a/cloudreve/logo.png b/cloudreve/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..11fd1a355be434f81c5f08fef137bb8f669fa1d1 GIT binary patch literal 12022 zcmVba*TqmD_=j z0e{T~pRqTxpgrJKz)u5D>FiL>7`_4g3-I@y9>`kRsDge8@LRwSuxTSFO^DmDc{}j& z4v%Hks7?=Hl{^Xf2+roaj!iMAK?Zm_@IK)Ez~ehPnANgTX6OR&THxilz@Saq$3ft4 za5Hw);jx^SZWpu<+z7lGxQfkSs!kE%Vn<#L+zIH;4(H@_v&k_4{2$cFS(a`SbT9BbxTvvBS6ugU zBk&dAS7={s_=@PJ$N0Ixp93%L^gvdF2>1$oPw*5d0pEbK7RzJZFm};@TQ6-PG7uUt zmW@I$&fD}9;Ell1j*g~Dw=4>u2E2 y}OqqSJzY9nQ??3ao`}0KIudF$=S0Q@>}w4);#z z+-#l9p;@WicPOs!o7CC)Ig_KId_3h0H&2}6ekc!5$RMFTZeJ|zXX!tf=1W`GMon7` z(MZ;Y*KYCrOMA#=>)Pz{X 9ih+V~a7tIcdVi?*PTAgrC8>XVU) =PMB*!z$$T~w>XK^EY!3vW@tQpRJ`+ilNk(6 W(Cj_0xEhc`p-5oC_7YL($LaA!&U-(|5_ML;a|Dj1+zk9FN^HZh=rG%UlaiC5i zPyrSU=1E!Xle12QNiOaLOiQVCpsX#%G@d%D)MXhH?5M}J7oX<^7Y<4=9t)+IWf!Dv z=I?-4lI)c@E$tR`5AaX8!26ETn-h9-V(vd2mp^(} E@_< j?Ct<6HeEF-!6;m&j*_ baf{pFKh*_C!rZZC2A`xf%F1 z+8C1BPC*ajKH&4))!|Z#Ss@o-zWP8k_t9@feS0P(zW;z$gk&fv{J=TpS1p2u#cua7 zKahhS527~7NCUkJGwL}Tylm}=Z}nx?cu$Ms`Y`IpvGYbT&QBzXQKWo8my)CFl|0 zpMmGLqqC(b<-~mJcf;9R?uvWwpCCRuX|jlj$~g~)U5^GU276T&b9LUiAljj4W3hRK z-Qv4Nspj}LSsi?B;w#0d>%%zu?OkLeH_T3%A^(ayO_aK*+ac&)++EuCnOT5rMmRE~ z$KLX(#^AROSecu*0iF^+lhBuI04(O(Joa$`RNJ6t17yH#@!cZTEcv}OUm+-M%_T |w6W!?1!dWwls9ff@9mPn|mMt@S};Y*t&lJB-b*266PPQOQ^I@tw*x z@?P9_`O;f3G13&Y54;EXg|s?Yic;W-7%MdHy02V%+Xu&cAK6#Qg`+z>ueXRw +B>m$<0Y5VYV Cx(jK^tTgQce2_ 9X|cNEhwIer1>o=X*r+Zf4Y zRQSN&TJ>EY9B -pnCf`{@hKF*g{cZuE}9{`fJ}ETnQEk1iRJ8 zCV78)z=Vlk-5beI4_L|jsH$zt{aM3BR(>SOMw6bQpN2CvQl}@UFqZib-a4({`JwUR z)L1ycV6fzi79^8(# M>yRf-OpW4khIU>yxaVu7Rz}f9pb)Z%swvujDmP=_e?Y zx(SlUg+J`Y<-JaXBm?}n @qL{6P zOa_#f-e4@wrY)@3k-dU`Jg`MCoz+_m6yUZ(koomFUw>$dct9-K^qtlh0Pn=Pb`v2f zK`Y$J;8ahUh`>OPXYSiuEC0cJ4w;+(b8H)Z0R-~cFWOoplL0R!5rCU11A(kc-@6eA zHbZ)!rP=Q6h@XF5B~bq`t8C6%n@#^r(~Y=^FcFd(?(YIWnNVBHBQV_W*S~c4eC;*w zJ}9?+b#|2D;1q8#DBnlanl`gnJSH+Y!!1plQ^4lhw8y7`5zqUJdWOH8^Q;MNTu5 TKh+|8Ow#@I%!i{r;)1vat|koS;+k*5Lt} zl-gg60J%0E|I|Q_$a{1~{mHy He_^=8xe^~PM z!IG(uWK#X8!#J~bU5<+N3i^MO;yFNTVb@47_wG+jM1OSC!GU^3D+=DqmfpS(%EP9) zSW~2b%vf+wf=*z80KSq7vacxxcF(kFY{{l7>ZjvQysVk^2>KbgU7u8Fih1_$KRy}# z$xVkwOl%c}6%N;0H#>VNKBij{^pgI}X@d@Co3Mb7+}#u8e}6tOduD87B$KN7@j6^$ zp*6AAD^ *+g@_@V(w3 z_lA;h_RrbIz-g8+>!1&(tu;ND*7}XVh7?_NTZjDeKYe=2yy+hg566a;&&(|>;Q7tj zbK@ksI4RNv2L+v|<*uF}_s3=5PLyp}OwSbhVchYpRkIdBKN%MSm^cEA4EXgAe`VJE z>CHz5!x)dX`iw-<6~eKmQ@&wZvCZ9pv#I4P*&zF_sz=nYI+NZ*@ON-kdsoG3htmoy z*|yq_PTR0Rf3I(D{pP&>)At?DH!86rzt*c|-40>eN1zSP#nml>YX|Odf!ty 3sh4a88F+v0BBv7*|~?ae51${qDon>RbQgsGV7fYwlE7T>M6wsr!Ux4zHAB zE;|r~e_9NfJp4l~;JtIo_KU?&=NkMNt_akMS IYZ1MbeR6PBic^eg0ocCc> zT!*VWxgu67=ziQ@`-< |K z78;HY1-YARJ`HWjCm#vWgPTlORL**(f_^1%#ac&nGIAMZ@84IO|GN*4=hkI2cM64@ zq3b5S-8@VC@_einfluRS{$*AfWl6)HelqZLEBV8f2zrQwb2eKb6DU)w>$!J+aJ(@# z*2t04QaM!=Zg#GvY)2cqThs>V5#Cnz%^f8|-zIK)1h|t>r(M6TM9?n-E?wt g)b*JidpCOCiH2-e#4*HQvfw@AgL=TK?hC(=m&1natR_H^*hvWF5Rh28qA zabC7la=LB@Ng=0(ui)@RH2JPuCWh!=dTc65QchXu2~-WTkj``V7zU))<$?y#@SR+c zdG9!}BtKjaS2g&Qw)E)){Q?s9Y$&%IU3>d~jj4rFq*D2kgyUxj(-eW=l3UFicZ?~` zzCwd^eU(5U3-63FcA{>h6dqbn1Ag>We{iZk^S}#9_-hgc-@LCp|G96@50hFHnK(hW z!+-1H@^LH}H)E$kD}hZlMbjoJESP>3yk**xT=EO$EKZXry$YwgJlAuYyJ0N|Oup@w z@m|E*RKFZ+(mCn96d$B)kogon9RL=WG{eySriX ^a5T)cWk*m1jK&(>o{6lr`7xoPY|~vFwi20_ny$ib7B!%K zrM{F2GJ&y4uh5?bT)gxjm%AKKCBYC;&x1 #EFp4quY+_a e_yhh{1C`-$%fKMS{Ca*U;y z{XF1@lIl$q_(~=}dsoS;Ool;v8!5|mF4!o-nl=U#XF=_ck=Z!?S-L4=nK#I6^D}mf z`Oz}L$_6!Kpy0{FzHjb6Y8v@uZRuwM=Pdq*rI+AJ5;QmZiymLTdqED2g=TeW2ogX9 z+X&s_uwAF7eStZHjO+HCHEfA`w&@2qbY9fWL{&21e0o@m`0&WA;RAH;1l_L4OABN{9*m&W23s1OfE37F zjGEFe%v8}C6T|~F$eeahsn!sUg`DR Ir&x6%I3LQEps1&AN1EZZm z-wrI0Q>Z ^mqYBPlmk0u6eO0>i!Kzs}+Q_!oyRmp6f^9Ugy3MCdJ)mY$4~5Q_Znvnd zMM~NUdq%t3iC*(}>-{QPGrtdLCuB9D-NIC#+y^h(La!$eS`|GsWy4%@bDUz)@xYd# zi@4LZiI53|gJboDv6-mUcH4O=Mq|T}wkEf*Kvs}PV;GCu?<;PZAfZL(n!=vaP&Ta{ zyyG+X>BiL(@ZwCXHG@oQ_nOh}7@CsPKMAt%%?YbNci8HIWPQ@t(af{h8e%VSO;WA* z7Ck<3_rjKMKUksjhhG(@RznqvF8NG5b6glu-wQEA9vyi~DFA_nMH&XF3i!t5w9Wt- zh4sX#U^y{bAa0&IkE}CcA`oqw6?0`(G2jA3mh2Hh3X Vbw zi(iYgH5m|tGkP^{LQty{atqNG+vCZkFY#Q>;EVVP)g8YIm+oM)^$lN6LN`m`3$vwo z{^(>h+i{<03$3w@dS@~ad7$=2$l>_(f15T!)6@{>vyLs&u cMXh6&(UnQHoXsfq9c^Uy9;xR@;SA225W&_e z&VASJ)U?fWhw9$YooeZpE$Y^6tXA+!a%){+yiDeiDnY{Xcp}Y=hFKCQ*3zPwQ{4M# zt?&Massn4!9-1_QsntMtXqNPVd4syA(LUdFm!hnNtn#Z_<*Q`32QI^va3aH!?Zfrp z3Du)BQQ4GY)z-+m(_t;9Qte#gLj_D|C+gPEXCnqED#naNb2S?$cxvrpnu5-f(1OrY zLb+-xb7ei(jbE6lmfLf1b~#!x4*MhIzD9Fl)tRAmoB;msn5o@AXTt>d+#W|$&^uTX zg11%zA7&R~H8vHhZcOcE;}}z`c5VO)(4ZcSko&_mdkZ!^3iefOaJY`2U Bsgl;=A;1`miV>fQ$GfzbWzOZO!;PZ0sEmCU@wPxyX5 zPvIi}6Csxo_K!F6k3L%K>G%%ea#)KEL$^TeWFa13oIm(Gb=3D8Zsu-xVa*OA7RY*@ z$tvX~` &RlEj7$OtsqdT6Ss>9NP|;dm5-a>TWx^T}A3UO#u7K zwm#jkae~(ARt1bC(UMX^BQ#ODYO1N%99a*|6X9JkOIzF_0AG*?Le%XwxA~G^=Wg6a zK*4=;G{$NqDd-W!qTuNDpcK?YW6Nc2y3u8KB7$wyG3Amg(Ai0vRa(gkav(;1rHbs2 zA$x|q^%NYbSSd9uesX#lQn)Ckb)y8r*h;ysRaei@&^(@{G4u28m{vDThk~1#rw!_k zI`W-{+l1&s_h%vq%th9#>qL)U3?wFK5up(pwNN#F_s`IPQrJcVQ<`&y?z@GYK+T}; zYoNYXhl$wP+Gm=s1?nPx9lQkP(xY&}{p-e4P-_@}uB@{gVzZ!G2V9rSZnLGEL>;(j zAUPc2-BCyGX}Efb8>HghX$b%gxv@xR>eeP$;4s&U ttAsEQ_OiWU8sfA;(6F=1wA*1H#B@~(b$zNo{ei3^ ZU z6vp?Z%bwS(Kq<`p91;Ymz5$?3m9*B%lG#mWnh9nk#P%!f77qqJ=u_B$W4n^aBK%tK zU;Ggl3vg*4+8#S->rR6kmk)b3MkbrN>@+8)M>y#WEChn}B+=^|`MC1y>&6%ed}Rw6 zW!hE>B57K|OS996A0UMy*bQ`lE}8{pu9Yki@C4hZpiiLaK|!#2<&JiUI4{G}939PB zTntXgF)klR&AJkH3kE5f<4J5 n84& zjoA7^7M+y#RTpjUEf(QoTH|gsZR-;jKXUv(tz mz>1pz za|$v-pt|h3JjTv#<1MIRv|s7ooFrK_q~rs$Nwj2uY@k$6-uE`7m!pNkRhXKOp ;wn2osN`ayp4H;1|8`~o*#-ji4tPdF#T6V7oV zGe3KEhCBAh+_~TK_S-5nCM*p3Wc;&C*xE9fC!5c}d@Zq7$9&*$QmsWAwSCAZzcnzm z$aZBagJTE~8kmW=;wk;S;YHhd%Ed)?Z%a41 qdssjsn!~i=A4mC_55@5(fxZW{RCYUlDU+Hn4aN) zx4-gyp82F+E*MR=PQpsK?!pY$U6|n+mjt~3js|b}VjYbl$e-DVWwn8zK%+N<7n{dc zgIxy)ec;igT8m@LmcgKU-quY0{`(gCyYdWC)4%${rw{R_pWnqLJ9C{L5l=iP;PRb5 zKm7waUh)0~zW$Iw6}l^vTB5|3twX9d+^d3E+oS|-fCCB`1IkIX7{xHu=iBWg8AH^C zQ%r0r7Cip(Rp)c_t1jpYF}LuQaMdoKkNtW-fB3vCIc149_7>I22`!iG@a@haWy2`3 zR*wJ`h1>exn?#G+Sb7Rx&tRWF)Kv>Z3&e)=c4YYc8!zUUo;gf^$14jg&z4@rA3eXw zhkmKZ`Gb}yv}d065yE9Vy#8~CRiPdy_URr1qL!fdB-Lsd+x)p({Jb|B#9c8 +w@|v`!r~nD4)3s7pkcV~%3ePC`it1Tt^EtX^>D>@pHKW+A6K6%#L4+; zJBrqp{D7*C_DMBL_9^~-nu6BA_mXP05gN|hmW|Heo(ZXU(C%pZm#@B}hY!E{0(K53 zxtMMr=MQ^)?AHf);x34)T~q;Jtu)|@bA0{y9loh0dy{?-Fs-ex`yrVP>)2TOd%gbc z!@*Dz?X3wVFcWd%#RYD8&4p|m+?Zl+v7=w{v0v-w!fg;$%*H$w)S_;-UFdEgsKwZ2f*Tzgs1)RQhM%u#8h z*s9P{;^3y>>U3?&==5ToPQh%jc~xE C^R~Jhbn_LXB&7M8#_#mnkgN6Yb$^G*4bF z4%@yv$sTHP1Iwa-@sLZe?&EbYNGwBe*O3VnfBRE?y!7gj zZN2V<>1@?r=gS);TL!aNiuo@9iF4vH$)iAXRx>kjQ^IZDFL(z|1 zJ5ZgR*MkYJ0lp1Pw|-cxvPt0cN%a!PFxc;Jy>MGFknGv=Wl#c>4Q{+)kmsGDrp9Wx zVpoP&KE1#PU*5}`Us{AXCQ5T5*%EQ{sG3 z5cL;X6w|+0&<)_WBzu~x#JT5RH!!pP{QP{Xn=I9s9TyjQ{R_7yUWH~ObN;Z;@Be6l zPrag-%XdOpNl?^H5##%awU}y!cyf$*{3v>Q3Nv5AMj C3 r4qJYbq6dx?|8`%ZP~poQ@DJ0zOR<7 z8}|T9+|5e`y&w2eQoR|V5u2eGUO!M9*p{smuHnPjC9kE_4O=eA^UKdnq_V~t%jG)) z{`SQMo_L-R)gOBymtJOzocM}kOr?yTo+3Vah HM`{Kty!?0yX zw)&zQhf3wTN!lL#98R;xSSsj+<{u@30CQz6&$+HI+_fWn@{m%CtBlloEf%jVdD$g@ zU(sB#yU25&(x23@&sZ+s5%8uL6!1Mw6uan1W2`$NV?m68D1v$o$|daFG-mQB`skq( zO^Iq1TMr>>CbCiL c{J>%+rS*Rxdl)jZEiISGfws0qI)tE@_6=T2;)adiB z?yo%fXe|yy>mMsL+4NCMAmjoM-$J3Nc-o~sJn4c0yG8;A3ZA=GZU>UFQp_Vq8+`5l zG7leWV1|TiE-G|=6^w4-Iag%4>8Eo1#@`%5Wre5g&T`#FIW8Ra8SeGzF9!7GJ$&V& z{-VfGYiLT Y%b!#BXz!fUzNiXF|j}t8TUADC7)>#S&BnJ^x_)_tJ>J%gpZc( z1@2k;kIM;q5AX%xB}w(XP|@ne&m1m) }bJR$I8*{W;Sx|t=6EsfAHU5**(Ia5;Gw}+p-uE-UmJIUufc5llQ_^wX7n`BQt zGZ<^p8Y&IV{fDaD`)Gw*zOleJAFNVt7@|hgM)w7@<-F~=__@~)>T*pdJ>`53cyQ@I z%AMoO9=ZKF;GdK1y^vG9|MN3*Z~d>MeZvJ$J@xTLUi*{VxaQ&l-sbeWv9a)-y=6Z4 z?Ky7#@*D@oLu&IHuh);?{IZ?1&%S sr2MZW9Q+R;U?=NlaJr%QpZ>2m z*$7P3;sdjFvn3_>)i-e_@F`h|pi8(-mP9w=MG#{t9xlgzsO^y?+uo%8RAY1CNI4Fy zC6hwjbpyB=XG5Qol^!GcCr+`lTq{aY)yQl=Scw& 9}z zP2ZJvUIuPr1$W45aP??JO;&a9;c}cvC4o)a&%tt3p04Y`W8omlQUd-Km*MNQtmbaI znS?za(2N;}{LyOcPu29JNw>dAx=hscfuoh!S0ZaI@OC _1YD0*ef*bPkt~18-p!dm*c}cRm4pc9rj05uTtb zvDtdC9A`sgC)pHrH)HFuJ#w%TXX@H+^CT6!8Qjc#`)b~>+JRW$Pk}?LeBX))l*n8| z5AUCkFxF+l*`({Rv1R(vg($NS>g~Qt?JW7jz@M%5O>4Qc?g##Q4ewhKff6-Y)BXGA zqq?!l2S;tPKD1?iUnw**bv+WK7sqaJrpBt>xodq?yaShhDHSrFWXEc8&%XI^-r7xf zUbkQ@3wujpWum4BGoGZGIp{OMd)D&CwGJu-UQI%^S(YQGq&Qa9#eECWjI}Fs*=&*? z# ;NhYWlz<^Pyjk z^|lmUbBlQ=@PQ;6TCWYgm_gv ?1Q;Y3^L*+P_ zuIqj!6xx*g=RV+txGJ!TkhE=dH}HF`Fw}27C;=t(OxN|$1G6EMwK$RT&SxXzwRqp2 zxzL|(=n=1dVxGp?&54N_md|asUOoiu#O)@gN;C8{Q`2_aqw`U9A+-C??e&Ykl3_Lz z*_;mB(01ZLIcm(-^)`#-{PvY&F}Tf>#41L#NGr?X-vC>H*ORia+#vy!vC=c$(AiRG zCUzFRgClu=r*ctXo5DU3V=VDRH9m5 EeB9G@i5#y%-NSOaBIK z6qU6YE7+bu9yzBN3>E{`uY@zB`sVtu#u6=rX7*q?TByeM0s$rMEs|w`zX1M_gen&= zB~3wtv(aw?eksjPmcxQI)|R*A{ju!@e_Pg*KnZ77CC(LMEVY`p(a~}|KGV>-Yk>oAr|T^l=5)kh|3 zdPIbw4%%Pu27WE=PTC=8aDL+V0zcc1&X&WtJlsb{3tnR==ZzM86??)N85a^8J6DTs zW~#2oCTnpKWNU|0aJNOw&^|$f6ZOr&OWW1qa>UjmaAYLs*N1azTh3PtIZp;*!`s>Q zT5RTOF@4kZ_{el!_aQQxbPcsNa1-#W?dq(ZwHzYgWw?N*Uu ML?cl?6kq$hW9?B}OFXL4+9+N$R@&hH?aNe43A_}z~D@R5e zhQaxUuFf`$7aO}Z@MJLCJ%vZ#47{%0opz$yj>Uxu&I13t1O1 zzzc9Y zi@Q2KkmWdDu|I7^MJD@58k7|r#LR+Grp$!*&^r`9&j1(1mM5n zX6~&W9Z~We!r8^Q0pG<{Ejw#C+XTIs0&qUC8|Tk{1}=N*M&u6MEPOj|R^G>18Y*x$ z3wkj=Fba&|X7C$;Yk()weYvOWz_) q zWm_Et27un?-}c~U|HT14F;KyYaUK^QI}1$WTxy4LcJKjQDZ8-wYS86@LEXUr2LWr4 Urr!7KA^-pY07*qoM6N<$g2cy#wg3PC literal 0 HcmV?d00001 diff --git a/code-server/4.14.1/data.yml b/code-server/4.14.1/data.yml new file mode 100644 index 000000000..a5d568077 --- /dev/null +++ b/code-server/4.14.1/data.yml @@ -0,0 +1,33 @@ +additionalProperties: + formFields: + - default: 40031 + edit: true + envKey: PANEL_APP_PORT_HTTP + labelEn: Port + labelZh: 端口 + required: true + rule: paramPort + type: number + - default: ./data + edit: true + envKey: DATA_PATH + labelEn: Data folder path + labelZh: 数据文件夹路径 + required: true + type: text + - default: code + envKey: WEB_PASSWORD + labelEn: Web access password + labelZh: 网页访问密码 + random: true + required: true + rule: paramComplexity + type: password + - default: code + envKey: SUDO_PASSWORD + labelEn: sudo password + labelZh: sudo密码 + random: true + required: true + rule: paramComplexity + type: password diff --git a/code-server/4.14.1/docker-compose.yml b/code-server/4.14.1/docker-compose.yml new file mode 100644 index 000000000..f9794c56a --- /dev/null +++ b/code-server/4.14.1/docker-compose.yml @@ -0,0 +1,25 @@ +version: '3' +services: + onenav: + container_name: ${CONTAINER_NAME} + restart: always + networks: + - 1panel-network + ports: + - "${PANEL_APP_PORT_HTTP}:8443" + volumes: + - "${DATA_PATH}:/config" + environment: + - PUID=1000 + - PGID=1000 + - TZ=Asia/Shanghai + - PASSWORD=${WEB_PASSWORD} + - SUDO_PASSWORD=${SUDO_PASSWORD} + - DEFAULT_WORKSPACE=/config/workspace + image: linuxserver/code-server:4.14.1 + labels: + createdBy: "Apps" + +networks: + 1panel-network: + external: true diff --git a/code-server/README.md b/code-server/README.md new file mode 100644 index 000000000..9ed85ffdc --- /dev/null +++ b/code-server/README.md @@ -0,0 +1,78 @@ +# code-server + +[](https://github.com/coder/code-server/discussions) [](https://coder.com/community) [](https://twitter.com/coderhq) [](https://codecov.io/gh/coder/code-server) [](https://coder.com/docs/code-server/latest) + +Run [VS Code](https://github.com/Microsoft/vscode) on any machine anywhere and +access it in the browser. + + + +## Highlights + +- Code on any device with a consistent development environment +- Use cloud servers to speed up tests, compilations, downloads, and more +- Preserve battery life when you're on the go; all intensive tasks run on your + server + +## Requirements + +See [requirements](https://coder.com/docs/code-server/latest/requirements) for minimum specs, as well as instructions +on how to set up a Google VM on which you can install code-server. + +**TL;DR:** Linux machine with WebSockets enabled, 1 GB RAM, and 2 vCPUs + +## Getting started + +There are four ways to get started: + +1. Using the [install + script](https://github.com/coder/code-server/blob/main/install.sh), which + automates most of the process. The script uses the system package manager if + possible. +2. Manually [installing + code-server](https://coder.com/docs/code-server/latest/install) +3. Deploy code-server to your team with [coder/coder](https://cdr.co/coder-github) +4. Using our one-click buttons and guides to [deploy code-server to a cloud + provider](https://github.com/coder/deploy-code-server) ⚡ + +If you use the install script, you can preview what occurs during the install +process: + +```bash +curl -fsSL https://code-server.dev/install.sh | sh -s -- --dry-run +``` + +To install, run: + +```bash +curl -fsSL https://code-server.dev/install.sh | sh +``` + +When done, the install script prints out instructions for running and starting +code-server. + +> **Note** +> To manage code-server for a team on your infrastructure, see: [coder/coder](https://cdr.co/coder-github) + +We also have an in-depth [setup and +configuration](https://coder.com/docs/code-server/latest/guide) guide. + +## Questions? + +See answers to [frequently asked +questions](https://coder.com/docs/code-server/latest/FAQ). + +## Want to help? + +See [Contributing](https://coder.com/docs/code-server/latest/CONTRIBUTING) for +details. + +## Hiring + +Interested in [working at Coder](https://coder.com/careers)? Check out [our open +positions](https://coder.com/careers#openings)! + +## For Organizations + +Want remote development for your organization or enterprise? Visit [our +website](https://coder.com) to learn more about Coder. diff --git a/code-server/data.yml b/code-server/data.yml new file mode 100644 index 000000000..ae1bd7aea --- /dev/null +++ b/code-server/data.yml @@ -0,0 +1,20 @@ +name: code-server +tags: + - 工具 +title: 在任何地方的任何计算机上运行VS Code并在浏览器中访问它 +type: 工具 +description: 在任何地方的任何计算机上运行VS Code并在浏览器中访问它 +additionalProperties: + key: code-server + name: code-server + tags: + - Tool + shortDescZh: 在任何地方的任何计算机上运行VS Code并在浏览器中访问它 + shortDescEn: Run VS Code on any machine anywhere and access it in the browser + type: tool + crossVersionUpdate: true + limit: 0 + recommend: 0 + website: https://coder.com/ + github: https://github.com/coder/code-server + document: https://coder.com/docs/code-server/latest \ No newline at end of file diff --git a/code-server/logo.png b/code-server/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..16bb3b2e4424596547e3fb0f586f1e550fce6c54 GIT binary patch literal 4492 zcmdT|hd)*S|3@M+vSp8qa?OluUdhS|g^X)fu03;+@v*X3k?ooxncYjc=C#Sp-ch-( z%eBe+p8kv9?>rvw^M0K19_KZl&*$sJ8X9O(Q?gMK5fM>8(N;GGdgQ-$iwrm`e ;q$0ScB4-Zd+mf>6isSJbX zjVMqO|A>0(Hy$3J{B@F_J1-w4>gsvw{QzlpX0FDv@^d{`8SGd zl)$@%!wFOjeg96a9C+yed)HTi6KNs3v(ir6YAyZ*YG0_DqgrTadrDYim2>BKM?)Q+ zoJ_m8xM*uPekG26|DJw0n`z;@iAsapf@x%AB=S6~)3zf|5pD>DCJto`8NTpmD=p2i zm0)dd(pfVs2&k>CRrNi5KAd$xOU1e>`bHl5+Rly`4u^khX>mB*9Dh-3tMbEH#t;9O z-rU^$b->XlNolPI>6GT? K%b#|CQ4yDYftIKm;D2)drjOOCv!gJG5 zHatAMM67gyl#J}>YA5LQ{QL=&Qk-$q04y)htE@~tGBRSEF@ev`%d2~P;{L6 5_4miJO1+Hv@yb&zY)92~ z8&sj2l6ZRRU!l7iN#Yi1T+tm#!B8UhShhDg^pciA(_1}EwrgdDTTDz07|u>ZL-Sg4 zyC9Z{zu7y!y1JSsDk{pb(xafFf}+u5g}GKLWMX2%>y$tT?6lAZ!qnB(rPtQ3 %Oj%i3^;xeJeSQx=3~i{b?bsOjQ0Km6F*`d;*c##x zOcNf{1WbCMA}H{Rss8I%jdD#eSp@Oi+}s#UdbY`jyv9LUSy|(=4ww Hjcnsf7N+g}1pC5Yu`r=>|Ja4amXO4GF_24 zn-w~pcBK&>BRRu2uK1(cJ=aLYtiJIW%PhjA;R4F-teYxGRUin(-%y~jz6uq(cR2oK z+B*);G2GE9whUotVG$P>r&B)V43lP)mXpKu_L3bR9|Jxl934pxiAcu-J1qI+t`-m= zFU_VOjUOBw^t=FHUo9;z-eG2bZU2U|^7H5Jbdg_0hoW%61S9#%BF@*7pY$>B1>!ZZ z=ND%OF^P!`r5;Vil1O#rJoETpcPF|U;8FysE+uu$18G-HYh!0;*TBwj7#0ZFOR#$4 zrbR1;Y-w(0M_9K8+7VWX4)K-Y@$t7^-MF6;%gH#6jd_yG$e_wUe^#@!%;`?2r}R|> zfj|=88@Cd;AzTi<31N+m@Up&5Uxl=fAB$=URQvn;n_D7ul!wo@x3}*wFhtDGnxk2+ zUszc1fx)buot-b*g6;x_NXc)z-P6; 8-f79j8Qj6DGm&P-lS0g^$FmZA53!F_3VM13tcH+7} zl|S`^52+%2r`r(`Jc51lvHju|32=ZB>lbJAl!w;=)i*A;Dr Mn$^5Vk^$NL@@0_d*~37Ks)ot6(cLN_ z(BI!CHq&8YnL!z|j6;F1N%{DZOjj4%t^ih0;1d?UrIoa?I?j*P47Rf?L?2@b2M0an zM#Y59aeg4XI_Bo?y1Tpk6IO}2RDy) o9AGXkE*$dStPx~;D;|&aEE`-qlQ H!v{h-CMubbaShEf_gKxhKa5NygNHTuj3t3sLW!v z*%o|WRKUYMJw1(10*uZf>v47K*RMSBkBuml24FRM1{Oky{l$-pXPJs{t{R6(X@_1a z*V)=O-QY1M3tIsD|7&mOMx)WITl4HmNl6l{RAaF0J8W!&BEt%KH0*Nj-OH_6xyj?s zC~aL`%-(w6-kc-iXB3O|YLKhCI%!dHap4SZtTN+a;IXf&ZagzvBAGLaZE9)?27|3G za@(Ar>_!(C^P7Ho;lAH1=WRD_220n8YQMzSu*!*XVBS$j8CPt3BY?GTvk0zt$1(_> z*f}~zBawNm^6$?D#qyd$E)_;{&xp^?&V=vZr~4JZvDz6?2Q!l5 DXv;e!(iiZX z`j|d%PEL;3pAk-ELqnX(+Xu{N%Z9F6?ID*b`T6gLhg(?{{l2W)jSLQ|85kt-1TVF~ zX$J=4)tk~~JXcj+=hNbfwGIgTL*ln5{v2W_QxMl4! $jITN5~V9=-t7%O;m zdb|*<{q$+ybk&01GWhjGi8lKB>YT((h n_VDU1fS%Btk+$sh_t(>RZ)B(shFVVuk#FrJJcMCmWPu2Gd0rIB^fs zbzE1j 95itDQH9I!bjj0#5kJ=Ewqj;+XvLs2O$TK1?)ioiA3(3Vn+3gCLX@^Jgw!I#^g* zre-%&aEH1EC5WX#F0le%Y}#pd(HJ*{oY4r uWpf(&E(}J}aU?W0 zFllg5XE;}$;pR>JZlax&Q>?tt?^}Ltxw#xKUwb3Uv2mN5Fm+9XZDbw_CG+ Pk+j*gDAb90Y?`3nn)$s)p@g%)ci|AgLPnVXAF$qT;K(9l325Kb{}+7XXvTbGIC z8kY%&+wmzWw&<(BI8R^SjW=9oW@f{A=gBl48VX=AVe8p27GBu@U4anAq60HwmVd zJ%FmK^;l^P^(T2;Gjm|waTVF#-u|S|t8~g)(aO#Y3Z*9M9~tSLN8u!b|N4Tg(J?d7 zgt@Pd4ktS`FGEe3-hb&G`|8+tV4?1dpO-=J^|GG=Y!Lu4_>r~T`u6s`jTw+{_M`dA zF$uZdxK?2Rzlv7&)7a-ofym}lP{{T mY!@)-;|_8<||ZK}Pjoa&mIN$w0I# ziLxK)g#BWnF*FRIh`1MtXcH3?UjE|CtnbH!0G7h05BdcW5fSnz7iVWF1^r8 4S8_!Fq!`SbVp9)rRQ%IDVngYmcuH-%duuA?z))&l|6Lf}M;$ z(7!4w;!CZR H~+fG|``>XcU}*t}4pQ@6^#Bc;lw^4e&24^k?pxlg u()?5Qxc>WTpBB-_7rz%A~C}vz8YZq|XMCK#hz#v2!h- zKRb`ONamAU$&E-J-%FB*D8dpzBvn(+UYlcU1`DrVy^6I-xJyCJiK$rno`Y}S)rfK9 z-q2(YBm3`rj@;uaQ}#=AdHJokCp-AwxDC;J_aYCb8`9H9M_HTzHx!TC&Lgp4zwOzF zHue@4764bi3pn^a EUhe79C;)6^I;6$U##ZaUNB_nA zfD7H)3Q&U)6e@Zi%V=W*VPp(iar=`a x<7*ZJ~k_gymUy|jbrsa+{sWb*RLf|{O<7KAkR&s(uqp8R>A_{cF%^g@GH5YAo zc+lP5ZQGZ`iI#PRcy^q!U^_Z^(IcTJ)q8zS8)~MHX?#AWrIEgU`_^@-nOam-H2kR2 zP*}pg`xeL|Z8(5 +W4nrr zkM}y dI-iwXp$%?*)m9re TZmu?FKelp(HVYs*v9hQs0Nyw=H~_iHST3KUava)z9k3ev=E+7bpn zl<`0y?HE5Jqi6me{{`$WD-R x&I;8VVF2KY!ZSy&Rzbu*@t{QeQ6u_9yVr za4K{= yu%jrJyi3R*b+KbHUh{!Co4{Mvo2P~EX63jAIndZJ;V JUae*u{y!Qznd$%l literal 0 HcmV?d00001 diff --git a/memcached/data.yml b/memcached/data.yml index c0648bdfe..90956d96a 100644 --- a/memcached/data.yml +++ b/memcached/data.yml @@ -16,4 +16,4 @@ additionalProperties: limit: 0 website: https://memcached.org/ github: https://github.com/memcached/memcached - document: https://github.com/memcached/memcached/wiki + document: https://github.com/memcached/memcached/wiki \ No newline at end of file diff --git a/nginx-proxy-manager/README.md b/nginx-proxy-manager/README.md new file mode 100644 index 000000000..20a6c792d --- /dev/null +++ b/nginx-proxy-manager/README.md @@ -0,0 +1,122 @@ +# 使用说明 + +控制台默认账户密码 +``` +Email: admin@example.com +Password: changeme +``` + + +# 原始相关 + + + +This project comes as a pre-built docker image that enables you to easily forward to your websites +running at home or otherwise, including free SSL, without having to know too much about Nginx or Letsencrypt. + +- [Quick Setup](#quick-setup) +- [Full Setup](https://nginxproxymanager.com/setup/) +- [Screenshots](https://nginxproxymanager.com/screenshots/) + +## Project Goal + +I created this project to fill a personal need to provide users with a easy way to accomplish reverse +proxying hosts with SSL termination and it had to be so easy that a monkey could do it. This goal hasn't changed. +While there might be advanced options they are optional and the project should be as simple as possible +so that the barrier for entry here is low. + + + + +## Features + +- Beautiful and Secure Admin Interface based on [Tabler](https://tabler.github.io/) +- Easily create forwarding domains, redirections, streams and 404 hosts without knowing anything about Nginx +- Free SSL using Let's Encrypt or provide your own custom SSL certificates +- Access Lists and basic HTTP Authentication for your hosts +- Advanced Nginx configuration available for super users +- User management, permissions and audit log + + +## Hosting your home network + +I won't go in to too much detail here but here are the basics for someone new to this self-hosted world. + +1. Your home router will have a Port Forwarding section somewhere. Log in and find it +2. Add port forwarding for port 80 and 443 to the server hosting this project +3. Configure your domain name details to point to your home, either with a static ip or a service like DuckDNS or [Amazon Route53](https://github.com/jc21/route53-ddns) +4. Use the Nginx Proxy Manager as your gateway to forward to your other web based services + +## Quick Setup + +1. Install Docker and Docker-Compose + +- [Docker Install documentation](https://docs.docker.com/install/) +- [Docker-Compose Install documentation](https://docs.docker.com/compose/install/) + +2. Create a docker-compose.yml file similar to this: + +```yml +version: '3.8' +services: + app: + image: 'jc21/nginx-proxy-manager:latest' + restart: unless-stopped + ports: + - '80:80' + - '81:81' + - '443:443' + volumes: + - ./data:/data + - ./letsencrypt:/etc/letsencrypt +``` + +This is the bare minimum configuration required. See the [documentation](https://nginxproxymanager.com/setup/) for more. + +3. Bring up your stack by running + +```bash +docker-compose up -d + +# If using docker-compose-plugin +docker compose up -d + +``` + +4. Log in to the Admin UI + +When your docker container is running, connect to it on port `81` for the admin interface. +Sometimes this can take a little bit because of the entropy of keys. + +[http://127.0.0.1:81](http://127.0.0.1:81) + +Default Admin User: +``` +Email: admin@example.com +Password: changeme +``` + +Immediately after logging in with this default user you will be asked to modify your details and change your password. + + +## Contributors + +Special thanks to [all of our contributors](https://github.com/NginxProxyManager/nginx-proxy-manager/graphs/contributors). + + +## Getting Support + +1. [Found a bug?](https://github.com/NginxProxyManager/nginx-proxy-manager/issues) +2. [Discussions](https://github.com/NginxProxyManager/nginx-proxy-manager/discussions) +3. [Development Gitter](https://gitter.im/nginx-proxy-manager/community) +4. [Reddit](https://reddit.com/r/nginxproxymanager) diff --git a/nginx-proxy-manager/data.yml b/nginx-proxy-manager/data.yml new file mode 100644 index 000000000..c0dbf64e0 --- /dev/null +++ b/nginx-proxy-manager/data.yml @@ -0,0 +1,20 @@ +name: NginxProxyManager +tags: + - 工具 +title: 使用简单、强大的界面管理 Nginx 代理主机 +type: 工具 +description: 使用简单、强大的界面管理 Nginx 代理主机 +additionalProperties: + key: nginx-proxy-manager + name: NginxProxyManager + tags: + - Tool + shortDescZh: 使用简单、强大的界面管理 Nginx 代理主机 + shortDescEn: managing Nginx proxy hosts with a simple, powerful interface + type: tool + crossVersionUpdate: true + limit: 0 + recommend: 0 + website: https://nginxproxymanager.com/ + github: https://github.com/NginxProxyManager/nginx-proxy-manager + document: https://nginxproxymanager.com/guide/ diff --git a/nginx-proxy-manager/github-pr-3027/data.yml b/nginx-proxy-manager/github-pr-3027/data.yml new file mode 100644 index 000000000..586774645 --- /dev/null +++ b/nginx-proxy-manager/github-pr-3027/data.yml @@ -0,0 +1,40 @@ +additionalProperties: + formFields: + - default: 30080 + edit: true + envKey: PANEL_APP_PORT_HTTP + labelEn: HTTP Port + labelZh: HTTP端口 + required: true + rule: paramPort + type: number + - default: 30081 + edit: true + envKey: PANEL_APP_PORT_HTTP1 + labelEn: Console Port + labelZh: 控制台端口 + required: true + rule: paramPort + type: number + - default: 30443 + edit: true + envKey: PANEL_APP_PORT_HTTP2 + labelEn: HTTPS Port + labelZh: HTTPS端口 + required: true + rule: paramPort + type: number + - default: ./data/data + edit: true + envKey: DATA_PATH + labelEn: Data folder path + labelZh: 数据文件夹路径 + required: true + type: text + - default: ./data/ssl + edit: true + envKey: SSL_PATH + labelEn: SSL folder path + labelZh: 证书文件夹路径 + required: true + type: text diff --git a/nginx-proxy-manager/github-pr-3027/docker-compose.yml b/nginx-proxy-manager/github-pr-3027/docker-compose.yml new file mode 100644 index 000000000..7528ee1df --- /dev/null +++ b/nginx-proxy-manager/github-pr-3027/docker-compose.yml @@ -0,0 +1,21 @@ +version: '3' +services: + nginxpm: + container_name: ${CONTAINER_NAME} + restart: always + networks: + - 1panel-network + ports: + - "${PANEL_APP_PORT_HTTP}:80" + - "${PANEL_APP_PORT_HTTP1}:81" + - "${PANEL_APP_PORT_HTTP2}:443" + volumes: + - "${DATA_PATH}:/data" + - "${SSL_PATH}:/etc/letsencrypt" + image: jc21/nginx-proxy-manager:github-pr-3027 + labels: + createdBy: "Apps" + +networks: + 1panel-network: + external: true diff --git a/nginx-proxy-manager/logo.png b/nginx-proxy-manager/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..e4678081a5329202118a04ab73fc94c2131e540f GIT binary patch literal 19892 zcmV)KK)Sz)P)
7Jf_WgQR|Wf5O^L0`ZX z6a*FA5f%5JFd!fZDx$cdqQWQ$i25R;sJx17g0c sH-+tE#(aroPWp&-7H?j2oHx&Bznye9t+es%&8k4;Gm7J%KH3VI#3c=q)^`utn%C zJgDH-JHQ=Bp2KCsMe05bJ_+NfwyI3jPhrF&D||*pP=u@IPEyPoVC>+N?w~VeY5!>Z zzW`RDWytO-KnqyM*Ck`-Wyf#Mo^kuXHh!x(Y(Bc;3HAU5yee0ZmKjeIT4CjDE(Ik_ zSi;c+(!uvgA~~uljp@e`vLVD|D}K(lTFhN~fXbd-xMp+U?{flGuS~ZTJK#0iTA?== zPXRuG;VoHRzcqON6XCCcE6?-19< ^;TeAuz_ m);Y=>`Q4Qvs*KRk~}v|k5G{TwKUnLfYk zGL}3gPw4a5hb*=Ty&5_J7x+5h-+=c3SM@!P>hBmQ*NKtuMLFE((N7_oHE#zFC^5jY zg_W^I=x!(|INeR)Pl5jdo<6`RA40hS$1ixJ6IrJ36Sx+5150tro*?kzJm{S*A8wSb z`_>g(7iKvWNEAu|ov}Zc-<{q`CO_7;eET8b9leXG)nbkwYo7l*@)%Bh*9SMiH(9 z-nZ630tAI>?r}znSB;imKb*MRGY!ul;0z!1*djDUB3p$ag{C~q-&43b|7!7f!i*im zDnv2|AZPVAejT_G {+lfTbyD}K-)b2nfWDJ^o> z5TkpBNNm5tXg8r;gXIlo7_ RFRW!H@lhpR@*HZ@{vxhLqNhU#f7v#&SjB0aG1&?a *NLk~RIeRTOEV K!HRj^jC9xI3I#)s`#>Rdhdk_GK1)O#_} z%y}j2(gi;7@z5o-RkUh;D8I9CXMSh;E1_oMitMx(H-c^d{4?-G;A2vX=0)>!hU|7h z1DIjJ@XIK70KWkI6Y!2kBOJ)Gz}{Uck9yb;2lf}pvOuNjXBB>7U%BwYhi@B}z2$<- zLokirq`4*Fb;R)d3kJI=4}3f{37zUUYt?)@yS4ZiVcPANf+B|AWM8Sk!^VfXe6)0@5jexV=oMF} z@-FrA@4({+IjILS9%_WX0(cjOkI<6G69g%Qz8SL&V`8JdoZTrPAY~p7{3Gyw;Ne}4 zD*>+;;r2Y&=T>Xp?A@Dk^+jdM7@9t8&%2u!y&>>a;M2g{fQ!~M)B_0*6+#z?`r|u* z7ofDQ;dO^7${5f*{*NSp^83KEdp!Oc;C(2&GOsiUWMM yC^*qlW9i!+`%w z+??JBeEA%G?>WPRk ;}&5yyC%RLt6$ S`vwE>2UETVu0tzq37fR z1M*5St-HiFexS!=E(l!EgciVyq2^KwKL75^=1$&L$Xjp3m@>UB9dp3X0gpiW8vx3{ zh>$mxiKzznpQtf0-K3cX U|`CC%Z3WO7~d~ uD`nX8`q&4PrLEwTUbSyI`)LjC|qxV&2K6vfS(ZAbPpSwPi zPCB6sPj_O!gP0xi7L*ul9)ZTBGVv+p;Ae9t=bHpo3aKG+g0q4Mk0iRpZX^1jZzS56 zac*UhBI=KcZ+^i%E4x>IT)Wr4>x92wL6nC6J#a0CH fRKefE@WOw`o@Me&*m^xzekT>>)Y~gCj8@r8|rif{tIZ%t3LiWb?zb~j_jTa1| zYpn`Ln{xz{Fq$=9vZp%x+R =`+@rLrk;v9X5)(th zF9m)?m8(KfMur?a#!_D>SmSe*U=>q Gw+MX(oN>%&HBMEhzU87u<#jvj^N&MAWL|Gu{{~Tn^DdOQ z;tfOn2%PvrpgIA`5ZD480*(^hS}y~3b_P*}EDtzq!nV;QY}=MtQK5B&;13I0$4ZIi z8?Ke0M9JvufhrJ5n}N>C(#9{oPo7KkgJ0jnIYwd&20?YkYM8V_LoBJDIj6(GTY%rE zvw7?SksQU)nEHm7`^N4!m}Cyb(}&CDleX1*<=mwQK6W7x`hu{bbGSAY`?uH4pZb@b zl~a#H1Z+Z&7xi;QoA6ygys-i^Ur`SJXP`a{#qD5IIyd}hh(Vawv5d?BB2Y*SpyuRk z!yP@*$QoakmcQK?4OoeS{k68ELiEJkLB|u*mY8aV7!t8O4)|AMl58(z1~3Q?1K~(Q zxIeMvVkxbdU2}jKV7Z+rNIDxTh~$WAf+nEmjpC}`jD*R){D;aDRpg^; n378-aX4loIj)-{*+= ~o{2>iy1 ze^C(IUgVW;2fj)_HRv`A%6FjM-wfvnzesdPej^BCny4l;XKz6B(wQwMUP$z241%kO z8{`kO%;kA5a4rdb3DHFODC?^w@vZc>di(+K53FKdoMSZT?pHpSxSpu({$&6$4TOM( zlobM$HxdI=gW`V^&8t5GcC2HZo^dV+-H~ G*5>-??
pazbF8k|EJA-BQE)z3wa&BgG}hjEznmCaUjH`k zAp?ad5BM_h%r!pzPS}vQ-eZWut-qspmu1h`XhQD--b$?2`Lqoh^Sg;&g4OVc48DQc zLR H+@QXJK5K2Sh7BO}qTTiLL_6sv>mPFwKSoUITn+DJN&j%h zlrAXrTETx+h_I3>aImq?{?*%vnv~V>I-)OqqwsPfZ(iJ)(|Uf^O=v-$of!8ekT &cQ){EB1XQyuu%4*Cw~BY6GxB;d54@ZHGr||4 z3P~y?1;H7k={h^<7Okgf(IQ1G23 5GE7Nk6NZCTg=sS0Zih0U($k6au+BxogbSiP^u-UDD<9qdM0kd zaih+0OlRa89B(9UUVDNnI42ZJhHAz8`|hrh<UAbeOS1YFi;l7D7)GQ=ni11*>|Z z;liCWqdJ^l%oT38IIOK}lR!Y?XunH*>z)P|G9+?FK<~+H;qrxa%vVRoG22tMB{3Q> z_}+M>K+y sEW@?W>6-_PT6+7Rq-LiDo{v7yWAoj90sygF>KjsM2R%}s> zEuxi5=1 q}dE@a` zNkEh^v{2Bo*#c?98t;MxbJn%#T;$cvwNCTRrQE`^3EjcVh@{_s+HVyKC4({O b7fh` zoGn|Avx+J-w22B~kJ%9}GyB*sqqe1)w8#+ThZT9d3mGotOqX{tJ+wPs1XYZN?>6fH zt}}1V6iLOKF{ftKiCAMb4~xq|M@d_ 6; zA*WyyKUNqGqlIB3h|NMyi1otNu@F)@g{5i~BYOHBem*f|iaLW`Xkuq;XemJ&Ii}kB zDGKHfC HIA~+{xS@6^IEuCG+#Cx@=Gx#JB3|g)xVRW`Y zx#}c{8t+!UCdyJsZ8@ TnEVJ`9hXo6OZp`ao?)O5B+FjlnQ@Zr>KlZ93; zsanQn3t@OZH7KTSUJQaiCI*jIE=;pJp*wi2G4lEl^jnV~X>#;nQ?q7}V%cI0Yi@9x z-UEbPrIO!2G9=py#!fd(xO1)?4p)j6FlDzoM+6}!r>-rArIcT4_vwDNCqk$n9l2;< zH65FEp@my{pLB>bx(H| b9fYt4@xX;H~*oy&3K|DJ4YGwTXNt5+`Va&Y#FtzM4=7 z#^gyr2XlpenCRyE{HmYofzTq577cgaQv06!?x_FT$f&*6CDOB}Mu=q?8a`(@!IzS~ z+5OdBX)Oz8$a#$PeyIeZNsCr!>R!7$+dcM#wB<@)kkI;?RSx@F;4^3aRwJ=XmT+<` z313kRc`#)wi)PUoSQnu;HT0br2Z*$M#fo~Pq;zo ^Z4R{Wc&+K{+Bv=S8?M3Vl= z43OnY5S3w*8k>p91|##GEH(UDoy>he6++;Bg`&C6I(fNjJL9F7V~Gz%**SuGIk*6s zw`L^qNFQX5V<{;KB@&sH1~p?ct2~w%Sm}n(5;J5@hs2T*Ca9@Yau) zD|&0mHVBMa44nK1v3~TQ z_j7!-)C^?@&V+T6Mo4iu4Zcmkp9H>bl>=S|OszOC6ZbN!XRoav=R0EsR#)JC9kDmb zg@AVu3HAmCx+eqO#$&|I);F?t_ g7Zn}X=286H@peh zcaG+=5)Kg)OgkAi{lfuxs27ouE6{2b(GS?52x4NxwM5_b;OW)t$J2-z>)r4}=V~Hn z;(QW%HB;hBV!F`zfF}xYt|4kg`iCX1V>JlJ6`eCs9w(eA;_r57)hrcO?4R3tdw$mv z%m1D)yo2r~d+(zEqLmwh^F`=G#B{7~7>r2k$9stzzQI;NLri1HV|lMIDNvVobD|a` z0iCz)`f~~763cfDb{Fm^+N*=VLDq*MVqwZ|I7 |_H@pD|LV`QzxVmT z-F+V|ET$FcG=!7wGGAut_nnnkqV|Mv!s72r2@?)Pp`dhg%&visjsIenZ2YyWhinXf z61c3(-%halqO~bFCxkvjGBd&IugX8^`j?LAb>nc7sNep2PH*YZJK7zV5Oz0{bNlmy0XUkO{e`|M=myQz~kkA znlKX_MadcbdH(?LNaCh*q3@$RW< msxqt4c%Y4I^ld>8yD-rw6%MOl3dYT^B^thUT zoynBRONYrHy)$gvQS^D!2jAG7iVhpv)=hw144H8Z wcFu!*=m%-SPP&%+*i%y(1UpyN7q1R8rf_o9I%v(WetVQ}>uG&>BftI8er90ps;^ zwe7_(&h0DTkP3G1XsXrmLYO;N_09Q~v565AWx*SQ4I#7uL4<~Jq``;%m1*5wpF=`s zu?g5H7c T{5?gWB{QV#zG@(Cl6(7Bo`|g<)lO_WcJ?ad(ElZDZg)IU$(ux-3AS&rEMv5mkyH`ET$De evlNGQb zYP+U&h!S=*D`8J *36p#x?^akzi4DHqlHnMg-r51%Uv^U6R(xDmNW72ZA?63 z8%Z@sR7Z*TATA9GVg*;UWVPHcoT!G%$+`)-T34`#5iVyywcWZ`=*(C~vnG41GhwJ% zHHaA8iZx~4+4+a24ztiCU1&lGXyRVxw-*sb<>qECw`GR;;21G+wT`QDH*}1FPKydd zY)^J0>rukBJt{gY=v@2z2VRi{3duM|X8T=%>fU2TxTsuaTcN 7_GQt2$ z+UJ0$gMOcp)~^RmFRS|9zUjvVj5TLJ0H>koiUbWZRh@9N^_j3|c#q#ZyjKdry4k&j z7q-UIKS^piS=r(mzLS4APb`-C?9S!Tpk&n?lNh`G@-b81Ui9 z-`?~s^*`w!suxMo{JQ3&-{Eg>y$j8M6(h5K4+EqYoH!;YujEMUE*9*a6d1!`Pur-i zwn7U5BRPtYg`uS8_k7uF={h4#WXUF86M~RyPAhLRqQ$V|aW|OyBlmqN^Z5-Z*eu|h zIl9Em=M&AI6=Bnu$S`-ZcBnevy2@HJP=@@vSLora*-lMfwbIvDIkO35vdEC F)LBbGw_r)R=l%5z2h%p%&($;BpjPYo28$Yk~|;fSBY6JJwt#j1Tv{JBzw40 zujL3I<`lQ$DB&os>d!QiBY3 ?A zpcu(8l97iZHNS^Set??aOBROXYKI9OisBbQuL6+vRV4i>3O( zW)u2Wq84o>tX8ySQy~fD$AnOg|Ly@lP9)YZZR*5UMrXs>j_`Gd05uI 7@vh(Ryp*BH~>*T8JEd*>|6v0U|OsuxD}^p z#o#B4m?66R6=Lz+ClMvB-EPj>P@?YH={j}X@-;~KH?g(%A>q{^x3Bc6PMOrpU4di1 zQ@F7^tp#N8i3tRcG#gll+SJOjVrtzMtQs-UcG}-nl{86k)=8_S3>sKjH=#>A5&|Vm zH49iV*wYsMuXZ_X8_Kmfjh0s3cz-l8 xMPT2*n* zGF&RKP;GGAy~kRoW~(7_gJ})cP3UCE(JJr2&ept}si`zFLt=&agx$IL!A|;ATs*HP z4Jo-0jwG2s?u<5!lVXTz5=*{^HEz6sw7}%5**33@15UH?_FY-I@S^yXP^+Lbx1y?? z@c^EQh4#JfsQEg+ku|49K_L?#j$749D|m6Fs%;T*M?|&8qav}7pvg3E?(x~e)#UX( zPE4~An`Cx*3jsMwPTrpMDnwN ?v9MjwHJ7#C+Ymy{(z*2)7 zKxoYZB7)yBl!TFDuroF9W^0aC4%Qr6q(RbVv{4W))2Rf1%xRdnmPCz|7i$Q2x@xa- z;|1D{*VPaCP`x5(b5GQmnkK8}_=teXmoysP=oyFTtlynaFV|nMeB)!yjiA#ugb629 z#gS E>6+PA!8YOH2*#8V9f4aQ)C z5vx(la3-e&@fni02<6edwR1oD*e(IF(x~GS2;P{v!xdAXZZf)ms8kqEt`0$OM!`72 zm{@#L;m}aIh&96f$ELEc-h0d(o18U;#4$EfW<7$rjmcP1MVdKk#pHWNj2|iDrmGFp z%#ULQ5+xk8gsFBt3YAO3f{AauQdp^SU*|@5NJRX95eSH_qag{Qeu;+W#o&txra^4L z-nkFmF3Rd!)YE2g_HQ~e)y_}Mmg(#R96{$zB=VfG7=)s(G@Z@^(Ro1H=NtC{##PWz z^v(I}$tzb%$ja8ZD&jilx6xZYX)iUwc-3GqUc><6qD;VJvId$Kee0qtG~c!tO;RVV zMl2NAo{zDDDLe9}XZoIbY|$P-_2yP1=b~%2v-7fXvWCZq963HU%UAC?ruQG4vWS?m z;Zl5ouT%ZGu_;(y!RKhfl3g@9BYBv>2?WJ_se#T1v}r)tFHU<~WEK;j$iZ7oE}^x{ zYvTYR8?$0sf~~SSH+n@ZC! c&?cC?{9sBXcVJlfvq)}@}r_Pv@f^DZ%X%_YZ zq+*#mxxkUy98L{cmLI?UzT;HuO&K04iZupZ@1D7h4JC93k_Ql`F`}5Zp4e!tNfF)c z7xg)$1vN;>L+x^}jRPs-jo6O&=e#(lqN$Lm*E!n^N0LNaI7u}o0`z`&1aKmGP<7gx zc@$ao5+{<&xg+vQQ&JavQ`Oi!KX6UR$9E@^w~T4F7mu|R_|X{I15hp|9GafxOLrZm zU>yi2%7wHwHd0Pib=|A-a%>8r0Z>lGbSt7>`t 4-g26O6PeeW)7OQhM z(}q|X3O!piXF+nK`6zkq;?72p^Lu^*8YH-)`k_%wt7!;*%M*71grFpeWpubiyB*y$ zFr}&+Ub}EJ11obtT&?B;ECg6;uQoRDs3v2TM(gJuif)jf86@rxqRa6@I6pyDk$hmO z={SH7fwD~~Sc{L{(Q@d$n0r6iOhQ){zaisH5zvJo!r#K?qXcbdk{HbC59$17eBovi zIvTj0Vlk&@ZJ(<$Ra-c}SiH}Ac7oXYM7v$E`789w7`WZk79LPo?M=MyzUM1pGYP## z+AW;ZtOD3vLa%04obOf`TR1mZt#;t1s9QIaSVO>KLMqFHcx%W9xA36BYIgFvvdz0; zGYK6-C^@nEQAw6Rlbf=`-NFTjMc3R4PRLF1bZsV~w*isRBN9oSFPc=deT~%ilt@vL zLaNw=L92pqC +zu^+tod z)uPpG4*T4XZ|uAyHa7IF?Gc9z%!P|&G9;vu5!#{erN?LOet!y51T5+&@%ce3;S>f= zSgp)>vwL4|ckU6=vejk-LRed0uwJxPb>h%aF+nFRI%5T^DG32xO%l2sZDF`B03l$n z3Ao1!cCSfy)v-gyXVVKIuQrT`7#UFP-XG$eq*ViBgWq|v_d72UEe@yBs)K4DI(1@% zG3YTxP@hpqQg-j&iNj!w*;%XBMk|#HNs{24+b})H2FXW>r#NE3Yml$DjC?iQP9^NZ zaSV}oi_=BI9b0WINq_ zdy>b4d$>Tspz|zu18J6nh)KqVj2$ZaY_{U_xvGR#ZcSo)e-o`mj%X)~ bX~96braf*8Nw-#xi$0Loe4oLqo%WJ?IX5=h*-M5_qG4q5%=dftT@CU5ue{L zggKlP5E-Vcf=$vQXfR=B%IN%TFuV3*w(n}^0jwO?(U3#4$Ed52;FK_HeVDN5g0bRM zq@-)9>dr_8Fp5?zNFaHf;%)%5%@P)f9?X?=#Y$-9h%vUXa~wBZ_SwvW&lhUeN^qU* zkCkA>U_%aVv$t!;O7N&l)n9Zae*1pWq|g@apYCH_0iCx|p#9LAJP;D2jj^J(hEoGn zj1TuOozH2&(KVPSGS0K!L$FPZt zx}}?aWtYQlC3-r>0V@_&C2QR( egO=m@7KrcA9`H`dzoQ^CJ^Ta#f;2uuA>mgD*^ht-Moq8|@{ zMW}(Fk{|^{(zC`{9jagqQYgliIbS8^E~lMWXj!$sw*gw_B|2+ IKk>_8U%rmvuIunwkisWWWx!; z8Ek8jhut#%VTEFjjYb2TSa$5(>4t}LGwA+){U*n-iNy|AzP68A;dk4Jl{O!~_?wQO zxqxUV$93Qd^{{a&MOUEC(tW=!3SK^p@F OTp%Z0K*nJ|_-4 L4(rDTAF3K4r+32wx;3+PT%Rj zlvvu}XE>jl=m0X@PL*2ihA+K+-$HB_KUkB_^`TDeFm*lf{?$IHKq b2kLu@a$bCbVwZFnFB8PaHi^o9vy8|ANK&^F5b kx0-hwf^%`s9|FEitXO~Hz=PW*Bs|R=rk5ZTfIuNvjtCsLLOE C?fo98jewLa{^AmsZ%cXdc*=NUXomB)MtAF}v!Cvb?l%M%5}_R%-fWoDS{Q2u z!i1owgw_egHv;LHrE((U$fqmRr*aBoc2R242kryDpV$DY--6zMPuwW|3jOHB1qh0^ z0(LwhJy61=hE_8$o*K3#LVkWWg~x$Uclp}@UBCLn`U$-;@3kD^XEFQ)t7kd%4%hz4 zqI)i!6m&}3K@~7XFzqO7VZ_p^1de>B!t8xb(jkjY`!+!U{uB5HVm;}TYkc-g#HLBl z;mjV6Ye7J>Sp3lKF5vb>C8oAw$iEqsOgCSvwG4kLsy{%q_g8D()~)x-hGE@=E~J9E zbzQl40@q;pJ%m3czIF$9k69|Xw*F^IB9W&h%7r>4KRe1yIuyh8$8WB2@{3i(2 WP zd6C5XcmvU2zY-GGXcE;9d9SNf)Vc|M-yIp%x+f_a64%$N_A!(vBm97r+uDxkLOa2d zd#v|1U dgV{VnX8G7hWdsL0hi^-uqC;qgc){dGpsKVHCV9dn8vrz*Oy5?oRo{$ zu@P+0Y2e<(C0Jw6RL(tvF0ls@Fh=k`&}{k4s|K&iAV2FS^vR>1FWlMSzJo2zy@s@G zVwK_U7x^BP9{`>rLwrICkR23SUp9~tdv8a4wtW$vM=X%NGK5YoIj_^=byB{cI{$>_ zQ6%*DthZm&g)vKQ!gJ*F3rx)}paO-&4J4Qm+qlJN`<~I5+;fd@&b>seJ=M?g3K&%i zc}~k%j*pC?7nN~I+zhS*PbaRhk77v~xYmFHc!Q!>7ftfEQCDW7HOEJe-^}et@1R^5 zl44q<)~KQ=X_77{^{=cnV64 nyip2x5(ra}A2Q@8B9W!YN~_J^0PkyGkQ?bF-$EzS=XIW- z^CGlx?M>h_iEY<@m*`gOFNaYfEgO8UOiwRREjAb%8e+Iy#E2ow`_awBEMb%6cZn(X zm0=^Qq`{LJ%hb>?v!ybbwIn`YPqnbCfY)()Kg8vd(4{iLr{mp |NYfJ4qvNGI{SQn$=oRl#{1Uuxr~czV`aB#~MeyS#u(CS`~n{T2Nap@0(38Aq3lA zsn=z{u6u=61!slfvZ2vbbKBib`^B#|n3?w8r9u)nUVnyi4Z`bX7_TkJZV{TFH~0xK zLm&m7hVra#Ujw|6XqWzZ#~-3K@^DgAr^J!tNX|N=pCdN=`H4Z!%UB^z9eL)Nn4ab2 zsaa}`CeB&h>XrXjn0|jqyvL|AS1fUKY#S59BPdYF^RC@C)<6MxJ>8po8d!X%<;y1h zDd4FJFBoy9JDpf=p1p^EoA^9mT{waj!?wc6#ie5Td52Ek&*77YP?SR_5Ai>@eHtHf z%EfZ7s$UQMoQTXCBjkDTwOSVH^~|aUYmCUC`i(PBVnd(`X(E(MhUxiWZoa)~Zoj)Z zTdRd9Bn9(h$&ehO2>yuB{H!6nUyu}}%wFOq@c#iHByKJ)JNpX&$8i#Vlm<@<6Ed$8 zVrk$=kX3Bt-M}9cL$L$7jjT1KiKE_Za{SZ`lQVN q#PR^ z=lIAtnY9%195Z-5$R8wXXl`Wfdv00UI{%8IPcR}M*_I4*yfMSSPJE8f&)!8V JtO*WhPCqzUB?R2#oHigit zQ9EBMNFsv0ccR6yn*-*sjTzhpz76FT;I~ eepYUxcA7Hs2x;w5QY9_u9h&1olbFmTxtIDfYxl>| aukXPm^N8)O7<*!r#3*x3$9?l9PS#R1Kp}W!FbB9LniY45@S;Hm zIBP&LoXQr6D|K>tK)(chTaSmoTvgv$ER<+wHJW(?Yc{XOKAgkQcUbDHv}=IF<1rgA zO}GsBD`JH23H={#Ft&+t74pVz8mGRV#;LC(WFwelwrdrBYm|Zw)N;eYg#w2vDGe_a ztYQamgZX^o8}0Q#nZ=ms`k*L@SgaTn9Uowby#UU-c9EIQ)t8(PEyo}idb4ZcJq7qA z@E1e@O&^GaHLik~7Fp#A8dKj$YwnS#T1+wr5>Sn;8&ewyDjcsCI5=Nqq2);1EA@bQ zJn-+tH(4i#bF*3;3=&m5r)A$RByrM(fFB~-*RSaRPyq>;WDZqBbM}!mCclwZ oKO`fQYeUndHNp4 )h+WxQa2r(G+72rD{pd0B>P+~+XM$mqd_#nTe-(gZ8gqGJl z8(fX2D2cJ^MA(*$kQzs>`4OUC{dap9;xNb$Df%Ogyv9groN{pp;zi#yW^W3iqrOb3 zn~;}+@z*v>?9LKeORAb%fNuxB1GsI4A?_n)RX+{ke@J8HSzVBht~sYqdaHtS!pMka zemeJe-B%A)qq!48|E_*{M4 eQtd&7p^9|M|&??m+$Nz9w*)6{Z4kY+)r%4rCf zjN0MR#Ao$fL%vG!$}T9`l+61>U!Fh8WV6A=rTtj3v_fk}(Vr(SO8?O1@HYr@O|GqX zG(wHNrAxU;FQ;;{N~_w!IGGi@Ij`FdC3GhhuVw-&giBh5J&$OVUvO!&z;NhPjW`XR zh~Y0U`%@?B^xd5q>U_*TSuEQd#Wp+Xq0^SOHO@oB77@Z-ch>UHe|nB%$6IzL#ZIE3 z2|fW``(g-6PR_I%Qbu{&GYedCbD;WrtiRsKBgM%FL)HJ^*5Ss(Lp4`Pjjna$6)-_5 zv^=fE`lGwc`N8cak)5S<|8?7B+hrp`jQFgUqn$e4tBjQxOWCGju2t8s%pd>dgSDAL z)i)`b5_=1K8B4}c4dj~L0(>V?rh999i1!O}eIVRe3zdcy%O!=YxwLo<1gOo{s2;07 zrasyHKPbVbX2Z=$S#LewPru^Q~b4C>nP8BwXA|8THmRMaf0~L!xi@Gph`B6;MF9 zb@4GvL8k?spp$j77v;ZL5*Kx<=C7pR1%+bCAO<~gtmO~h+mPAm%oGYnl6KBu77q?1 zNEk)LfnBbhj1VB;SwL{U$aSHtk201WHn4!w0?aH?XZ$;7PQ&?(x$+KX$~$pBJM+(@ zL|w_xElxXA5Y&!2Z?~r+sj-@eGaD}<3TYn5oP_DoLYN*cNM?;qb07DjPOzz^Rn7d| z(W+Lb>ITKQ!s*gPMR8&%m_)0-<&V~9^>|~!0a7sbkVc`{O;#*MEOlRFKA)qO*DzwR zVvQh=Q^IGO+Q8!2=616?*-yy~(+o9~unpw3C_f$YfK820$5Ty55)mUdESX1#+V^)L z19RPk{_j^@uPsqBQ62X#T%4u4BX=gCrggS(_fLrzXXOOac1dlW16l%Qg{q)+I=Z_N zqV4^ZWk&^;_-EodL7EC_(df*n+#kHRE+>yQMU0qY@$7ZDqij#Xk0N0hG14YB2!Sd} z7E&$^Wo{tVORUnAuviNBG~5Ebie<0kRS5l(_Vqa1d!nFOKvLuFc%pVZ5v*8k#T%c* zl qy4PuPeW*UC}XobdX%UWl|BqnM!tRo9PoM G&n3cJ#ZWCik#jbY$ZUTN) zki*V6@{lu|&(I1jcDsw&;r5~gTH5TK=WhUC(`~Sj2S7qP;zD6ObxF}3GuTV?d=dKY z*E~{pPA80trD;N}R@>X5ODkF1gAq=&v$NBlj{isC*=PJt(^SITY#wg=O4U>ryeSrq zxTL?51aV~!VFdMixK_*h7%L3fNaQ}wFyfD#&t5fG-Z3*%-g&9>+3Sg#@4ld!BC48< zIzM~Gh)iuON&u7g u!@NQsu!+TvNHa67VYH8`gUhgPE#H+xh37Yp@%rjexU$du^G6V? zX?~Enl6|?|cH(MchRMf?D|t738)vW7lBC8?pUUm*bk6v8hiYGGd_cS?Ihm eInqCj|6Q2$;PrKL@)=&L|(q#texn8aYzetuzU{>GVX(i<6! zn(HQXBZT+nM*dbJDQ~2I(fqU9Kd%Cs#8;Fd3U0p0>i+6)=L}M7fFu#p!oW2(fEZAS zJtZm 3MF%>d&} z1Fy#Lhc>Y!q!<~j^VdeX?L5)wzlOnUyuA+ituyBI0oE?=_w5W&5AHmm!6x;$z5wu@ zg8V7yAY}eMV)FAJZp1`3I