From dc4a6143eb734ec7082f93c09077e62b14c1d9c9 Mon Sep 17 00:00:00 2001 From: CyJaySong <29367599+CyJaySong@users.noreply.github.com> Date: Wed, 2 Aug 2023 17:01:09 +0800 Subject: [PATCH] add meilisearch (#219) --- apps/meilisearch/1.2.0/config/config.toml | 131 ++++++++++++++++++++++ apps/meilisearch/1.2.0/data.yml | 44 ++++++++ apps/meilisearch/1.2.0/docker-compose.yml | 33 ++++++ apps/meilisearch/README.md | 0 apps/meilisearch/data.yml | 13 +++ apps/meilisearch/logo.png | Bin 0 -> 36097 bytes 6 files changed, 221 insertions(+) create mode 100644 apps/meilisearch/1.2.0/config/config.toml create mode 100644 apps/meilisearch/1.2.0/data.yml create mode 100644 apps/meilisearch/1.2.0/docker-compose.yml create mode 100644 apps/meilisearch/README.md create mode 100644 apps/meilisearch/data.yml create mode 100644 apps/meilisearch/logo.png diff --git a/apps/meilisearch/1.2.0/config/config.toml b/apps/meilisearch/1.2.0/config/config.toml new file mode 100644 index 00000000..e3a5e8f8 --- /dev/null +++ b/apps/meilisearch/1.2.0/config/config.toml @@ -0,0 +1,131 @@ +# This file shows the default configuration of Meilisearch. +# All variables are defined here: https://www.meilisearch.com/docs/learn/configuration/instance_options#environment-variables + +db_path = "./data.ms" +# Designates the location where database files will be created and retrieved. +# https://www.meilisearch.com/docs/learn/configuration/instance_options#database-path + +env = "development" +# Configures the instance's environment. Value must be either `production` or `development`. +# https://www.meilisearch.com/docs/learn/configuration/instance_options#environment + +http_addr = "localhost:7700" +# The address on which the HTTP server will listen. + +# master_key = "YOUR_MASTER_KEY_VALUE" +# Sets the instance's master key, automatically protecting all routes except GET /health. +# https://www.meilisearch.com/docs/learn/configuration/instance_options#master-key + +# no_analytics = true +# Deactivates Meilisearch's built-in telemetry when provided. +# Meilisearch automatically collects data from all instances that do not opt out using this flag. +# All gathered data is used solely for the purpose of improving Meilisearch, and can be deleted at any time. +# https://www.meilisearch.com/docs/learn/configuration/instance_options#disable-analytics + +http_payload_size_limit = "100 MB" +# Sets the maximum size of accepted payloads. +# https://www.meilisearch.com/docs/learn/configuration/instance_options#payload-limit-size + +log_level = "INFO" +# Defines how much detail should be present in Meilisearch's logs. +# Meilisearch currently supports six log levels, listed in order of increasing verbosity: `OFF`, `ERROR`, `WARN`, `INFO`, `DEBUG`, `TRACE` +# https://www.meilisearch.com/docs/learn/configuration/instance_options#log-level + +# max_indexing_memory = "2 GiB" +# Sets the maximum amount of RAM Meilisearch can use when indexing. +# https://www.meilisearch.com/docs/learn/configuration/instance_options#max-indexing-memory + +# max_indexing_threads = 4 +# Sets the maximum number of threads Meilisearch can use during indexing. +# https://www.meilisearch.com/docs/learn/configuration/instance_options#max-indexing-threads + +############# +### DUMPS ### +############# + +dump_dir = "dumps/" +# Sets the directory where Meilisearch will create dump files. +# https://www.meilisearch.com/docs/learn/configuration/instance_options#dump-directory + +# import_dump = "./path/to/my/file.dump" +# Imports the dump file located at the specified path. Path must point to a .dump file. +# https://www.meilisearch.com/docs/learn/configuration/instance_options#import-dump + +ignore_missing_dump = false +# Prevents Meilisearch from throwing an error when `import_dump` does not point to a valid dump file. +# https://www.meilisearch.com/docs/learn/configuration/instance_options#ignore-missing-dump + +ignore_dump_if_db_exists = false +# Prevents a Meilisearch instance with an existing database from throwing an error when using `import_dump`. +# https://www.meilisearch.com/docs/learn/configuration/instance_options#ignore-dump-if-db-exists + + +################# +### SNAPSHOTS ### +################# + +schedule_snapshot = false +# Enables scheduled snapshots when true, disable when false (the default). +# If the value is given as an integer, then enables the scheduled snapshot with the passed value as the interval +# between each snapshot, in seconds. +# https://www.meilisearch.com/docs/learn/configuration/instance_options#schedule-snapshot-creation + +snapshot_dir = "snapshots/" +# Sets the directory where Meilisearch will store snapshots. +# https://www.meilisearch.com/docs/learn/configuration/instance_options#snapshot-destination + +# import_snapshot = "./path/to/my/snapshot" +# Launches Meilisearch after importing a previously-generated snapshot at the given filepath. +# https://www.meilisearch.com/docs/learn/configuration/instance_options#import-snapshot + +ignore_missing_snapshot = false +# Prevents a Meilisearch instance from throwing an error when `import_snapshot` does not point to a valid snapshot file. +# https://www.meilisearch.com/docs/learn/configuration/instance_options#ignore-missing-snapshot + +ignore_snapshot_if_db_exists = false +# Prevents a Meilisearch instance with an existing database from throwing an error when using `import_snapshot`. +# https://www.meilisearch.com/docs/learn/configuration/instance_options#ignore-snapshot-if-db-exists + + +########### +### SSL ### +########### + +# ssl_auth_path = "./path/to/root" +# Enables client authentication in the specified path. +# https://www.meilisearch.com/docs/learn/configuration/instance_options#ssl-authentication-path + +# ssl_cert_path = "./path/to/certfile" +# Sets the server's SSL certificates. +# https://www.meilisearch.com/docs/learn/configuration/instance_options#ssl-certificates-path + +# ssl_key_path = "./path/to/private-key" +# Sets the server's SSL key files. +# https://www.meilisearch.com/docs/learn/configuration/instance_options#ssl-key-path + +# ssl_ocsp_path = "./path/to/ocsp-file" +# Sets the server's OCSP file. +# https://www.meilisearch.com/docs/learn/configuration/instance_options#ssl-ocsp-path + +ssl_require_auth = false +# Makes SSL authentication mandatory. +# https://www.meilisearch.com/docs/learn/configuration/instance_options#ssl-require-auth + +ssl_resumption = false +# Activates SSL session resumption. +# https://www.meilisearch.com/docs/learn/configuration/instance_options#ssl-resumption + +ssl_tickets = false +# Activates SSL tickets. +# https://www.meilisearch.com/docs/learn/configuration/instance_options#ssl-tickets + +############################# +### Experimental features ### +############################# + +experimental_enable_metrics = false +# Experimental metrics feature. For more information, see: +# Enables the Prometheus metrics on the `GET /metrics` endpoint. + +experimental_reduce_indexing_memory_usage = false +# Experimental RAM reduction during indexing, do not use in production, see: \ No newline at end of file diff --git a/apps/meilisearch/1.2.0/data.yml b/apps/meilisearch/1.2.0/data.yml new file mode 100644 index 00000000..00c9f45e --- /dev/null +++ b/apps/meilisearch/1.2.0/data.yml @@ -0,0 +1,44 @@ +additionalProperties: + formFields: + - envKey: MEILI_HTTP_ADDR + default: 7700 + labelEn: Port + labelZh: 端口 + edit: true + required: true + rule: paramPort + type: number + + - envKey: MEILI_MASTER_KEY + default: HmPEKZhcoANzRt3DTPhRQVRxPEVZw7m2TymKwKhs + labelEn: MasterKey + labelZh: 主密钥 + edit: true + required: true + random: true + rule: paramComplexity + type: password + + - envKey: MEILI_ENV + default: development + labelEn: environment + labelZh: 环境 + edit: true + required: true + type: select + values: + - label: development + value: development + - label: production + value: production + - envKey: MEILI_NO_ANALYTICS + default: ' ' + labelEn: Meilisearch's built-in telemetry + labelZh: Meilisearch 的内置遥测 + edit: true + type: select + values: + - label: disable + value: --no-analytics + - label: enable + value: ' ' \ No newline at end of file diff --git a/apps/meilisearch/1.2.0/docker-compose.yml b/apps/meilisearch/1.2.0/docker-compose.yml new file mode 100644 index 00000000..20bf1cf0 --- /dev/null +++ b/apps/meilisearch/1.2.0/docker-compose.yml @@ -0,0 +1,33 @@ +version: "3" +networks: + 1panel-network: + external: true + +services: + meilisearch: + container_name: ${CONTAINER_NAME} + deploy: + resources: + limits: + cpus: ${CPUS} + memory: ${MEMORY_LIMIT} + networks: + - 1panel-network + image: getmeili/meilisearch:v1.2.0 + command: + - /bin/sh + - -c + - /bin/meilisearch ${MEILI_NO_ANALYTICS} + labels: + createdBy: Apps + restart: unless-stopped + ports: + - ${HOST_IP}:${MEILI_HTTP_ADDR}:7700 + environment: + MEILI_CONFIG_FILE_PATH: /config/config.toml + MEILI_MASTER_KEY: ${MEILI_MASTER_KEY} + volumes: + - ./config:/config + - ./data:/meili_data + - ./dumps:/dumps + - ./snapshots:/snapshots \ No newline at end of file diff --git a/apps/meilisearch/README.md b/apps/meilisearch/README.md new file mode 100644 index 00000000..e69de29b diff --git a/apps/meilisearch/data.yml b/apps/meilisearch/data.yml new file mode 100644 index 00000000..6d4a40ae --- /dev/null +++ b/apps/meilisearch/data.yml @@ -0,0 +1,13 @@ +additionalProperties: + key: meilisearch #应用的 key ,仅限英文,用于在 Linux 创建文件夹 + name: MeiliSearch #应用名称 + tags: + - Tool #应用标签,可以有多个,请参照下方的标签列表 + shortDescZh: 一个开源、快如闪电且高度相关的搜索引擎,可以轻松融入您的工作流程。 #应用中文描述,不要超过30个字 + shortDescEn: An open-source, lightning-fast, and hyper-relevant search engine that fits effortlessly into your workflow. #应用英文描述 + type: tool #应用类型,区别于应用分类,只能有一个,请参照下方的类型列表 + crossVersionUpdate: false #是否可以跨大版本升级 + limit: 0 #应用安装数量限制,0 代表无限制 + website: https://www.meilisearch.com #官网地址 + github: https://github.com/meilisearch/meilisearch #github 地址 + document: https://www.meilisearch.com/docs #文档地址 \ No newline at end of file diff --git a/apps/meilisearch/logo.png b/apps/meilisearch/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..dad30592fef0785cb03d314f0721e156b04a7437 GIT binary patch literal 36097 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

>w3Yl zyP`F{;7q5YfwJHU*b8n}*6byI#=T&ch!YeH z`|v`ku|{gNCRwm`FIYvyzIwqd5l?_#u+e+L?M%2`KU({_*0Ygdb5L71)7o&c7c3y* zEHxy~aE*GwSO0>{__xEM<^bhEp$5A@qT37voTe8nJO%BEfMf3ktFmAL0Z)`( zaL{-k*c=oZM^oZ`sQauTFahV@3$`TS#7$U=UT~_rq5-qu>Y4y-4$jIIv=nxwla3$hn%dRR+G z!a^e61v&?l}jNMYtRV){)%z)s%__CUZU zcSM8qg0mBFv$W(hBnS=zn}c#=rJ8;L2w2+-W(YXo$k(c-1Vq4@-wOsdWB~y;E33aj zP4kstb5L1ZkFK=Tk*@;+PSXoko`QBvz&5>Lo`Au6!Q*@HRlg>+9mhh=0m_3~pP#AG zK0%7(hN~iAkX~>`0#4HlR%XJE3AoJvY>)*T_kx$e9lB{f`JJ*aTAs(3sz;qVHSKY*c_bIcri8BZySGd7WRTwnJ{D)oWgL0y5SJc&$eeSV%Pp&8cY9)6u$KuqqSQ^@43kI9vxv zapmj5<{()6UP{2tkbo=W6kJi!Fcb;1M66iayP`KGiCB79bQTh3iCD3;cSSR&qEo#W z+*y0}*0-GiH3ujU3ZI)RTz0+Ea3_2(m@`~uFSxyP6r9L}9iEEj4OjVIup|qP4EQF{ zStu`Eoyu@cvfxA}?DAB!=F_u?gtd1?>quBd#2G(5SGiBmJPB9Ud|Izv%ORza8FP%k#rDH~hYmx}nF!b<3r=LhITEl*7M#e0b0pwcFStX%kI=vU z9Z++C@}O2&PkLtlcSOH!0``#w&mqs>UN8^|mzT@}n}bHybNj%T549--qOu}`CUiCo_fKZCCh->Q_<~A7~s=1)E&{v zUNDyhn;LWN>YXHLya;j@P>w~)mz_)vx2ZMUka$%@%w)k%PerrFt5}n=7p%G|E0F~s zp#S(cfz3g+|1U^sX*0FqPS#$qNfvDMUT}`R;Obhi3->8WA4QG!59Xhqu@~G~!c5rF zsptd|Qv&YWej3yqpgbr%eAP2^Q3|a!0hZ7n}nDCo*6K0fQdST5~5kYv+r>=AgFr%mn#XZL(lT1YBdOm(PMl8L*?n zS!oHlW6%Z!oX(IRCc(`}zmrL%IP-YA9uXRDk>3>r?6nsxA>b1Kvmy)bWWcH{*fRlZ z-wlrSg2za(qyRSujn`9?{h^iNVlUV)0gLa5Zj#!Xd0=xerEw&wt@{#);pW;4PGPv< zyV ztQVZfgqbW@+Y43^F>o(fc~|t3Ye46qe8oS5e|k>U3sw=ar(SUEu4qj!*ypKe;TpaU zbPg&b*CjtWJNopDyUj&7Mo2is!!`30Qbnv?L2Qx+~f<0q4~V zE-&6k%8S4bTacc{%c%iB9TD#pM4SUpl3p->GnSVun7u37uos-_yYSm7o->Lk${ad;R)Ca?yld`|9@T$HV5@} zAB^skc0|C~3wA@my;nU;daphXY7S5yM9!T364G<&y>yM6?xlhZSVY7+5>^qhE(@MR z%zMFH7M!N06jH8=h%K|=)V<(^YGdYWO2x&!U~|xVfTMK9wN`f8HyrYy)_u%;huX3T?Na}eHqHF9-GyzLbuVNnJw=ml4@yqaWrDq2Rw z+Fmf53Fmk!8mt$5)#st+0Od)fc0kaw^*N zbhKqJxV-pxBxw9G*c=3nQzJ7~eR@u5xYoU3s2j3U8m`TI!LdCn2^$+OyZ?dou00-X z4r*)OPR;azE&;1Zm?h#2hHFB?AiZFgh;@dmB4W;PRlVR??Z}pdSt8bw@U!$E3-J3<0|^2enqF|?uIL;I7^WBeeeC{DGLfk> z-$)Jj9&5t|?*%(1VBvegl1$j>y5V7G}bp2)G&};ETcL;1F^sHPBy0)a#Idt$V>XS+D~FPSXqKZ^p{}Zm^bs!LFi3 zc@pWlbbgfm(iPihc6X;F%o4F`=`vwK7A(ChItvN2M6An#Rhh7^7pyhr@6rGJ*MZGJ zu%t?fH|qYz2w0H?^O-Qnsc4pnbtJ6Hgduyurl+HIy)+udcnc)eWZ64+!dt3 z>UT6NBh4uLT|;6ya4Zvs>;;>ij@F%uR%F7}jl?VyW=uF$FPJ4_-Kl6*CcKTPGvP!Q zJVvTlzZGf@P#zRMyimCGr%paSgY<$`L=61t+32olj($OV!IoKYc@f;h3qf!gHQFyl z| z7^w}v8*C1WYmcW?`)HSZ83Gn&!BD+m2LznRgf|jxCJd4V0}-%YFPP53l~bYS0Od*4 zXa~R!UzudV*1ced1YF__*XXWjT^8((fI$!4P~)5(r(XvIY;;$&%U-Z00fY2{T@&!? zds~?;*c{YGdd2kXfq;dXu!Mk(?uvFyz`{&eLcm6MMQ0-5N67STFNB%{ln0S%mmNzA zm)sswt}p`@WWl-ig4rxsb1Hh$^@6!9SZ&M)s0qUzx@moOEG_wFNWbCY$TyJ*E3)7T z+Y8q8gT0)J*4z=Dt{1!(Y7SazR#x88F2g0x-6J6W~aSimV{MHLBiI(U=b7mb3> zL3zo|QT97dz|ss@&k!~U_};O zl@PGgUNA?%%3iRBfL$1}Edj@R!Ab)D4(Z+e3aB|ic@QaF_$pGo^qD06W+31+z2H0v zSomJBDhp-^*jq1HK)}J04}#4>>k88HlHbee7m$D_YcE)N3R*(IK6=5yO0YvWq<82Q z)KGsDzA2m+0XyvlJ0RdXXSmv4uz-Levf$d4=RnN?%9BXpl5;}(WmibN5+auMf`yr| zqf^n?3ntCt!uwkHHG|DTX>p~S{qpMyaVBh%1;_4+&Pu|*dcjOTc*6IBho5L&oB}on z)ioa#(=SiLS$e_jUD4x9ma@qupkST_JU1LM`t`0E$Ri=w>?8Xw(C_;bAa+7 z@{#jjK@Ipj5#?SYAYh?7SB zd%^aGTjvbc`mSgL60U9gI^-OnJctx7{tzYI{h|4q60p}hq74c7`PU16oc`;;UASLf zcrrEMN2CN?zCx1;L-v9l5U}-o!BAPS>t68i({xP%n}cBZ4b*7wwI*QeUNEpB`{)H5 zzZdL*fRkBptNZ&&s5wA+5;f6ly5#GSfQ6Z`gn%bfFIbxex0fyx1}5P0qJIXRgYp$? zyY!m_0UPy#Rhh770#4Hl=5NLV=>@O)W~({|HV4&_Ih1`(Cig>1Y!YwlG}f>1bUq*z|O?l!6~5#m4Kw<{()7UTVJ0 zPW{M=gjpiik+6l~n%t1Z_kznNB+L@Aj)XH9uE`zIfe8t-M4VXrNpr0l|tfPm{)&WD-@klVclUZ z-Kl655p$=am3KuOX2IG_Sa&K~Ma1G$(aqY{dq}Ve>?Jgm2aSJz{(fk<2?F+<1@pb& z)OSVu%7P_^3*HNslJHW{Stu?3S!lH7allD38yq%>-T~?B)lDR4p1I+py#3< zQn>h8B>@-sU6BPR?urI5c7UnqF|81T4HOT6Y>+l?kUJ;Hz7QroiT)xOkA1 z7n1}5=a~h^GGUj!U|<4H+=OL&SF}wQyz<**>PomPNGq$)Bh@zf8W6D8ELdW=)^|m3 zAm(>PJ0M`|Ojtm`{Hkremz;U+OQ7Ze^M3cp(_|JRQt`H7PB6Kuo_p2?O_nrSAp%Iu$L*g1z^Gv)mEAstPp+;lm4+)!&Th zc345cED5K$BRX+P+8_(g)C*=wSa&MgAPY9?1!t%!rMMw$tiELkY7S7IM5*@^QT97- zxGeSdTtc#uu!@K^hHKLcj@6D-MC>vP_TCGAuyt_?*c=3lJ`@pen}Aso7G=N_q!*m% z2@5jd*nY6}f>%9BrZkQOn}h1A(L z1CH{bR#&XqGvgLH{i;qu8)U&=d%+q4p47cyApvg&orTik>!NEdfe2WY1(!Jj&b=4h z&V=*q1zQquHv|4O=p0mruj!I6AOTC?3lWqNW7i3pU7tJ@R zor->h^lk=w2@T~zQTKPo!`ehrnLLZgux24;EC1?R^1hC&=~>uss2nIt2U&($_c&Y!1SAe|h=^ zAmFm(W~{`nAmA()bz~)AlPoyjUT~8Xhv43S?p^gJYP<);^y`3tm3KvpGGJgs&Pu>m zyjg_sK??}jgK3iCe-HV4JV z>q&9pPvry*kp;7vu&x)ZB4S7qHd!XUU=uXgI-08@*rxUi%EeqTvZlqd^%c3!dVQL`}C~r1-JLCr=kH3 z*Mx+HyM64rW6%j*zdKP8C0wUJ-f>lHeSwoVZj{Y4b z;rBw#0m_p|&qd!C)2}H3i-?!s6$A`o$QcPZae;?|fL$1Jx?b=~&^ahB{EnD@0SLIv z|7?;4J2Yfl0ygReXEEd~z2Ko$pmPwcx+yYSj|42ufDH)PYcE(rz!RYtT;Fm%9=@7n zBBhH?phUa3L%`AuIA;P*WWWYlaOV`XDhu{R!0o%Dje5Z*{owgcy50>o2d&S~rG;Jk zEw^_A0xp~OgB=oZz!|Pd7A))q=S0BDUNA?%{3;E<4Qvk196p*F?;o^=tLz1H1T0*h z3An}?t?_%oY$lu|0mpj55(4hs`eCR!KzUH>&<2?{V+AE(3H|aUtRiB=EZC?Q+}<

jn2*Lf}c* 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 z00000000000000000000000000000000000000000000000000000000000000000 z00000000000000000000000000000000000000000000000000000000000000000 z00000000000000000000000000000000000000000000000000000000000000000 z00000000000000000000000000000000000000000000000000000000000000000 z000000000000000000000000000000000000000000000000000001h%fkNyj4