From a9d8ba7f6b6d633324288ed3e0b73bdc3a610b79 Mon Sep 17 00:00:00 2001 From: Robert Goniszewski Date: Tue, 20 May 2025 21:51:59 +0200 Subject: [PATCH 1/7] fix(docker): streamline Dockerfile and update dependencies for improved build stability --- Dockerfile | 20 ++----- bun.lockb | Bin 431708 -> 425620 bytes docker/etc/s6-overlay/s6-rc.d/grimoire/run | 4 +- package.json | 64 ++++++++++----------- 4 files changed, 38 insertions(+), 50 deletions(-) diff --git a/Dockerfile b/Dockerfile index 506e880..89c5383 100644 --- a/Dockerfile +++ b/Dockerfile @@ -8,24 +8,13 @@ FROM base AS builder RUN mkdir -p /etc/s6-overlay/s6-rc.d/grimoire /etc/s6-overlay/s6-rc.d/user/contents.d /app/data -# Different build strategy based on architecture ARG TARGETARCH -RUN if [ "${TARGETARCH}" = "arm64" ]; then \ - # ARM64 build - avoid libc-bin issues - apt-get update && \ - apt-mark hold libc-bin && \ +RUN apt-get update && \ DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \ xz-utils wget python3 python3-pip build-essential && \ - rm -rf /var/lib/apt/lists/*; \ - else \ - # Standard installation for other architectures - apt-get update && \ - DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \ - xz-utils python3 python3-pip wget build-essential && \ - rm -rf /var/lib/apt/lists/*; \ - fi + rm -rf /var/lib/apt/lists/*; -ARG S6_OVERLAY_VERSION=3.1.6.2 +ARG S6_OVERLAY_VERSION=3.2.1.0 RUN case "${TARGETARCH}" in \ "amd64") S6_ARCH="x86_64" ;; \ "arm64") S6_ARCH="aarch64" ;; \ @@ -94,8 +83,7 @@ ENV NODE_ENV=production \ BODY_SIZE_LIMIT=${BODY_SIZE_LIMIT:-5000000} RUN chmod +x /docker-entrypoint.sh -USER grimoire EXPOSE ${PORT} HEALTHCHECK --interval=30s --timeout=10s --start-period=5s --retries=3 \ CMD wget --no-verbose --tries=1 --spider http://localhost:$PORT/api/health || exit 1 -ENTRYPOINT ["/docker-entrypoint.sh"] +ENTRYPOINT ["/init"] diff --git a/bun.lockb b/bun.lockb index 1578df86644bf3d3c2e0da121d2daea21c8d3155..140d4989f0e1622111e42229b8d89f396ad95ba3 100755 GIT binary patch delta 123157 zcmeFacU)A-wl>_|(8^X&%z~nT0SqW68fj=z5fch#!GH}kl2e0XY)oU0TWv)d#jKcf z9{F_3gL^HL2aSpuvg-0W^?dW;MP&4Gn%<+TqIjk0srw9< zi^*hyOqO;OXblW0E|XaSQ)6Q!)xA95*^xzR{0RI4`GQc~)a=y8oR71Zex)((OWR_@ z3RFS{bkmacF0qlRx}5K6BV%mB) z3~`~+k;%_cfF@ruO3|3ezG}#C_ zHKeM~Fj*fH83Kb$bLt_NkK^SxpdB(WNoNR4NrhqpGHA?`blT8l@ICN18Di6rDW-x` zfrO+;eJm_n2s!n1LL-K0Kr$d6SPB@@m>Jp?oQ6^j#Pmw51%wmRW}`gm`xxBVy8X6;0`2S9!NdU_heWVoO)vLVq5`EhUY*D zN#;S9Nc}(!iwmWJRNrIdQ#u&jIr%Vt9GnJb8}!Nm^#gP<$vThW)?wNyj_h&(kNjhDnHoW1mIF~SOvNkk6Oy`oM3qv9) z4g;|d`sDa9U1EwhMkd<|P92yABtP1=BflUF^@9KlK5f4wkfk}cXWR^Oa@;E3!-RN! zG8&gH^KJB&`Of&d49Jp;^1PwhHjuVW3qr$e@a|JWP(m6Tfq5Dt{%a$Z!gxr z4M5UIuy+ZG4;vIRC|RdR^~r-0beQk5UwbpV5=n?p**;9)0HppU0nsl*T7*^~KQImo zeOX6q1F1s}Kr$>6iiG_*t_)_5tJ05!1S2@bkpA(kf5jlD0qzTfXE{K$|p(EKb2pp&6({^o&cE$r>Y%Dy+?MD@S{d z-NM-j#^?s1J2F{&aME|@*aAp~gz0n%}w>`I|?~@EV6%Gd=kp+<~%$yF3cq*LDnRi<=5tz;1Uxbs!fI!F_DJY z$YfdV7^biq1!+p}0w)8ab%O>_Pa4Fs{O}lUa`Iyfx^ z{ibp{J?1zJnE<^q;CYZ!&xeCkhqB{Mo(M6d^hX1+e3Iy)Ks^~45g7_6$RhQ+RMaC| zp1>L$oXF-#f;KtA1=fW|Xk*YRnI?&O26M>;M)q$6PW2Q)y|j3`0m(3Jl++(tN>Zc? zZKw$;hPXi#qV9swq{#u=0z+X4c_Lh^Pez-vBwdO=GJKHCKZW(k9`#U9Vu0icYar?S zqa4-K09XZB9!O#G-ar-wEWyc;&xj4Af8K!YwhR(SfmGoLOg+M6AX#2=Fmn|RxE8Ly zgMt(%4+E(I)8w2u31%CMQM4>5|bf#bZ-X|JuW7tRm`hKOof?7LP3*-U`!3>IbDns$?-E z*_M9^NRtG?T&G9xLcpn@IEs0~6yQTsV&an`#Y-hU3?;`hZzn`1VLIz&v2YfB@*$_T zk|T6+G-{VP|N0AywI(NY9MAOVD4U?w>*s)z38n?vit}|7n6nlEX;7w5l=KW~Y9wg1 zyeBayGyzh>T;X3rg-PF}mp7TsThn}Pf(B_?yq?19c?*NdAnX|NF#~k6GgD==Xo)QFazl*$Uqrzwf z;ZvG75E_9X9HvbQ*Xsu8;*#|^frf=eCMCogS^f3rup!jO4T>$HO-2Anq5y)E(=TG_ z(i(&5{9!r<==32ekuhPi*BQ(~dBF0p<0!`s9OrTT1xP_Z2}q9U%ds6tH;#@ROK|)& zU(z?E-D8Qg^FZ?aK8|ZRrgIzzERFmD9K$$v=IG5aDLy6!F}f zDIin=R-q~Jektx^5L^b@19t!^Qp^Tc111911d+5e~rZHr#;t7#*WaNy3PP=|ZI7zA&BLFmvRrB2y%wQKLC}XdPQsxTEM3 zV`Q?t^=xB50;D;;9!Nu$&T$NohA0t8Llg`oPj&_xXnD3qf+p|(w!&R7jOOfeAT<=U zl{LHrNOG5XtR2^FED8+N!~gVY0fmZCn1_NC9)3$>1x#noczsMf>Am01c8}vbnP(Dq zF;B$mV#BevWN*Q#q3%FyU~6DWpc+W^W}%!ta1xM)GI1x`uY^Pw2xu%_fi&jUT=B&Y zR^Tj<3Ty`20gW670jXRcAdP)Xpe^tLH#G1dtG_9b8ny*eJ>L#6dA=VKRKZ>#HT)}( z6o+#R22z0*Kx()K$D%+g_jo^R_$<&?v@2K5Q0W-!E4GFBSoq{pHgkGYGZuKp<}f@7 zq*;)h)YuJbvJhQNj23(R0qE1<(e%_O%VbMVut97FltML-*6IF}%-8zJ{@4QJWg{Sm z&kbpG*3h9sJp?pe+W~2o#l)x3Ia#LT@>)QuFgY@AkRCf}4=zWDiX?-mo&mV>n94mm z!|IWagSy0+f#6g=0!V}0SgNm~EX^JXngxT;v5Zi5v5-~Za%wOkK0byJ$E8qlT6ueC z(}rN$2uuO|uW?!2Uf$kd3c99XJ4DWWIsP(hnfA*hU8?K^I0gGe3q=sqaUxvFNUk4~?b;(DyoP zpev9nGCjD6($i5Bmn-O#d^?bQ_BxO0<5&`_)kn*k-C*_7Ato|bD?18KuAFm|mD?+E z1kL5VVIvTuo@T1Jzb@GYhecVq-bI(1oTQD)XAMN@A zwSd$>WgyMM(m?XSa8yh@K8dQ8$xJ7WiTBy`H=Q^klLYZbD8TyYK|# zPnHaM$}&D&Vd38NQ0uQx&7L8jdVCv5hRu4;dj1QLDoz4Y2ZDjLusZ_jf*l!`m=c+! zOB(x<@z__)pcAj)e<~P^464x7@E~yVz%D3K1<{>@ltW8Xg#lND9e`N;B9fmALINFKBJ#N-$vJw372C9}C=2#s`+VqR#2hLQoce=y5R z0jVKV2-KyrV`wNQe@J|)EFSkQx~BDy#5w^Y4#iRh$cLg<78;pM_ZZo(&&-f8T{zAM zGMVX6m=xNSr~yX>eR2{~Ip_(wG)b2%-NAQ(lgrlf9%g-GH{oy~_4ukxE*%X#fHYJC zGuB$pR8lS@a7cM6i%$F+-R{I#MfXo&VHJ+KmRHVmmKj&&X)qI&woAo&){;?jnQPFF+eJR z7D$5^M{=~EmQ<0s_$-hLn9lm9qqXS>ZaT}Gj@qU(z3FIfI(nPV_@+C8>8x+MJDBba zbd)!ci%pjR)0y3L88BTcOlN)5rGj4)(oB~P(_P_HdFFvfKeBqhM z+W_YP?SbYhxfI$=PYp$Thl)X`+?f^Xrp(&m9BTn->p6^k+7XrlsgijfOkV`2e6^Yd z;(lm^0&;gCZ9TuGi4z>E7)%fAO{deno~(1#p++{+AstDXNze4m=XZpf%7yZ!yC$|0 zll~80k`4Tp{NKAIk8LKG`fIxLnhe)RCJn&5h9eH84H>POO1Op%u<8EX1)L^;P9N(+ zPsqY_xGkjUu$i*Q(!R(iAHl6sm?S@ui%qxOe|Js(%XPX@+VysF$(j3sG(k-FXVZP! zblv^)7AuB0evPOwetEZB`oIr?(ifn}#UbZft|-?fXS z=jiG^saGQJQI@&;I{VL6vlld)?PL43ZPU#;Q?5=d`El`Tg`(uMi`@_0IAYlMt-ZW@ zKQEt42j|}Xt>U^;!BY}5)v*;s@9GuX^!l7x&CajKlxmkI?9W^>bYR5?U+cA>nsVf^ z!@by|%6P+h{jm(Qjdx0Tw4ItJyEEhRn|FgteC$4FpXa%o)9lN)a_!wJK1<>Ldb7B_ zhIc@_QZG6M*FL>-{H(CnZgr1$Z4);6s(5{_+9z*9(>{yZZ9ek+bW+A*mzL%ZM#HP;K{Yh5h)sb5y_7ovAfd+WB}t{sZ4b?w}p zs0M4UZymQ;>{rv?ecy(LyWFhAd%CWj<5JU?*=u~-JgJ*rA|NYm(2*iGhmV_QADLpc z^Ki<%LsKIMKW%om!r%(}y>r%<7q{1puISgtyA#>0GmgxJq{z5D2HDPKER z_4)91>%kpo-|Oal&CIdyP zZ(e;$;N!We&MxyR^?N;ibg%LO-SeL{UgKMDmT2wbY^@LeY&Y%0xaJ{&%SWugH`QHC zt(NK?duZ|SW;d>Mx}WuXm$;2{%MN*Ssi`3=q37MRrKYWQ3x0ZGUs0d?AGgm;Qbyl< z;63ewcz(&<23?*it#4fmyKrpMxJ>~rw-nad>s!p7ld3ItX#UkxPD2O$A-cNuYcpg+ z?-_<67oQEaEj@10CI6GxvOH4i%-(!tlG~b#lje>(+@;OcSLVZ;%&oN2aC7bbEwYXW zHg&zUJ7k`Ie4DSEmsTJ8;e_~f)X|v-H|=ZCMsBgF(WQanjl7 zjlF~Yt5$bBaB1Qu_r`7H&W~s3_xG4QyW+=Ey6CTsPtMi!RqVd-+~Vf!t?d_Es1CjV zJ@ew6!6n}96K}ayv@i>5RHt4MM$KV zU*(#%>xM-)c~L|&UN=MOT+$HO%PYa$j{I_13QAeqU0&7sed3`4IE=+3q4=Qy!Jne3)E5wd}Eh>WZ?PuSSJL zyC=-9Zu9o!hx=lxyS?+FwF6s}mir6|%&PXtYRrJ$k7Ezb>v_M^@zlzZXY$AOeKmgm zr5@(pE%%8F-R-UW@0-x4QnUIy9jh8`>>N8!6!*D%yBbb}H?wGHp=p%7tL)kGP9MAV zd-CnmH0`^St=;deKYPc|)Lgl?zjwEqQT>kC(_@;2?n{=3T~otb@qvfEg?qc4XAS4s zrivEoo)+iyzkR*f*;5evsry-+zB9truYB(-;y$&rbq|lM;K`-r#xaw2Rf+%Y{zUPC zI>3H^Y4zJ+zZu8t%SB_~wPtCGBCRQGMRCM=rHJqO?WO&8E<4xxq zs$1r5TUWBera#sO4Qbi9`H1lY-Xu&s=n=k3FFN&&GF7&)-KBO88J^Fg0&btKe&I=z zRo&96t!iC=OtcH$C|Cn2>()CoaSk7f4uRv zdcDpS8ITb-{^|L5AdEmR*!FavZT|1Ky?2*tZdUwr)RVO(E`FJpcgSgU$K5?%oeT@@ z-#@JE>f&4de7>4ysq%C0tb4V8D`$Hk`1VZa21DD$x2rMunqtiR2L}R6m8-G7_u)As zYG}^fzus(E#>X-H+q#WSTV6NNSB^RA{kG;Jw$*gj6to+Ek{q;1qWoCQd zsdHdWk~pwgEyMk_gQoYmo%sIh`>A0&7v6n2Z*KLy9mM5t0*1%zzP@48>goBwe%J-zydgH7pTUL_RmuaBtaRrF)q{BhTkH+0MqPd6)NQLWED zvoXbMjudY-t7sVBc&%_QbmZY3UDJlFvtIFmD_WQ;m@-P%INvtsh^Zoz!KQ|nRcIAe ze)qVBriEtxA$nNCq@G2Jb{sM=q1Lk&EA8^KFK%r0PI3L0p>xJJikp6|t$gFzeq&FS zYtwwmn<$3|RTa1Uc6#}d$(J9ty^QYOHo{?3gm<=FOla;} zv0Z3PoQZjPex&+{THnEv&^hEnM5Q-q+VSq+Fe({--Z^ zs7~HL7@9CVKs#>!v3bP??l=~H`1IBx!yZ=6wmc(#NqN-x%;SNdLu8*?e5)|?+TQky z?@o#6ojNgjPnjp5CW~n;>?__27;M&|+uUt64lnECR4K~5WJ}*`CB2@yi!WMKw0P9{ z$gwNBWl^F<%YGKW9bC~Xdt>emF`}ijMQ`n?oF{%3BgAPfD>^%yM_RWQKBbz3rtM|c zqQw=oyUoU%^2M|!b1F`+_O@ALAd)Xu}*X3p?&cXbYHmg#%GSHo@Ng4A70_Uh27w9BB9XQDNeTYXEMIOEOJ z@@^?9b;mqQ*z|O6#rZ4V9uwR6^b;cjTsK|uF;^9wreJAfUI7D?51ebzM0SjSDF@*EPsCTyvTM@;UFbyo>tV7RuR z4To+jGvsDsrjJSp0&4~)6Z6rxsO`aAwU|pS#LUhr z<$W*@F~d)-tXmOPP)Znplm<-*Vt!|puoEK>%e@$lw!V*O7YfK%njBkoGXd8{WQ*f zasTP`1C^5BmFu9~P|Vw;cFsp?{0|hH(bmQZ*Vg_&pel{*AODH+Bs`ZK_yaZ1+9$Vh zs`6vHk`+t-6XjM_|AU(E{U^$O?C~J^2l_`g3)i3=0A+iitiA8s$T`hU>v zFHj!)1IEpGW8+i#nQYXL*8CdE+8hvGfd>P8dAFbKw zjGrU?QDw_oKVGw9aV;@7T%)*FOSJ8;QC6>wAZN65kb7DnC9DT)3Kbj{TB(HBU{pXZYO#6OcV&&Ro=k8R z(_=KkAqX2vEno*0-hl;zl@v4Ese}m)*omODn7`lM9K@S?AUHz5z#~F$&dg{}Q><+$ z2E}QF-ytN|!YFuT4vrPf(X`842V+JNtJoN?b|n*uC4$iogwsZMm2w+cU$IYsT3N1% zOco@i;*s(bGdie+T}V+qMWlfVauahCG{Rb(EhxHS3&Rfk6^uG39i$YlDlt7#qa3G_ z$-0Vmk!rJQx7N~H*L7t@n8is|lRE+EHUwAE{r#o^P2VxM?V3nX9_ z1~+q)I}v6rda2w7rV;z}RVyq!#Pq%zp$95uyFHFz!b`C3D2b85Sj4N@F-9gjbWjN= zz^I}kMu&QGcMJ3?OtMGouM(DlAv>)!ohlTMJjL`BjZg!J#UQ4Fs>gw`4rHRT17PF= zoW5GC6doEeeSk(74MRx9TGVz>Dffc45HoO8qq7aQjN@3OO7I0E8>IuGat&BJF{71Q zS=1XxP|*%f_eYBQ1YcpIP6l%m?E=-pL8LG{Y0|^ymtf>23?mK_HJXb-gET^1b9VBR z8y#w(lVD^Jtc1<4z$i+iT7Q*NjYFwM%&FARh+SUF@^MQ{G-oAE8mi z`H8tBG{QPRR&Lf86-`veX z8XEDO-qQjp@*BjM73J%hU7is1){4A8|;-skCRScS|5e9cP z#V(AO@(>tXB$nMw@eV^@Dgdk%RgaGxUzTDgA1CSlH48axiqJjjG8p**6DAsQ5$g~U z7d>$3suJ3Qc}sa1SjG76V)_h?a1=u3O)CBkjIB&^V_S5H7l0ebgRz-OPTddYiprS7 zUxHCNzDM+A%Mxs`y9J0FWf`><TJ*H&iX;BgHJGUR3SH zCJJIq7nLHSmzawY*#jYUTVZtYL5u-o-Oik;5}Nd8n*mm~uS(Isx0pLkBdmmw>O?%p zl)4Y*0*33*2$jOVk7(OLqnO-B3<8|%Bc^xI2u=DHtWh`!gbg676tcjmF6POHU>*gm zTCj=HV(t?x+WKo0yMx6be~sYQPbPz>$$7A03K&)>F?c2yj5!v4Rut2UK>->eNXsU& z6fG4iw4$w1Bix3N+Cv0}e=CRZp`*?!I};Q8^inHkgor`&G{Pwe$iYsT4o|bAQ(+Rw2GjA7z~dGZ~`eF!L-;=wu%sK7ifgp z5VC6FD&ZU$%>+aaR9iX{znB0f#XMm&m=Bl~&V_6+YQ&tPuF@h3wHWh!5YdpL;glK| zMuL$$l*Y{3m{~jzXAcb78!)PYg-h>fR*r?s;hagQ6k#_Q%}7a8`34NzCw84CF{ZX0 zKDt|gV4p~{pc$Y%42G@AS1rh6nHOQ`T$SJnM&`i>C)_PS$O3E&SU~H+D10Mp7S41$ zkL@aTx0#-~K)_Y(b!B{^U$1|71as-=kVB}qx7~^iiv&^N9 zs(6B!zDy%{B^1O5j7B6F8Cz7^+0KA91VaFV4T{79h6&#ojBJ;JlX5Ir3u$vbh7@@Y zJw*F*3?|h8+fch77>#F9F|(Vy1qdlJv$MgdVaYb3jGnDm%u1|^U@&Y_I7H0Ti?*vY z!UqUwjG>HaS~s~Mdcdb)U;)TuQ+P92Z!lDZ-Of5idcYH;R)nO8=~)_K76ddL(lJ&z z4n`XQx`a)v?f~XGLqeSJhgO(?VBDM$ zaA7KYI0JLOxm$oxFQkR591G?x&9Qq((ReZsHXg*x0K*te=8QS*Bv=b-O3eJ^ZZX)j z*0fO)Q6Z-UO-;r4!J_SYjc^Vcogu`$#D%BX5HWqdMmci`ib)rqQ$s}C4H}`yP&TWj zn4#!6R19jR5hg%LwqmBjioIa2U>HX@Lm0*iNNZNnX_y$)LnDlUkP1k#Qn>{T$0?jk zpCU!$%%WzU;RP;er&0tD7lSrwgf$S-oW&gUS1Fzj7jq%3VUWpiC_y#KY@NXx zA`i=VhDtGdv>5c8M!5?@9NR~z1?3p_L=!UscPl?I94RrK9D3li0*2elCbeSkFJk&W zjiTCEF?S#CvSZoQ#f1QYdlgt+X3BV#@C1xI87snVT;Z4#1IF@Tm~s^uY{0;nk7wtY zVv>o02s_Z-f@ew3yOo|($!uJ_6eFgJ zw%HotIRw}a*}PSDnwTKNyT^E-Cdk4@{a}(q3aDVgb^HLTHOr098cmLOB-<7c$J! z%Sic19<4N!l|;vI7Z~lvQVw_MxQH_UaDZ;O;IU7fvH8iv#=tp7E3m=JRn|5i_oMn*WM&hDM+m)VqR|#}clmn7l;Hy`oXBSSFM867#O8m1fKF_)1FkMvBR{ zA=O2a6fyLQjt>X3{qMt)nKJ5cM4MdCD~h~bW$p4l}r{arFImgDrT8Vq#(s| zFCfJ%a9NF8C6%xmjTDWQxeUL1C*~(%bkhV22s^XkM7%7%Mw%G@YAau)T0jn6dJDH( znhMHskT#Y!x?4y!q{^hjMCr9ArX8sge88fR$L`Jt!K4<9nU;tJ>%^cf8lmqx_ACUO zzfnJ($HJ$Zm>kOvRphLpNVOy90iu7R+Vn6X{0{EC#nlMtN^1 zj&SsdSut#v7&KZV9Nfi*4+9pcQho*VkOtX(cfrYTuu3s#w-_`=qudT59wCoWD_)0L8R6oCDpA|?3JcIWPOmr^hN3bQmll-Z>CflQdkbi%|j|s>@(KWe4jLX zA)1O5)(=vTkitAhs`-9tCBgie`$gOF8fEf9YSV7KT6qkqU@7H%h-xL-7^GNkE>gWD zS(C$L5#^>M#Y%iENcB8oD!T=#K+$fZr}Vz1iy0h^^ z49?FM(;sRCr(-ODvQ4@V7)>xi+W6*yd4sVn>Ka%>Ff0oMbgLYu$xg%V!90=27RhwZ zq#K-Y6O0xDTXA)cvq49DsHGQ}3VFq)gZ>P#)&(ux0i)@rFlzneD&g@7HWxWA6~^^Q0frQ!`K&BgGpUr%{>66dbqCR zY11sE>ta{1Lb}sH-Tu@)!YSOA=x*`7s{0w%eQ6&QMuJHNCG)m}kv;4T@*a%E9qLHa zvutl=yJ;dA4HI@}oEFxB`AUpV3vYQI?m%U6B0N{P8_MyZcswx4Q+`g&eW?+?nzHF} zpWuF;H6mRcgappuNi?zoj7-HwiU)&_!0^m@uv(~jff)@`2B@rhf;A&8nY2l>$SfEk zrHP08Jq&yb<|8p21%w6{nJclSqWd(VaxN1V(jAH$I`#HMT}@EXOk{ ze=wRB&_oZffVBg|u?iPu$Lj^-G*~4>fiWM_7_0)L>CB!B-{TCk08`yD&*Wda+JcZG z?h(kE0!H%=mqk?a4UDRUDezdk8wE2Prlf(9VbXb4`GxYNr!{?Vnr5d%X$%(_)sB4- zH_{t7jp;?@8o}lk>jvt@DL)j9_9s|?db7ZoJ+uz)gVC53kwQz&e75-@w5-OD1oM?I z8MhUTd7%~l_gIvWrkKzHjQqh`9Zz}EPJ0|FS{C>@9E?=^`+TINN7fc#0mx&|TAqWE zH*gh&f9pM9eL}Ft{UsTUMv*o2ptF&O2susa&e$HdICAIgmLO3J+i zi$}~@W_o8ZQoTe-Ii(PjsU}{56=g;Ak`6Nq{kad%O~7L zN?)X;mru$mNcoC(-PFQMr2M4TXc)YnvW_95pzR4@zNWU7XTZ7|?Mli$&7Vo<&#r1A z7%6hIw4+(g1EW1mE`!Z@Z^5F}Ij)1DJ*E;$JTJUB7J;=u3A8s}rMwFUt8me;{erm- za!mEXU>zkb3PIUm?N}K^z0xn)8Sibf|;M>JnIUFzOIJNnjnS@P>674?Y*Dgx+9O0&5L3YBm_n z3^v{uc%I}=s}gVj+!C;|M@Y3PI=mIreKb~+k=YUj&84Pzrq!9hD4!!O1p4rZ}x#?hTP(p0S`Ti&v^&RsVjaYo( z1BFJQ-MNlvJzg+}kS)H^NV!58eviSAs)12o@O%ri=sj3tF#Mn!LQ~_9tVui=fxE_o zktTbXasrG6F`A2|J~2(4q%gbNgEf{O=Npi!hcXxLE0Sn!#9atmMl6*@OAmEr_0U;|2GnFU6 z*qg!6yePKpV=AkLUziq^gBlm5T-E^$=YcjV%fVp5VB~)BmY;N*P);r?$CE_-jDq5D zQKPMkTw~Q7zr5QCYBa$0P!LZ>I>-eJ{BCd)NHIy{@G}6Mv7O)%7z;*Zkb5yXe`1r_ zS0zM)d7~VrIvkJ%MuR2o*QFkUNx_sX!lxv?*p&`G7WmC&T4@+YyhBa^qiISy)@-HC z7Dz=B8nx{)Z(f4>NF~s5t0tCgNU21Lg0LG0>7RXA4CajzI8nn@cfe>!*=|-JzX9D= zV);obtI1$Ah~yDAZ|R4BFLND)%PA@=`x4A+)M6dh;$uNx!kAkhhk-q&OfhpG;(bZx zF1A(n<_s4CO!!qLjp?o^ag9q66fqlWS<9t(ftwe?P#-Wd4h{R^$6Gij+Hll6T9obNM}O&T?NJfC(JEKy`js(kZn0Ou+o9k zsw)^RlJ9C4RzcbsQnpEc1`Ch^VR!siGfn?u^l-;23yc;Ktd&)j%%yRwf#2yS_o1~R zD#i2)M*Q}wM#zV>4Wv?FRMx5p9eP@-7+ukrOZnF!p_z+(yyCUBF$THGHOkI5SnS3= zZgREKh-7P)yn$p}mUOZ$P>4a2OSd4&bwB^9(7aNC!UQBcuo^D^DYdUGm-#bkJd#{t zHy*rTPMk=Zn==vkcq{18|X?v1MKm96P z10}afJCCxiy__DOhNzXHNcl*qS)Ssj}*%l zk-{AewcIR_IaR|tl4L1JvE2Pg@mi{z%K9V4Y!M4&*N|c*oNAa##3F@vE@)#LQmox? zNHM+kHBB-RDXBiI%Sh4bjwYCm>BrcunmQr>d+B4r5<;5!->V*kl-&2HG$2c`bpDs} zSWy0uey>W)%m}Fzworp)fpJ<}xm3fyHdd<^iw1u-Mm6Xm{oYzy(-3~&nDr$|_+49K zz)-=m_FpxrQV~+x5x#FKAJXqDAYGR_f9DxJq~BXWy1O9#i?OilZ&h2@{kz6QNdMI{ zS0SYU|Gl}@T>j34Xh^^B1o`Vg9{WNx`zW||R7Dbmb zw)L?zp(35Jq2`uzObqa;LAQS^E%In*G>5$4mn?*PkW#cobi#X^maep?<0-1u5Tt0e z($0kqg1r|hwHH!~o>adQU-M|+m7XnFH(*f?M@Kvk?+8X#DcDmlc|*DMV>Y;j;RX^2 zMwMXS!U-h{j0PNW0H>ahVD4bpg>W2f&howzFxS1WO42Wy7&*ioak$XS_dE>C_7$+bZ$=U9m@H3~Gy=06n zqy(Y5kdTI5q4G55`k{qnPor%IV7{j@2xw;SB^T$N!==beF8zQX9$(;qw-$`thDm}S zSFq9;Z9BrMDfpWKba2P)*rPJrt3k;ZUcy^QJ*heAY|)?@^DQjLESV0*O3*EMKNvX^ zC!R!=SxIlX*elP=%o{i_&r6x&Eyu&_j6AjS3{rtos#bH8Y&23`B-v%8`beq9E#!Db zMI|zj(n_hXNU_{rE#-JcMY#u%(n%>NADoY+)Gr08-;rV^TC_6dW+KHb_=HpsDj{_8 zWhZnjva>2-0az6JA{}UyLTmJzox?0GL4(;SBt4W}A7Q~d1p%!+%xB37n-6Ou2wrc-((ixD_{pow%JV@zM@x8R3 z9}YC%OR-Zz82FvgI$9F;_)bW{(4_;`%)dyJAe9d9Xsn4#d25-1gp^#zIUyz2b6yx}h_>VYW_ehA(-y!KeL_VoJ;(COXe2i~Y@l!7UCnS|;a=!kNkUsx} zr1Bi!sDYOpU-NQ=lzhYG?|>!1&7n*N7X?zj1r_Eqn59ssVi};>61lQnD83 zgrrv+NT%24@^a({=G$p6JOX~uFzLh9K>&Iu_wnR7zw z;S?b0&ERrE>Zy_E&*AcaLekGLK#``*VqS0w$E6&X0cn=41md48i@yCEq^vbO|L>3t zUyFQ4;2ExGpaf-{>q?gO(|AeG>jhD;g`u_$EGRmL=H@M>8A?4rX z73On2LXzL+c!%R%o=-^mzXM5hpYsPq@L`BqA|;HmedYA06A=-SPac25^$4k+r$7=t z=lli7mn6i8kjlN`^0!=0Naf#gUKmOAf#-iz@Cb^8RNxcGKS&E7LYi~mxLj(DGN@Jh z6hbPZ0H=n{xSWvWN-i(L<$q!w94 zAvLez*bGQnEjVupq>0v+gd9n~9p{8puOH`xl=SDEkn%g3!EaQsGtVHTWH-(U=>*xA zbHYmCgE%K7zYYUZh4dGT=~Ea$qNt?9|bHAoC~Drw2g&u=`R zkdg;DH=*&CR&FUxf$_R<(SL!{|?F5H+eoGmA}RLpNRJ9l>UHc5R&3Uj*qyUkPLdl zd0`~^Gsx+@^O@%tMylT&-KVX~8b~T-$Q^_RQvz54g4&$_ze2mS%PaifAXPCD->3tVfz+`n9H&wyK7^D%9Vo3oN|53Vo-vd2S)3bztTqlvE&-@{7_pj-+S7`Hvu}T5)}jhQA7ah|_*t4HZ#OYH)Po zSc^AM7-`>jg`5m-!1D=l64FG5 z&I_SI+Jl0SK||69NCktrA|Y`t=YNN^$3$|yXs$;{^~G^cNF$lVIUyOOS7H%R11S&? z4&)iBKq@d4D9sfheGEX-8^QUHAnA{SJ~cQRNJqQLy!_;@JYxzM5R&3l&i@mniszu5 znQ_e|dDTwTZU(RBN06HR75Y?eA&__`FHdN0d^$<))RwYWaxo#Pt>T=Jcoye`#8-1( z7?nns$?~d3&&hIY1C8Mh=oAMY0@9f;hnFFwI*xNrNc;rngw*qkKpLtmTwWMSl!tFL zr1>0w2a^5+CEl}9;xW&7&ha%@cn72g-vjAW7^&PR$jM;#jiKE5B?i|s@>LP!QSqW2 zEhJq;56%V73nM+FD9`1D)Qk=1|AeGc72n9x>P2M6^RaRV1@kUoS|;40^Y zq<5WjLNfGsAc-Dx{su_p-jR?a)%zZt@B_~`eBz1ET#=9zz5vN`IVJ>EWCkR;IZY6b zBrn4AEx4SJcBm?x|No%jM-~4|dKmw|vyggbj~>viM8$jZUqL#8{Z}gH_0nb?z&r4F zNbUcl!hboxA=UpM8Bo-im&oH*FLaC+Ltoy(e?mGL$8i04u1`qilYlh0^;}L!Ga!X? zLefj+9B7aPL%8BFo>3U7!r_op));)F8}M`>turGD|AM4H2Xb0;^MTah0w5WZ$@Tw4 zY1~)_64YIA_p@JS%ma~en=!jixnKB{$In;m(n`yRW9UOj zQ}qG9e!g0#iT?A|`p;MEgwo*Io%Ww#xa#Mt zb($hDU2lg`D*>=tM#9+ z)_>^DH!UCj>iy@d^`EcS@uP!uF2(2n0)M_*Cr|!-wf^(fI-X+E!Q|(wb$XnO&(Bxu zKVPl?e6^1ET6D+#`D*>=tMw|f3Fv+yW@YWqqu+i^&a&S62}R$_jw)WHmv(Jw6)o@$~=I@q*y%MW(<*Un0AIeG8phrevInj`;E#QQ{%rp@MN2h}XG{b}hy zp~=zHck4e2kJ`Ri{iy!<(3KyZvWDjLUDSSYNXM}=hMH&IvznN;X36s_uF{FZgBlJ($O!`_a` zsibeU!K~Z6^z*}>58ZT1n4#W>s&ffzWUUhGqGzm}T~Q?B}u(tLv@$@Y&|njeb$GKUPiJu(^XOVcZ1#-x=+b zJ&SrZ-eI&_4D*T(+hmcKot#wp{l%oG!ObH_UpTRCy4jHm+Q~uQUWU7q(^pJ5bvDQG z_KnQypC(Pn&X`$Qo4wz&)040&d2icw9qduaylREbOU+B|zW%xKUBgP1qo;+AogP@e z^r%;3oi--_UMKFugVP6gq>flFGsTJm+;^b&8fQ{UeY z3Ru`Gd(-i;u}j^obm1qgt!fwj-D|DdETiORyS;Aaku5&`LBDrya;K9qld5%IDz`E! zSD~F+#+9oexIzM}EP4A5{I~0*ewkao^6ZyU?$jW6q1mr9hCNQ`5_RdW>z?LUM-QL9 zr}5O1zQxSP`?bH8b+vr4k>#EpEwgCFy=7nP)u=rE!{LUG9gC|P8iy@|zcpJ1d>b&h zcZmPgvCl8e-W1xS-ITz6qh55lrn63Ixyfw7zOzlM#*AO{>i2*hz0b7SGxeplN2Ln~ zH{^DV>iPN14K@4ydp28L3j6zJi~Nyo+`>0pd3K@c*lWus>oSiwk4hT1^<|A?@BZjB zwMX%GiSbF@C)x~|?Hj9qzyIR)4Ffu!DX#hyUHsj7*EKB+&y6n2Vcv%Y@47jheDSLq zKi9oGxR}-QXoF^LxiO(fCiSY-??InlMRT9Ma=DaMEUB#T;1gz9Gkn`r$a4x`ajLn; z=xSaUGVd31Z~emNjVQBsN{6LW%j+D6ZEjwvy5pzz7RUA5cMS6P?)l)ixZUr}F7KMT z&L+_|sQr~l3Un-dK(wd#hW*W~$J?(~j2Ni)~(5 zYGBRaPh(%lZ!*3%-)(2z*J+o{;Q>c;Ctuzk_&K)bo&!-1Un?wMpO9wA8h0k&?{tpS zaG{WW4GP<5tkc`FbzC!i2&o|6_~CUcVHSdGCJ(UG-|UF(`d|2dHas| zdnW}S^NM#Y>Ll5gc&RAadTwd!y7l^~e2)8F@Grfs(k~5%PhE0g%&6_JT0S^;x^&>J zx%0nXa@?|F*k`$7TaNqIt^xNQY+5Lc&sM?_d#qkIUlLI9TUg^WK34l%%xyiut66lh zOLo)huF{749ZCrQ{o*^ei&4fwfrT7_KQLDC zF@NtL-TlG)WwxQcR&RE#v9JG}$*FhydaYfWJn!Mvt+Q4QcqIZEyF_=O#{{a8MXO;>**>nA=NoW;Z@rdF+ghTeh6f zGIq#9y|Z?sUUfmOh=aAte*5MAiT34ktQ$|;sk&IEc~JC6oBKU8I~@s-ADeo9V)7aF z>8YDG{J!$&^rta3#<-lUv&jEl(_M9MeTlnf-aNCI@e9@4Y7Yj^%Q$@x25$Rm#Fug`4s4?L~?`1(xX3SoD^~mGEw?~S2JSu&4?8?YqPS+!P&px@a ze0E}n&GXH6N1PnzL_9fP$iK~u&G(|(h&6I6!^{iD<&Tdf?Q1sh%d_c8eHXoOQl~da zY&gi{W%K%{>{rjrxlnI(?iX3pKP+c8cU&^M!{`x@Zn_m)+BU!J{LzM-~ z@r9;Ov~Nn$lS>ow?W@RZ+o{($D=r#8Xb09=)4fd9eNj^^ZK8U_U$5?>7*qYl9!q1} zlv*?1oXf5{!LPQ_xQEPpyVGy^jRo<0mwGH;IP&_)E>niodAq-UU6uOs%apF$Iy}xd z9DLvA*J(?a-P?b+*Q4gKw_m9~xR2P7-PU%PGMJ?KizrdV3Rrf+xCde@NpNrCa)TFyY;&%A<9k1AQ*M2#J>#u2XI{$H;YsCH*F88WUa+Q^7eq+Nm z|H!E)wHdV*R?!N@ihq4EYR`brRpvh1^P-S>tqYr1rvDl5lySb7PTX|~ztG~#-9uKE zufDvB>=!bAs<-O}>+V-p4}12eY!Mqpu{OI#uGMB0TlHk^*s4AIF8OWJX02=WV7bw5 zJeV$+M1J`*P|i+p`<)7X~n>#8nQ>+12VZL3e0zNpMMcCGL#&^brtl<1us zQ7nGh%1=J6PtAXE_fzZo=IzW1nb)?kc`Ht&%zyNHVb!S>9_i!brsb>L)<29sdM4|%nu9XKI%L9T-! z_YN;P)%wXvv(Lpo6*8}VVe?9Tz8Jo>%mOptKCQAnwuVhGZ!l1`x7)>+HKGRH%R3P0 zx!Iz`i???)Hl7~(D$j1Om{Vb8qeX}IZ#=Kvl=F4+qkVT?7>8|ud7qtcjm)SbJLx-g z`NUlrPwKhOde^C2!14LzcNuFYyzS7xMeVPh?@lYWzMps7Z4L*s;}2|m`RL%$jlHjy z3tkhp>^}V&7}LR{Lt*n?toz~=u-x0S+=`nkcYpJ*x<=h|p*pD6fNi(e^C3q z{=(u$K{k6g?s?X`Y{1>hy0+8StgBT?_t;}=;QpH@?i*b;!aQHA8EKO}EE?y{8@&2@ ziAc8(5gEOMavRM*SUWMN^zso8+t@96=KjI9Y>8Fbj`f4vS&TKmUhDY9Kj!(*3@LTv z4~Hd%%)=kdD)^XpI31{)RPay{%9J=A9bI`>_Y%+F4=}gyRm*eGn4ylNQmUp{ zJh65ESTcKO%jyrm&FdyF6)xN2H4vg?eA z$tyPbe8#Uw)7A!i#ojxgfA5;$d^Ox6z_CG>VTTN9`~PU3_qv`ePW`!&m!f#tAo@#7 zCiitJunythDsAAT{-rb2TXKB&)o$s0Kf}70cj){wcE@QSBmHR`pV=TeS;1+4AY>*TvViH%{IJ_jUbTqd{et2F3m7wEt8?-*>2WsBB&K zp+9QBO_};_hoCDlvc#`TCk;MPz0p29F)ri6#PiqVo`%1Eu+%px{aL_=*>eh+*QKy| zH7`f}vDm(Qh0j%M-SM3g>DVk?J5nK+ulH@8yujDRqtf%*BO8y7zw*R2VYZq|wktXn!~;qt9BKaI>A@!P;p zzdX-gG$8R%-K|xY)_5~>`^7{&5XaOC6mQ#$>CtFf2qZxxxmhreE1@G)=T zo%yRKqsC0%66Y+sPHeNt^I+prc2S06GkzbQ*FpDky?6fY0LQhjY)%ZQ{`Aw%xV{w! z_B~pu`T0M3_nyARY3j6ww~SB8ytHw1f9W;o!hD}FYn!|8kM`)H&Z}l!v#t<4?S6EF zUq>I@yQpz$Rmaoi?R5H;BS)X`&;Hn{?EOc-#u$DH?d|mTEdALmlX*P~jKkor>RNB= zxF^=1+WQQ5UDmQ%tX=lN!Sik#9t_^~Az|U7i*7>AIW3+v*k#ka?4EO%szu0$EC`pq z7}_jo z$-aj~c3H|+6qRgA*@aMK%bq=vXb4HjmTZY^MfNpHS+iA^2#F~4e9!Oq^gQ?e;q&Sp z-}9O8%$%7y_nb5HkD`wm7CzK4mWjVAy%fj5Uq7DYJBkcm;5hW}RIJ)|HP6MN6=Uh? z>RMx&!=q$93gv6Ra|hZ+nJn#S`L2}SXp>?lORk}p@nqqUk)pJs^?dE;k!1amOfMFD z9n-(;S)k!om}*c}!PHZ=4W=}fD7p=s(qLc-fPocp0gAul^K&|!jyv^~w>^)lxtOp# zdb;Uha_5bz4S?cK01jvi10uCB-D+chkh7U& z`9Yo8o7X?@S8J4rz^~L$5v9kMo4d^0ZIY8qx!Q&pdou3s27A=Bjh~@*NuWIvQ9iwK zfU7C#dl2@noqsuSLPlK>b_l|vfM;+VXB1KjAgT^PWfuTfgzE;NP!9(dU(ueQ7U=pJ zk|*D0|99MbS&z&#aY`_G@r-2Lg=pxQ-Zm0qDL0;MEJj3pHY369a;MP(9wn z)uZ(I#_o?lNjk~1vK{SLKc|p62w5L+O5o(i;}%{)iT$jMq>-gAfX`wl=m2G%hUjx^o_@M!^%`yN0fTE&1! zD*)p`0MRIG5Wo-y$UgvxMMfV0M705^#6TRveFUJ;4#4gsfOu4ffjJDY4gt7}E)M}n z>454}k>+Nw^c-@ns`HJ%RTqCXM3a8f_KUP3$;;`jQGI3oT|Ee0eI`w*Tr$hJ~yS`Av z@?V!n33HUG_QehYqZWIla_%L3KQUvn8<=7i5~O##)>UX^@+kR9HB!OplpU#WztK`B zoQbp=l=vel2!{4?1=&y7>!j9&>k@XW*OpElbF)fK4b8K-vZ*_%J;`fr&EwUvTBR1- z&%p8X@}vrx5tHxirMb66b`i0=Zo}8~-|TXCil&Mr_v`+=5LjT7|2*v8MUv~Ye=fS; zb2pw#P+Fg2B(S&|VjKh~orD|;kSMi(>{!4XJrD)JbCJeYPv z9tJUxhImH-Q1t)^9|e$s`Y}+Afg@u8GEvAF0LNYcUoen`q{jhp^Z`g72at`XFwl+x ztxo`Q(cMn~eBJ_B$3Py^m;fNs4)${D8?QQuIP z+08Ds2SkZ1CQhVYYy6D>OO5WytCkF`^7oYNbXYZ)CO)wXktWF9P7Z%qH1cEiP`MR> z?3eF2kMFSBuYG~Z{8p1gt>#ubhxUG13_=p`Ad#+B;I{;AO@iOKcTfP!DF9_iqXIz6 zdjNFP04k8#GyvT}0QDHCMAS0?HZkBj1E31M#6bQB09>B|yhKi)0hoRS(1U?mMEC-L zY6w8U7XbCB0|V6-eR~ zqQbw%G*fxM{Cmywj$QxxP44`TSASxplj#$Sf;1IF$Kb8f|2KjS6Wd#7NSa$@KU?Ux z7)Yle_q}x|aeOxKcmJjMkKa@ zOpqYIZ6J=HfsA8hiUf)60O9xoByI=D3<(;+NIOPUcY%B%K{2~Pe7*u%!pJNMQu+%- zWEMwfFxt2f+^YUS#EVurAX9RoBrj(q&yqdlLUM&n6T@AG19wbAxIx~!kl#=yW`Enm;@&y?Co5tfWOkJOGrWuLX^u*~G<;CY<26%ek`&Ih z!?Kr(|K!Gi&sX;-+5MK@`6At-d%8Ww;n6luISS~0l4uxXMhC?Hmvg6RXpWq6}Ojjz3U7R(hy=erPNI zK4f!>?GMxabu)s+gF+27)NFgC%#Q5KN_ZH?p*hMC)zRO-A#+uqgo&c6ImgGE925ZT2mp?uG7Pk1fRz(~7P`y{z=sk*3kGx$ z<30c)Q~Z1Hc5`0kA|_d;qF3K+X@q3K{VOaAW{biGj-qCjfwh5rCZl02@?>fp!eA3Iec0 zmjwa%Fac=6fCFL_0wBT+z)J{#6Kcf35C#N=0XQQMVE|Dq00uGOig-l;D6j$u7Xjdg z`Y|wvfg_>-JWz-zfD|?WUodbTNs9r{We1Qf2EYqVVPF#jTH*k_(Oq!>`5XY&G2n|d z4gxSG0LVQEz#pw*fQl1^nslqCV68Uy5#0D_Q_Bml>K04f3CL!jrDVMD@xAWLP? zJ;D%93Vx*>19npIH{qxZ13p{;SPub+M3)Z%5IF##1q0EDQ5wJy2E3#J#G*zFL~#QU zJPaTXc^n3yz=Nj?^3ox7N<02n#z)I)HUG+>Zl?od_o_Fdx)S{9al>%=guCK$Tes97 zABtz_AR8fke2 zJ4n(@HIM8&5O$XAeaDI472OK{ga*G)v3~L;zV%m4e%l9suJ4vTe?{g9qh2c-=fQL6 z3r491vQR3n|B%RYrYIAml2M{Z=cxrA%jDgY6>uiszq(^~il%&Eb#j8A-st=vrRkj~ zf&+7pa)(y*8G2)7UIJe~i^?ZHwsN z_L$jtIAVUFwD}y-ff0hu)uE~IL)cz&vzoa39x2?0dQUU+?tIdu^JlF)j#Eg@Pgo^& zSrKA!0vF3eLj+3_yM`eFu|* zbD-}bJD3iFPfR~RZj3=c!lVGxA;=7-!!Rj04>|&Q!E_WR1)zvZ8IGW30!J8!X@Ln4 z*mWFEWf+;jAx%>tjw(QMO@U0|&<~7or~)xI12O~IFay$#5pr{wA$%e3{{1g1wdnh} z=C@d`Se~e?wefx}P4&&PV2Oc;)@SaHC;N4s%$Id*zq!sEN!pvMzqC4GV-}FT{&8aVsIdYqSNVCayASo()x+#o zoDZuSxy-d5rlz`-JbFZFVBvPJe60N!T5L0bf4v3!BL3fp?1o7_>CKc@!!yq&$ZMxX zZ`*F`#q-MR9T@01Kp&l%*odqQL8#EmYsIWz7Iu}5fpy^=x z9hwfN%g}TzL06#ZV7dxT2h$(WwJw6LLBqlHCo~*P*P-E9fo?##AYLdXgZ^i0gOK~{rV9!EOoGWRwG|o;_o=5Zv!suVoC!Le);M7AHnYdliO!y; zJo(o5aHj|n7FD(!UbF;pgG%3Z9@x${-kt1JVVYsQ=j8U4#^Yv_&rEKG7IYjg63|;>IDdhZd`KJh`pB-Xh^(lV<&dE#a{N_$^1$3VcAbfK@@}b z-mlhM@iU)qTu@YPJ!V3deQ3^;Gh}dwaFpVviSxSI@tBX4jgk)+T;c*P`E`@HJW^1` zX()Dv4^$rkWrah1ni|5OHN;o`#Bsf}mx8%$=Ki@qh6VXkdt+xAjl3)MIkd8@Zv-~> z1{)d6z7Mus7UY|EYRTw7WFAJR`03%Q?wq{dXgyIk+=o_uAuN>!2L zu7YaeksqeokV8y$AcsFdbs>kC>Ol@MJpnmf13d{j#8e-0h^YbO@F(ag$RVbu@n`{4 zL&)Gds1alk6s6ce33k@udc;}C;RgKAImjWV#*jly&qEG>fto-LF*Su8Zi1TOkvXR3 zkU>l>AOl;V7a#+eT0#aey$Bij4GQ-;UBUDcWB?SF40?Xh>8()~CN^jb1hqSX9ZP>` zwsxq%AGkfj-2`z!W|%mlGEAHhbpXf}bQu$8^b!*n#25(Tikv`#t`c`AY0-F@_s6Xt zwUWgvObiE4+hv)g(WEG9h+1>F(0$RWkJop{GwVGPCsFC3D=QjZrBlwC=KsdPqt591 z;E^$0rv3lX$Bj6y7>ll_-Ho&Ty=PUdqI^?ULUas9ij|mTXwc!CX6$-Vr`~LP?YA@h z$pqIj6dR5W2^e`jqF56;_2ClFRh6b^i;6^n-4Smv*!MuxQ6SgQWlXN4mmp@I#0P!E zTsKn2U%}KPBszAUY07!OndeF4w;DQ!o}EZL;3Ay0BV{G;>4Co^oT)(RP?*Sb8l^U> zDjbdCIpbCLV=aXEYMd9+!%hvGZm@i?^Gqy|)-930N?$zsJhHicKF*zx&_J48x^~)M zcj)=?#}{=ie=I$GdU#fb5b^X->3*I_=4y{dhNjbguKnMbr-_QFno2^Yua9NCQ5 zL+`{5HCl8IyY5+a__KcAA-Rn2(v3kit2?vQ+P1Yp%>q?V?h51BcDgK2k;;W_?!;Go z-6gZziY5x|LmW6!Q*_BQN9`4%`R>7!tX0dFp$i|Q&qqdbQ;GaK?7gOQaWUesur(9n zuAB0|lnZk4 zxcrX(yK7$CrEt}<53^S_W`+$?xW<(Wf))cPnQVMgYO&pPa6$ijpYToMz=jD?cMn}m z_l`Mz?p;zgwS|P86DloZlCc)y?TCsNeekL9qsNI@wUZWsiSP9_oL^8CKDbiz*{{2! z&4hR-^fI>UrA%%)aIWR@I~$_Ffk-+OdP)%T#kx;0>c=DmMPo1&O<@v- z6vN<@aEsW&?y+sEJ<{Ek$9>GZ)1vpJN#dy#onq317h7r1SLyL-c?N`d8s$Gy_jGCY zd1kYE%eN#gGBoj(XZwAc-C@n&ZbS~kiQ|&=nIHQ>U+ngqVc>0;JB3YXrMzvc-FsjE zs36Jhjwd=UMq@9%wuaJv`-$8ee>8Q(Th;5D|3OO&T5~F@Bq?2e?9EmGX1Wo?fo~rd zp`})d6xzV0PxDMq?JcyQT`GN(7R6j(tGt`-KKZO{OG%QMGS_Q@tn!`13$D&_{wZ@7 z&E01lANF~<<&fdv&2;|)N1`q0_qZt37!7%eCO*uSi+NkH_1)!D(tpQOj~#p|8C3Gt zb74`ieQ4OeAgK2*^|DYK4GrHd=2Kb;DI+fLtEuNwDP9N;UEBY3xOt_Bg~)ykaa>U{ z#$WvYI+=G)QpEIoip0AXy!K>shRKJPZapyemMW>t%lAsoixAMi=4P?h^hUl(b+*`48=^{Z{pq^w!Lq%X9>PTS4 ztx|R8x^@dbX(q`VXdLY6b5SgfHa$y{R2P6wZ5YGo;1 zeVm3aFHW3gM4hvfbQ|m)S=}Kl{MJPR)vGm^dWh`ZMZU2xN~QS1D7Cw#B|<~_Swvzi zvO%EQ$c^+VHDx>rN7APOFF#yK2YuBz_wsd8IeW_logZs=USH&UxAf^&vSp#e@2kS< z%Jal`3*93w^{!})>{T*X8|U*%bhJAw+5$HYm zH}kjCSsxtVbNJp%nlH)wH>WsXc=nGWRX-@TfBc!V=gz$N$@^H$_Si;#x`Ix+>q4_< z$n%elTCbd1jOUzZ{ELKMX9vUt)4Ma)$5V$GI4UT+CS=?yU9a=AyhK#$WF&eU8=L)L zLKJr!CPWAgV<6uj(xAEL`wyMQhWK>Sc)tfMD#Ym*eV(G=K`B_3womSss#YlacPRV@Cun8I5gms5% z9QaK`(Q)9HDgX+wgnc1B$M{ei7S9!-8hO{&3_AFKAV3xgiH zG^eh9$ewJQnXk~T+aK%qt?XEpKJ9G_x6B8sd?VJ+3kD5|5|xSOv9OMT5VpzWB6Xfj zMa##cYMVbOh&_m!`N|(gpMCSTq%ysXCVQ@}o%>tC;Ojr}%(lG#*a%&pS#E=J@fNLH zNOl6t`W5U!nSbZVER-4#VL5^z-7lF_E##l;=oUxelaIFYvc>L5arPa$*3F1>>6w-b z=J&gLjmn|Ry_+H0eLPmER72u--@v$*h3-)y>txhoi|v>9FD$mT*1r!~ioQ&)uDFyy zZvCV?qhYt$DUI0|QwKLh>e>5n?pwk1J1Ywg1Epbvc#mQ!oEy#R*71_7D!kH0%=bSJ zy=nTL(}wDU;8Y+}s&0~FcU|)8@2mMo8R*&YXS=ELt#(7+s$8p6blk8ydfK;3v}UZA z?!JV6h4-D4tDKpJ-4SZ?IWAovhpKF`{R#is!*=@m_aS@#;q<0;HQ`V2tLqD5+lI$w z_`L+o?)Zu==1nDyG|3K|y%S+zLurJ-mlF?5J}mt{mrlFmX!peCLT6i?J z_P$Qm>`}D$%fIuQ|Eu^=x8A#Fb_zFL4R)-1%cI{08Y%mRZ=6%PbU0UpT$@+)x7_qb z*5+HLH?O1=Z-=X_;S-C9?Bx;Li!iTyPB}Z^_WQ#_oH09ncSzA(`C}Oxg>$_boRS4q zG3nZRaXs>EgrdAqCTZT^xibl`myezeXXP!`R3dZEKYR#rg@CUq;T^--N)SCRuQh*exaagK*{Qk*<**GTaE|k_&lF& z6WPP=)%y1#Xcx6(q}PBy=rGlnY%9~OzOK9iy{;G(C}DMxM3Z84_S2@!Qul! z2iaW`NQ$H+{pKdBZD#*H=+@S)HDS~P_K;U5tnG?m&6El2&8Sf5OoESq6vMjl5fFti zAcH^*N{A00$Ku;KmRs~XNAY`>pF{wMy+d9_fC1)mYk0}fR*fHAiCi|zF?#h*0R|^HZhW%4WtTIvlz*bz|$Gjm7Jd4ObQqd_>4a)cp<4e zlC|=aNZ=o5rTR9xcXC|}^;fU&V;u2rGdLAa>JayeN-(Nw)$A;@Z-^Bo_p5`FCyCs= zgjI14#5IkCBS~bzk!oRmj1j6RAO^WW>S2YP3#1w&J3!!Wlhg;;nI;;5@e}x!Mp!C8 zfnVW>0YaV!mF&<^tq;3 zoVzf-Cr2-aBJlV=EB#@s{-3r7Le>BNBFL}vr<~I!GTcI3xzZAi-EIux0pp}%r7auO zR2lMDULF$7vo!p+{Loj+>)Lm(Ef@8RQG_)f>8GU^HBTK@?&kLl+I8mQ=wmv*w<7Ze za*c(SRon)K+hCR728Km$LlG?7fpow+za7XBM(8?#biqo$14vXH5UxTXJ+S7-h{7Ep ztersmVAbCVWDX+%MbIAmi7hwI?2>2hIXC=;#%+H;<%L1p`$e~e7vt-x?mk(f$c@cc zm|E^TD>oze*yQs-zN;sKXGd8!kfecuTQYr9qeB(Eowe2ew{~vh0!W2EjF6Nb+q*^ zQ9|Fr^_8dKS2qFtjz5JG48j$bVj!Csi7N*35w5XdB>yfDRrq2CKMXDO84%M%Aj!{w zj6w^=2-Q8Pa7U3%<#d|P?wP}v-c5h7`Q_wGl<_ux!t ze9h*1Z;M{z%^zPgPhPW2Qjo&CrSFJZ^_|LnT)k0EAwT`{TBMT6dS z5oN+CwtF=AW>=U zTSKlaiM9t;Y*)Vgh}$8TgZP0 zrG=1$TRRxOPkf_WR`KeyWtHF2z12)E)CnK8ZgF#(kGpVRx_7aBHG4CdU^xdn%KzW+ zjcp70??cx2<9>zCBh?rT3vL zP`&g{_GawK-k|59?+08WCeFXmr!aXZPSQYBsDFD`Vg)1nOj>07Yh&BRY>TJgAvyes zVes%FhT!5}>&hl;>yw{9+^Y@2UkeW>B(D={_cm87*T^aViCNxmxKACixM~>q`#f4o zgSHkre!@F>IBj{{Yd-z7?~AdpZAUe6+KE4MG8*!k&@h`4G<#1@=4s)3khKq7XnlW7K>+V@rQ z$Q8ZPXqX)co$hj>PYo-*Vj4LWQ*qYpbRTtOM#HrQlJ~SH@7c1i|j-MnSPYWZshUM6*JI*VhWzjfHrP6i}`{3g}*>%tpvdAr{Wl4%@Y`L4!W)B*-Sy<;dn#Mzvk)`f(OEky${Qr6^Ju2r8Ha_@JjUVNd1#TvQMMM zpYq}DhGmrxC0ce?&rP_>Xz#F^62<)sm$GXhu45*obAw*h+d+|ENnqPW?QD5Gt@qB| zUoW51sS96~ZvLP>&=pwkkaObH66FZl)_~jRVH3E=UDLrGCd;^cZ&LQN@yH+9e!o5i?<&U5Q~!UmCEOnQu9x_miWto@B;Uqa(HS_ z@3!{W=?*SC&#=t2w1x^NLJEf=@HAHdiRan ziP2<{8?3D#)faY$f<@KJwWlu2S1@sjiyzC3%ox9M==n|i|8DR8-)EpniS6-~f9h#h zBUmS{DV^B6)vnEk7bSKCn1UCfC3BX5B!TV3`c< z;{&e4q9yp>{-_?ach|D%2moR{rYXfr4D!l12EvJ;bx07SvoxCkrobl|&-!-+?>7Ob#ubXdrShJss z@E;lpHV+ItN_NM6JFynKZROuWh7$2s!CXz`F?7oCDww=cqkaqwVc-b#QUhAz0ee*zrG&I#w7%2-%MrzIi3djck-<<1y6@H)@h+&Rfd>nb@%ko=~eI%pSN0)c^zAA6lbLu?) zJ>+~`@O$Z#d+oZ`m+JJn@Hf5Xt%vs=y*k~PzmQ1epAJpE1iK13(B^M2W&SdFzx|V7 z^JGqTRGl!Gwy*a*uKL~I3#M6#_(emGcY+UcCJoQGIPbl9)1vp)&XRG?8;wdXGF+~zBDuozP}9)$Cd0>#O<~!ouU<1>bk8swcWmaEj0KObej+M0Be6Xfk%KJp z5k7YD_!Yi0yH)lv-G0Kqb_`^k+;JTDd(A(c;wTI#c~zxF z?^=BxZH{i3dAeTK&*~<{`VpCh)_)vvn`9K)6OTQG=4M45iJ$4{c6|ugHL(-xz@Y) z?hKWEr?h!OP`rJNcX{dgggQ6P!j1XLiDHWJ0?U3kTN;#+2eni!(e2a};->BO^^Tz_ z?=qL;mi^9VjxGPszmG5E6rB1T!74!`#>y5H8$goz$Xssk4ZBbkjRI!Hx-tpAf*Qw< zL}?%p+iN~pZ*t0)qfG44`N&5SXC9SvO4_BrAW3p$yWcG5zmx7mt%8=C3<(GC<=^`) z9w?_CIZS4q(%~HGDcWRDT_s_Q4D!KVleIhPGT*I~vJ)YlEr~|txXP?}j*<~=DOvjy zZ|o~{<1Bb#nWE|Z@`)I)(MN51`^CQ_27W(N5_d&=Z!@G05!u^EY|l)$)tx5(0~zPF zTL(5L^-2wuB|edM_$Tqn`FiwjxtA>qSGmeHeJV=e*U8+ ze)Z-Wyr%=~RCkD<0iHzb-%UDOj@w~(v6#kYuKY|d?~IBlK)jcc;>dpZIaNkuco;3BLzbN zgi{?)?(5yGkH~x1|EH|BvnuAy%9WUdoXy?HvJmV&2s%V&9I$U9iRGGj(Sq4XeT7s+ z{FUX=E?;Ul?>)=kUDdBk%y}eGHXh@h4!6z}d8=BG9+-FjP2I{Tl2m#(<$GPTx4;({kw#4^N2R{*L$Q&qGp82Z`~1+Rg1!;JOW?) zZjv1TeK_JN8jMGE@GcZQA*h31CF|gdYK&^$`_8nDu>I6(?LmrDUv@uQV6OM!$lRWbN@^M$!qssQ8`8;x8vVuNXOy{Ed zB1m4!ar|Ky>e>MRtb^OMl)8#z+!M@vK^Cr2eYB@$*RK00-Q})VU8-6bqy3@Uepyv( z(V;)sfo-m(tS6<5?_?w&kv&0Td(Y^v3rs{z2jtyM^_6yQlo26VJ**H}GiHnsD|(Uf z#D;e=bwj=X5Fz5HAiHF?s>y|{PfIOnC%Bw`*z?Fc>-Q}p*Qa3b>R?lP$6X#KIvMLX z_8~$_QB-!P-ulS2-FNWockl~Tl246B!nw{V&kMe}d5vA-Bj(~A$&oh?rEkKP{Q zV5OXV#?tN`J*<0KIjO5FTyQ(=;N>Z=2mzMY9m3{3qO31g$a zgd;9oe*$&#J05u_MxPlA>6&^m`|24y(Fy7Nx$*Ryrqude@3@n?mG1*)tE$yrhk|kw zle+0r)2p2H?Nai%rlJ~P<9Ku*(>|pb;)|sc#P%Atp30y2 z^Ncol^Fm^j_&z7uIalGOoZ$AH^|}uuuOD>n=(}7R4}M0ty~oHp^LeiH-m76*lW_gy z=61fy_zm&XZzpShCLWs`5p zO=A(_&V>FobNP>f_zc|bqATWkLBbaod=x)MzK$J2aiw5Su$i=!{nE?_fi4%ho`AmOH)R%7+BrzyY?UA6<9$qIyhtB^_2I_B;;Q&#E8bK5C&acSE)0F)G7#4VZlRpKB~%m zm_2%SZ_#Err<$;m% zb~;eJ=U3xYi_j&p{92WS*rTDdQeBm=za$}NkKX$PC%c;Hn^8Pd;szxjb%bU{TOX7S zZ%S&}&chw_U{C4%-sHrCH?_>t?l$RhbDp4+JMCm)Wb>4ohFp z=-NlOp{H`EBFwc%GxFY4*+z&s&UGdc*^?)>XD!8hE#_&lM@E(Y9XGa5E?zB4f+T;O ze`RKTdNT89keo;1K>F0pWkSqr1LJFFP_rp%V$t5uv7=)3npYlv9v5#%8RcLv`p1ZJ zAen2$OuvtKcF4=5UGvi8*{}UZJVM=!v)enaOU8WZy3dh5E~)I!e%5VnLP3$4`Mv}P z-_qEgs?AJ);uDJ^vAvBZ%1@q2FFxi93ci1KxdJ_BA+yMRw-vJDX^Omi@8d>!FE^Oq zASGBDz=ONp&uPE+WPb8CAd4*&{?(v$i+$}GGN=H1nThe0bK&2UV}hA*f}$!#N(8eO zfu7l6YsF>kKb~|vOI;mWb`{1zY)Z}XL$cq3?zKmgYVsq z-_*Fn+dk!IKt_HR?O^tTuPR(86RFP*_Y&|NkqzKuHG1OS_buFD4%u8vnvg$AJ++>< zBrE)&YGcGRTf4v=F^^fi>DsREbV-q~9FuxNRJp3e_H5WvbYq8AXtJJ_iE57sKdc-N zWxMo2tS2m{D6R&7vF4gfWpc&C3j_-r?>loYxo51EH8tu(&#np`6hbPBWO=2i_&E$C zf*)ZRQ9~XdVHk0&gkfZvO?>1I9go_?&nb?>PhA*k@#RNp9J{NF(nyXx&cQXj(wNM? zbipV^@x{p-_%XV9WOi6JbFqCfD7Jje>{c4~5Z1q?ss^#&SQhiw=OhntA9JXhIqMU_ zNs-5*QWpernO<&G$&3!|vRjSp zrTFa1@_8A*pRj&&JgaDr(Q^Y48QB8bpiL$piW)5+l8b4m9Q*M85eh|a0Kl|a<+cr)00X_=sCvytJl*kyk^uk~(pwe|Y&b@scHkx7w` z+^3?YZ?(%#3#69~EWR8hAMdbVBDsFmIlQAsGu`=mg{Y2q9g#g9Vtcc*eJg+Wu)J*` z71E^VY#d1?u&h=TkSFyfJ*@e1vcZj2x>Ni}Leq)S zu8ULbM_kol&()GSH2%aidmr`uQODQ9Yv-JD&XkM_glWu(=%tnDla;@IKYK1A_^HtG zA>+a)KRBNk)t+lUX@1U&@#*q;h9BWX_VkGDSx?K^deSa8D{@sIi()up75eq^V3PdnClUZ!u{B>~#2@A*WX$Z0OWCn%#H%-&~}gqbBh zM*UB5)0G0&_-n!!JJ$Dc9=vpNs3&C6_hA9sR;#jEiU);=Q1pzi=1o=mSf(R}^`iK4 zx2YsYml)#j_D>Sqdz)Di;-VwJXreF})xI9X(#~4_fKcri#kPF7^;Ex*if!-RC!KOH z35|?bY{Ok|A33F&9H>Lbr$9BNV({>o$hUVW;3e40j~IOS!>pt_aj#PF^I?am}kANcioY|+{1tGg=|tP^C{hF zJ_hwdC(|b75F3BD93)W#_Cou;)*hi-(O!8mdb0NJtC33D7Q9(A{dETHzs%_g^~(;O z`k%5B*WC;_Hj01NO*^vsUo1brPt-uem*U!Wd0rxWr-|)t+N|As^JU*j`aJn_U((u- zznS(vBy6h~R57sIWjUQSQsUNeQ7U7UU{Elt^jwYa>ifhrA=Xp6Nb=k_%@47JuaamS zvlm1-^Ffa)p8M!4iNrgTA-`g(BHqV6n;kOnPix}Q^39=i35IBh=W{3D#_?2S=tydqXF(fw z`dR$PP=&ErdxGi@f;Mw~fR?VxB!lHC4%UMkwmKW5k6d-2oayifcz7H%g7f49E||Ds^Q%sHpKSVZLbIAj*v3?C`r2h^;{6yy?#cTF}#Q} zrA#L#Amz;y^}JR3Z7ucTkzW)n;!nLo(~>ImTdm%j@b7iERd&%zK=qAKYkQl+Wus_M zRHcig31cLmb-VuDm*=K% zny7x%X{$@rsO*T{*|^jH)a14yv6$A1aQnvhU~Qy;hWTsg)joxtG~F5&Atl{EUmn}b z5tt-d7&>YLubRd)*YyIJq{BliC~fItHrp z?hP~i;#EW|SwSz9cB7uzoFRwCJh0>-g`C=)Cr-merQ_){38rWIlfKW0=fw`h_N-mf z8oj8m;R=Ik{9I1*kVAsq}FA&t+y_rmmK}D_H^=ZdXVCsr|HYVzfZJlh0gWz?42uj zz1vr1%H1#$s_)Moq9M<)uqZOI88u?{SLU^GgB?-!oDgmTDtqV+wos0xat!`tANV<7 zOS!gUGa z%-6-QE}DP&_4D+z4!xl@mKWrUH&=}VuFX+wXDrTt~h$0Cd{` zjAOtHiGGGVb8ny!OuW%BCO$~|3y3d@#>5XzVd9Szzk=LEcQFY-^Oyu8jaiT&l!{3( zTE!#;>CJ(JqAX0p&=w}QkkLFyI4Zy-0^t@wB9R#;QK$@)Xhi)DBnDl^Bo@5{K~a5h zn_XW(J9_Esng2f6j`q|e7j>3H*EFU+Q?%D|SeD*CwpU2Ko4LsLd*MdZepAVpcMZ0O zD1T(gPs+_FyASYJ$3FN*l%qK0v4W9p=p~^}PEzsO9a8?<6gJ zp*McNcU5ISQ?Kil-o6T7-$QPwg5lzS9&yu7|GZIu&wYU@urF>-?OeQXN$cN7`{Z+X zU2HDPE!4@q*Xg=_@bG@+pl^vZ2Z!_G=9M`&Kak&2IhL%Eb*m+8tkUQ|8K)w_0_PJ4 zjW7?4A{I*AgTdUh+pOXUr@Gs?eMnzIAzrQ_lQVr{RNvr%p`SqQR@azYX><6TS zcy0Gga>iD&5yrJmJpOx&64`&^7LdZ$>Hj`tIAi)5H&zYVj2pBS>+k9xQtUF{PrNRo zoIV@9x6Et*hUDzSOKEadF4DJ;5|S^xI#?&0pTF{yYIAh-*|mLJw4(npOhTm&0Sk!@ z%g`71Ns8t@B`_2pm7@8xkQ{rb)+QxAiPCjxe__zAJ-eGae)V51Qg$jAEKv#yGrhmP zxA4}9r0BQN1(&Fv*8JyT2S_mw1TG>D+>DEe>x+FyA3jq#Rmms*pTPg!M(r7K;Cj8!FQLM+a5*kX$_fL_6%0#Ku@E zTTsYX=XSRL4k#p44B)tgIPm<^{`#9TN?zv${2Cr~(67jxdHTqCu#%Qyt3?uC-w>bi zTWt6Qh3ByJQ~$dzPCpXAD#-cASkyhcr+OoNdv62Pe=~u{;+7J}y>0gWPwqa+3++L- ze~Oy&U;aYt?EbM^Qi1Bq)`}_#_ahgdqKk9xU*P@MavBybZDbzX zcI#WM2qG+j&_ zD^fSISx#}=#x|hdYt5t`|2FX7rA+XD0+$m9-oNe#YGlZO zWp<6srz^G5ib;radXL*|{)3LTwLvKg2{m1J}9^UHNY& z{u8%?C~goLZ`ZpdE6e9K6H;p`=A^p2k4?#rogSa(DZMddc)PjxnTfEh&lR*vlkX!f&NL4y4YQDoGI(0YUVUt1?>_UIwFWzP8V2!IpZ~r^f$BewD~SVl zNb_eEURyo(>)Br}O5K7n%I;jYAL0Dozu8nC#7|F=xA>^oM@KY^WejT{I^jOE{mqVZ zs{SfCf#!jf zF-fyBRE7*mNM=%0l;#v=IGKseEJMgVWQd0hk&t;RL#AY&NqCTu|L42+KF>MVqkHe~ z{_gMfKQC`;iizdspKUq5x(L+5#$zfS+K z$8Y-n8Ef{wV)EAGhWTF_n@k`GKboQ9yI@4VeCKR!T z22y-bHQ<5)EnU|v>2>C5)|mM%TMg4nI*u>nYZdhA-|VNu{!QyTMrT&~8H`FO8G0|5 z>$$*nT^ECIZ_~!xA6}(VEqm{si?p+nOECaZz=u==K9`z%|5`{7v+K8$wzi9E^kn8s zcJq~Yk0z33wSEjM>NO%?|I5Z3uezHpYS=@qb%d$&AChKsOGgf>`TAqpgO{%F4~Yq; zk>apwxEiaPUpU>_aj93|H%kJ|i^psqD*ry|XuFwzJbV;%Bl_+A3m*^P98srD&r+S_ zaeF6cJdcg3(P3Zb>X)>yG^x=0bDnL1Sa%d~j%vUo23Xek=(?u&$pKxi#&vW|8Zoqe zi%;s(9bYP5();`nm_(y{WD|oT9-a)x^H3N1bOuMZIww0uf!D7 zTzW(`;2r~p_PefO@HEU~TH?phw=sd)8Np4veIB;luutmhmFbO_2AyBFbm{5Xo0<)} zHJUgvYkr5|B}EojZ2P zSL50xC%!$=s-pkxk!|NcbZq!zc6jd_+n-$>`Xu}M>jy_QyB_vlepsIBhcD>Tye~}t zxvBws-t1LpRh!!HW9p9UKigLt@_6a%<7Y0-tv0q}!RN@%4j_I zNKn7c>51L1*mNyhc6WqaTHDKFQ}^Rm)!S)aGMnDj>ZE0NHh5Bv@!y`jYt{ZOe)SJ) zur174%>b9p7Hz!*$*ny zoqohMUUK1*t#8bzIwyTXYxj`%#4j0QJJ`plYl!v&%Y>nalhmYJS6=>h?dS8GEf??D z-C^L8RhyER*}h=ox320K>K3)T%jVAh->!EY+wJ6wx(8eCeWcm6Xtyx$3b{U|n!JHs zKW`s0sKd2`Q#ZVNdg-WfD+8mpt3NdF{?X}a>T<4TyK~8Tma`shHQs-}MxX61s>kPP zN)Mmz;D2tw;Eep-s8+}3;&&C1yfbx|HO})sU}yct#i_}IYnR`AE!$nM^u*xAS`8yk zEf{~wsQQ+TEAw5S?W|RKwPRN3iWOP8?9kV@UK8pCMAol+G)JZM&Zs7D^JVXtpv`&5 z^ur#7w6l@iO0cxoUrID|>XH;Mqi#1fN%9i@sw~egTW} zZ!j-nu})inDT3?>1*k=F1z6Aw?N-N z8o$$dbpGw91HEc%b?l&XyJQ86kdMy1(fQI{X&R^TWTyF}uX8;XMZEH@(cbb}i;gL= zO+MB5r22lqb=7doeV&~DaA{JbdQHzd{7j14_DwdxzkiF|>#x=1y?lN5WzQ*%^O4?M zknm-2w?P$Q55_%eKeF2b8{d1O@8Y*UU7T?Dwo1lts0OS(s^_N%?%q2R78nFxF$lWW zB64TWlJb>miyGK%*K74E*?jo=n6n)kv}@wyT=KMabb0E$&&!@%88C5QP|?2p*Go32 zekHO{%SXNAUx?R7O$ z>$LmUrrhTHiUgyQ+oyLA_HKBdBRxJO7@GuCez8j1{NiO7w;;7VM^lTA z4W@ig(>?ss(sYQ%c=^)o+GlrKEN$qvz4^HBVRznM8Z*t=)N6`LxOY^;UHNmsCTWWN zgQX2yw6|AzuHNux@1Es7EH?~$GDL4<$1akKIkU2MHYll8zU{>Gv;f1d4OT?vSw@%N zwx3iei&_geqH_IPp?O4 zHa55%{%GOcId(o44TtSrWZo)ue2u#Y+kfCPwS%6QsRUfC#=I-hTkff`^<FQ$d-1sD}2+IIqR)mF;+LUYqM3iE}LH5tZVCHv-iT_NAfDNC%`H@G_0r|Dm{s!(4m53DyVWZkKbBV)`4 zJ!`kI*PlUihxG{lB(0@9KzfZc3pJF?8w^imzQyoFW+~1@2BW~=;p~FLa~aMq$b65p z3o<`on41dsk7}&LG?;&?u@7W^LIn+i`59*`WPU-oVKB=PE}35uUO3DOgh%E#gh%Fg zoP~^r`2%MmWL9GMB=aYR*9e#rj-`@`-w1j{ri^2)BVnp>Y!R6p$6k@C&anl-ASl5j#+n>ABc!-3Iv2-4Km zy5pyWZj;~z3EEYIK$p#~2Ep& zu8JP_NVnmju9wP6o#&Ux&FjqnHol?!N5$dq721uOXN^b>9Kanp*7!sD0IjoM&-Ud5 zuBNdBftjcV>=7}bDDHFPfESLr-Q#Me=%#Kx)W6=*QQZf6==Q0YxU^_{$9fSz&U$?= z8K@s$H}GxLiJHb-K;@4t%)6p_3`6dWPfFX`e@U+?l11k3PAz{`%=_ zW4AV`HD>zy_CX={w~y4e4J~-~wpE9b<98c%pBQ+rfl;~pfgt~i7sm_6=xMv`wk%eh z;n3d9Of|uWOl%(=n?K90_07!0-p$^m9d7aQ%$C)y%dEHd?LAL^^~Js`R%3=++uWYI znd@rP;PT8X***2b2g#@9SMv$pI=JAvu!0f}7|c}z)~>sx;QWlz^P0hZ<6FzG>ZRw*2#&P9|ThJFGvUp1Nk#$r&$(@8238e=_QpN8*pWl7sf=vZy5J z42M!&Pc>kVwm%Xhr@lK`u%*Szz|HS2>i8bN_2AQ`59_#HPdOcp;pI)({>YVsD%Y$i zHZiI;_*r6F-}~D}bl)&;x>083p%bV1A{N4}uNv-X{ruzv|J9ZY?=E*rUH{W{lH()! z_A6Ymc{QVJ16NkujQf$D_@Y*sWyX(Sf1jMv_z5-h=KLsTGnbYh$()s!T(F4`SlFdn zs0NH55gn1ya=KRiUQ5E}Egvh5+7@M@7dxa|uZc|^7vKLLmiK8(vr(=!v-@XHAK`d2 z!*BIjkH$kc^jkJNM{XI>q_9n(O27?N1HL?7zuDdlw^t`zIv5pC-^@L*R;R7vZ&6~t`82~zBB#Zp}fRy<-&=GM1z8~R1LRW z|Hb8xsWYp6z`fu41I?D-o?c@1Tq9}WJg=+XcUImXqE&Ef%(x%dhx%C;7R`UM!7SEv zXY%1jo1_E24p?n3~$`q|I_(8T*I0@~{M&s)ic_~(zC`tRk;Uo8J`L({eU7MX6-?O-I<(Mbl zj#`$XGO2%G)m3#P)#SbEaG+an7b}jn$ZUPL+t;v`v5j|cursXP_2q_XH-Fl9 zzjxmCpmFXWb+@{|+&}N<XLG&!0T#)r8MU7tIqBQkR7tnHZ`1Ne zM%?tOzrT4$%>=z~U9;0t2G&36K4qn)bi{b0R{Q-XUGsZ0EjfQ9cV5cq zy)jIBAhw5^mfGS4oj8`Fqo$$00)0S>9dDwxfmw9JIQ~FSja%HbM^hHqN^J)(l2$wL zP*1I+8jGo`){FPp)JV-|abTyW^iZ2=N+kG~^2$~s!SA~@Q9D3l^`rRPbhVgnN42R3 zQhKQ6a}?fOAzD{Nd$+4ZQiHTV^0FiKA$#qEq#S@Oo=@L_9gWmD*#Y=7lJZJ+wrU!( zX(JBgHc^|WRy#XJh&KPLbDOKjCL_yB5;h>s76A0d$#PlZ=LseA_Y zk$emW$`9GKn7yOg7WF@8iJ@;1f`|)=kB&$TktEKSNNQ3L^Z7XRT-2PT>W}f~7HU#b zS_%nHQRY;)uUbo1=7|E%b5-NiOIDJ1UPxIt;IocGq_6db#1BshiwKrft~yZas#YRZ zpR`dT(WYQ$stIL@ve)DDiU2j#Z(pF?P*}2s7nxQ^wHZ`q9G?VDi;E~{1nhW~3S^Q{ zp>-Aq^|unN2KW_awPAcO*BUQ2Y{o7pX*_Qi`8t zrEV*=qXSJ0-g%7zJU=2+<;Qzk3$}^=B zzg)zB=xZ^g14E)Eh$KdMARUSWLl*xr5%tvZq$|qkOCjVJf6HECKr%WjHWP&usUZpR zF&AZYj7rUvKJ_5OKk6|Oa}wY~Uqqk)X^^N#0(>kXQzW>7Ad)l`^-z5h42ArM-ouxZ zBI-fnB*-L9L`BNkY_S-ciZX4;riij;kda@?ZI~#dH_<6El-m)a%tn;efvl3UjSsyN zPI~B8a!IHtv=xPVa2PGh=;dru)CWcLQPvT%x}q#aly!n^pV+o0i!v|BmWZ+`kfDI(lFktN zi^6GwP|^jm2e8v;hUmE~?9X7gggH}`b%VVGb}N{(M4312nFyKM&TLWE9d`QZKWaOv zqRa>Ocp3U1HIzA`um|iTphyj6t|;>*J7m;O(nMKL*!NS5!e^c+>jnD`Q8r(c^(J>x z!e@af^Mid8?DScvD8fE?*a9Kd^&(NxANFmc;$l(O7cvg@Np-yhG8zT@fet8sPng?9 zz5cMo_lKxA6tc~La!yyQq!$1bFAZdidczu`5g^tr%Z`DEy^OOI4M_@fHR^n z5_T#k3izxji-P@tC_5+0nl==M%U+HgOIupaiiNk~9?6|BJvajw&Dc{wt-Br6>JBoAPvj`v{;y19ThqQmg!&?mflxpzhhPv0h5=eN1OY$L2lNL1pcm*1epW*{!2AJ|Rui;%7zM&WI2c_G z6&e9cB%l>TG>8GQAP&TX1TYqi14)2Z5#zxGFcC}wa*zV1fT>^_m;q*idtf*i0)~O1 zAOH*mf#gvK^->48parx7uD}h@>Y@#33)%s9-~l{A2hb680$!jq=mNR{T7h&2KA;Ei z1+)Tb3p{`qpw$PhHsrLtpw&cYKr0AqC^rWdpf)fBT7Xs!+Q0zNYQY?sfqK9M(88b& zs0*qi99jT81T^VC1CIes_Ql`%D&>ge`G_kh_K41Xo1bTqZG@$o|r5k7i{D3c@S-%g! zDY2vrpb5Vx@BsF}5jX>D&>Yx+7QhxX0*ygKP!H4xbXQ&qhNC@>0Kp&xgtBuUoT)UD zJ@nv)$!Rw4g1*-ov;l2FJKzpHfG21VI)IMA4YUS!D05pfffMY`;1ZhsWiSs#wh872 zuo0vKAIRu;B9Y zd*scz%QMijSAuk~7Ayse!FNRb15|>~U;$(c!F-Sg=7Blj3Eb|32Y`N8>JGRHia;T_ z4z7V6(A^B00$PzY16YN~B~4(_0h&M;&@!Yp&;zvmr~#y4KT7KW$Og0o`2*|)d%zB` z6YK_AAQNl{>%e-j0c->dz(TMHECx%|(Xf`nvJ5aV8B76wfR-4=|SoYBIY7GHBwEOWqG^bq=^3FTls>=OX3?lyz1fEI9r zAyWrxpbnnvf}ha;3g~C0{sd3KGw=}H1;xMtjkzVT15Pxt*aCat2#kRVFazeGF^~Z@ za1r%*1r&m-;2Jmt4uc$U1RMpq;26jQ$H57(1#AVI!D_G^tN`*{q)gmNFS&J*WWE&#m! zC6~}|lk5Ul5x{kD1Ka|)K|{#jz3IiAzO60j6pLMh~fQ-E%J=y$Qs z0{RxjQIHFcfjn>=JV4IQ0}l32Fh{~%0lYzX-~&!To&i%%3u#&-)0&vpyN?keEz&mz}yAX@}d!55H83(HNgYylfUO`rvOA`(3WRtwYyTA(J-0M!8p9w9*5x)uZ4 zt~Q0Ai!d*NMzGgK!su$U5ikd|t~UaW0bKyn}mKr>(gnt}#EAJAp2B`^S1 zfX+J&fi?IF-UD?+b{Xawa28}DaT7rthzGRw9SP=w2EYX9Bek4RU6bdUfN!E5Nf07YOk!leW#pl7Hu2f2II4FFyl6gqaRjft7%UiREAc zm=ERwx{_%GULYUO!9#Et6agBnF9RBM_p)w1xZO2c!8!`;VdnmvVc!H;w}U2tX4ti0 z3)l?Cfel~{SP9YrP0utV00O$|;0)If~M6}+blN35zqV-pI;0-)M3qX;&14YEnuv6p~fD+si*wWNx4~rde z1WrKlOjjQih$~P8MkPdnv;`J`0%`+jH$xRedI}v2*vZ`kkem`i8KT7fl@P@LSKy>T zrO*jb?*CGPogz>KLJ@SV!d;Q$f9BUq#jl)F_-o*uRTO^b-sNAoSCu$LRdj=Yv0cdd zVxiprL$Tmlky~mDRk{7Ml28;kwG-9Spl}tXPU^EC$I&-wgU=~68gIU$&C_P zl^Zqc-)4g9|DP2%d8{hXepLkuIkh3xjHy;J`BQ``x4;9{v7)#K!v5QoLQcg^Ex4+H z$*&?{3)m^#p&$T^1VJDWgo0o&ocjL=SVF*P5Dp?i9Ebt2ARf^8w;0R^i@-dP2F3## z|B^s5m<}d_31AwS3Z{S*KqWm1Ocw2PV5X9EHY_v23@{7K1q%R0wh$}<3@iiUedte$ zQ~@Q9>?;8!WR>_#_SJyg$-W+}1&Rc(gFS;%wNb@k6YNw9+rU<^6Z`?P!9LO450khA z4ubO_7n}t-ARn9or@%>&2abTl;21ax4gu1YD;(&7pny(*vU_qCRwP2Bg&v1~zGzZl|IiCLn9{^QJ zHOSO~8hDTAcc2u!1#iG>@Cv*Hq)%Z{7!)=oKmt>dph`UQi9!653P6#61*(x!Bp(5J zqTWG~klrWo15f~pNGOqtOwg7^k^7pklOD+^9?GmHps(st=H%p&az$?^kTMC$kv!A} z!||*Q(-0T{U7#b{>%!Crv@NLv=$T%~COxu~t`RT;sxnhN8w2Rdc_mU*cqGUApdO&e zEnzkW^ltiC5Cft?B!~c`K`E_Fbpu^NM}U_tByFkw+rZKq zxPn#yZ)iwtfHQCa_P`o61x-LRU<>R(OV9$4ese%_dM48m1RxPkFx>!!?*Z_3hr|=K z2OZ@2uM_A3yg+Br9Z(60fWF`Fcbs;%Iyd+90Y!CZ4@F_<$G{(CTpt08Al zUIvzcg$ zkOz){HPi)Z49~&CX0QpY0~uf~*htTCUk`JG_v_;3&=c_I({zyXjgKKFrn7#st+;3%jA7K7t}azr^j1v6i? z({z0f_A`KTOYUc3UIv%w85GFzUm*ww)JluM4M4?6#aaT$1Idd4$*6emf;)f$x(7%` z_9x&GcnlQNFHOfZd(sq4(=W}cM*vOHp2zUtc|cPqO}{2G43EGXb~;Tk0CbK@8`Eb9 zR0i`E%;$g-zzPR(7Je^bqgM0+NTDGCKVh!~KfrhJ4OD=ypd5SwpTQ^aC-?|HfcF4@ z?6}g0GmukKDHb}Z*9AI28_;PEo$Ao(4xQ@IDSi#0INhlRyE>p#9yL%^aZv8)f<{ps zs-=O`BTN1Wi7HZpL{PC%5l~S)g-Q2VW=uDLGi2yWI=Zd#OuCAXx!}fkI4E#(Hz+s& zdq9^}bZONL(208!&=}CARzqL~EI|Wc0aW$u@Z1vEf)>CAGzWA^Mklq7fa1VE{`A%f z7H1iD&2+@CNF6DN4*WHqAD-LEn0o-{(%2pLPM{;`06c&vXb)l$r~um@z_oV%RWA}c z5rEFChJ(w{uM0w94*|ho1Zxn;)om~e)-XUx8VxfX(6JX4G8J|L3mV4NZ806zWH1fH z0IIaHfG#KW_!By%;4N@QWUpbq1P?$V$Ol`&7O)v?0PDdzDxM6m z7Hk3=0VQBJOsd^O;2<~&vOpkGzYV6so$jZ0fK0Fp>;xx(!aWCeMHqWvC%=Dyz2E?l z@5g`pKzF2?=1a0?18TjBKn~-%H{6Khu;+=-M_?WUx!|Y>Jr{se;548~;R?*l;1ak9 z&V#eyFimY|U^xdafaOpwhItp<0k=UBxB;$$Kj3~H<~7lN3+7F550n4|$luaFh5ZS5 z1Rjd!W0=puGw=eu0&nQX{Uaz-T^JtX>CvmdpYx7QHDPKXat)X@fI?ppkZR%;VWc5a9q7_sgf5^fL&eo0T{{tt zK|?wiZv;zyP!E`b`H0LMrWsg{fJ|T-1By@~Cp}Bh03Z;F6|exRaYl7!y zpap0HTB~7oX#tKMzyZ+vxwe4Z>_pQArb6y4%IKMN$S>L5fFfLqupOGk zU#m-fIUQ;fv=A8%lR6)bQv+e|5Bh<=pbyA{To3se2b0R7J!E9}gV_u81U|qQ^Z?yK zH$cn!t}ylCw+qZ+cpeBkQ^6ZUNXvRJICKOZfHxc|AzeX7&<@Z*ODpBpz!kUv8si** zJ+KCps7~w4KMgwoSQ9^BK;8moE5<-zDLV+TR1FD;t-f$xwif}rh zQkn_;A)f)0BBymDaTU)4ASXM?sbmKM%DD}o+|w`?L^qNYnIgxOQ_3Ah5(qcSRa4Le z&=^LgKqW8?Zj}30fJ%ug1L2nQj6WHg0QNzpVznW4Fp!WsogKUCB~70G!4d7%A( z!jX!T0wOkpH1YtVK^%wyu^<7&gE4?+i#ae;!E7)K%mg#QbTAD}1yjIekOJgtsQ*c@ zOav3ac#sT|z&J1#Bm%0dc`!GDjbH;<57vPUuokQVt3f(g1y+I;U^!r58CVLIfW=@D z;NM+c0Ly%E4CI2N;0VY8hruCm5F7y6U_aOg{s4Qy9*_lggI!=J*a0%ZcCZa>1zW%} zWaKQ&li&o9AIE>^Af(nzf-~SW$OoqYc_3w~&pF^4>@hG6Kq2f`z-4d|(B9+%nSk0! z6m)2vLk*4O#3e8YVGf5`K=n@^uY%1GZU;AEzYbo&UIg=o_)G~G4MR*wG^OV4W%QgTmG=%)4@iaH}R#bk_gV#%-OaTf8b+) zp{zu$>D0rg`YzFs1~}R}+S)URNG^nPu(fw&t0FlQsRPT7!goMwiG5mzy_SoCE zh3ixJakV8EW*)^Eg}b5AA|4!$r+jXamD20ky|K`+x3hJ!b+D(?>6&n{D$I&Z?Kg5b zTrf^DdTtRY%Pb2o2^4DTRZ+3ozl2=_?tIDoeQywqtNVao!Qzb z&cM|Tp7|+J4?4rbO>DxB=huLagRPSboMNKm$KXqyk|9Bt&%g1}m<$(JTW4EG340sG z`MB8I^XH42@LO~A<{oPLb(T~3Znk!|4wCr9kccrM*aaUl{<$+Sm0or0ssghVA`R@yUUk$n7(Qn=W=Aoq5XKr{?W z_WZ`{Cd^*b`!HM(DAoMfSgr@^`&29!3d1IjldC(}!w1WX;|!%vEMgmHcHl`Ir^87D zSYa}!-v`BPH>QSA5|HK73V1pNCMJ58)7Pk z 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 z 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

%*1T*wFT-#ayrhEg375!lYs8!) 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 diff --git a/docker/etc/s6-overlay/s6-rc.d/grimoire/run b/docker/etc/s6-overlay/s6-rc.d/grimoire/run index 45d1335..9265950 100644 --- a/docker/etc/s6-overlay/s6-rc.d/grimoire/run +++ b/docker/etc/s6-overlay/s6-rc.d/grimoire/run @@ -3,7 +3,7 @@ cd /app # Run migrations first -/usr/local/bin/bun run run-migrations +s6-setuidgid grimoire /usr/local/bin/bun run run-migrations # Start the application -exec /usr/local/bin/bun ./build/index.js +exec s6-setuidgid grimoire /usr/local/bin/bun ./build/index.js diff --git a/package.json b/package.json index 165c430..185e145 100644 --- a/package.json +++ b/package.json @@ -38,64 +38,64 @@ }, "type": "module", "devDependencies": { - "@libsql/client": "^0.11.0", - "@sveltejs/adapter-auto": "^3.2.4", + "@libsql/client": "^0.15.7", + "@sveltejs/adapter-auto": "^3.3.1", "@sveltejs/kit": "^2.5.27", "@tailwindcss/typography": "^0.5.14", "@types/adm-zip": "^0.5.5", - "@types/bun": "^1.1.9", - "@types/express": "^4.17.21", + "@types/bun": "^1.2.13", + "@types/express": "^4.17.22", "@types/express-http-proxy": "^1.6.6", "@types/swagger-ui": "^3.52.4", - "@typescript-eslint/eslint-plugin": "^8.5.0", - "@typescript-eslint/parser": "^8.5.0", - "@vitest/coverage-v8": "^2.1.1", - "autoprefixer": "^10.4.20", - "drizzle-kit": "^0.24.2", - "eslint": "^9.10.0", - "eslint-config-prettier": "^9.1.0", - "eslint-plugin-perfectionist": "^3.6.0", - "eslint-plugin-svelte": "^2.44.0", - "postcss": "^8.4.47", + "@typescript-eslint/eslint-plugin": "^8.32.1", + "@typescript-eslint/parser": "^8.32.1", + "@vitest/coverage-v8": "^2.1.9", + "autoprefixer": "^10.4.21", + "drizzle-kit": "^0.31.1", + "eslint": "^9.27.0", + "eslint-config-prettier": "^10.1.5", + "eslint-plugin-perfectionist": "^3.9.1", + "eslint-plugin-svelte": "^2.46.1", + "postcss": "^8.5.3", "prettier": "^3.3.3", "prettier-plugin-svelte": "^3.2.6", - "prettier-plugin-tailwindcss": "^0.6.6", - "release-it": "^17.6.0", - "svelte": "^4.2.19", + "prettier-plugin-tailwindcss": "^0.6.11", + "release-it": "^19.0.2", + "svelte": "^4.2.20", "svelte-adapter-bun": "^0.5.2", - "svelte-check": "^4.0.2", - "tailwindcss": "^3.4.11", - "tslib": "^2.7.0", - "typescript": "^5.6.2", - "vite": "^5.4.5", - "vitest": "^2.1.1" + "svelte-check": "^4.2.1", + "tailwindcss": "^3.4.17", + "tslib": "^2.8.1", + "typescript": "^5.8.3", + "vite": "^5.4.19", + "vitest": "^2.1.9" }, "dependencies": { "@extractus/article-extractor": "^8.0.10", "@lucia-auth/adapter-drizzle": "^1.1.0", - "@sveltejs/vite-plugin-svelte": "^3.1.2", + "@sveltejs/vite-plugin-svelte": "^4.0.4", "@tabler/icons": "^3.16.0", "@tabler/icons-svelte": "^3.16.0", "@tailwindcss/line-clamp": "^0.4.4", "@types/html-to-text": "^9.0.4", "@types/sanitize-html": "^2.13.0", "adm-zip": "^0.5.16", - "chalk": "^5.3.0", - "daisyui": "^4.12.10", - "dotenv": "^16.4.5", - "drizzle-orm": "^0.33.0", + "chalk": "^5.4.1", + "daisyui": "^4.12.24", + "dotenv": "^16.5.0", + "drizzle-orm": "^0.43.1", "es-toolkit": "^1.31.0", "eslint-plugin-drizzle": "^0.2.3", - "express": "^4.21.0", + "express": "^4.21.2", "fuse.js": "^7.0.0", "html-to-text": "^9.0.5", "joi": "^17.13.3", - "lucia": "^3.2.0", + "lucia": "^3.2.2", "node-parse-bookmarks": "^1.0.3", "sanitize-html": "^2.13.0", "svelte-french-toast": "^1.2.0", "svelte-select": "^5.8.3", - "swagger-ui": "^5.17.14", - "url-metadata": "^4.1.1" + "swagger-ui": "^5.21.0", + "url-metadata": "^4.1.4" } } From 68c7e5a54981ae4c2443bb07ecb6b3eb3471c8bc Mon Sep 17 00:00:00 2001 From: Robert Goniszewski Date: Tue, 24 Jun 2025 15:58:37 +0200 Subject: [PATCH 2/7] feat(docker): enhance entrypoint script for data permissions and update Dockerfile configuration --- Dockerfile | 7 ++--- bun.lockb | Bin 425620 -> 431788 bytes docker-entrypoint.sh | 4 --- .../s6-overlay/s6-rc.d/grimoire/dependencies | 1 + .../s6-rc.d/init-data-permissions/type | 1 + .../s6-rc.d/init-data-permissions/up | 29 ++++++++++++++++++ .../user/contents.d/init-data-permissions | 0 package.json | 3 +- src/lib/database/db.ts | 10 +++++- src/routes/logout/+page.svelte | 26 +++++++++++++++- 10 files changed, 69 insertions(+), 12 deletions(-) delete mode 100644 docker-entrypoint.sh create mode 100644 docker/etc/s6-overlay/s6-rc.d/grimoire/dependencies create mode 100644 docker/etc/s6-overlay/s6-rc.d/init-data-permissions/type create mode 100644 docker/etc/s6-overlay/s6-rc.d/init-data-permissions/up create mode 100644 docker/etc/s6-overlay/s6-rc.d/user/contents.d/init-data-permissions diff --git a/Dockerfile b/Dockerfile index 89c5383..3e28e23 100644 --- a/Dockerfile +++ b/Dockerfile @@ -31,7 +31,8 @@ RUN case "${TARGETARCH}" in \ rm /tmp/s6-overlay-*xz COPY docker/etc/s6-overlay /etc/s6-overlay/ -RUN chmod +x /etc/s6-overlay/s6-rc.d/grimoire/run +RUN chmod +x /etc/s6-overlay/s6-rc.d/grimoire/run && \ + chmod +x /etc/s6-overlay/s6-rc.d/init-data-permissions/up ENV S6_KEEP_ENV=1 \ S6_SERVICES_GRACETIME=15000 \ @@ -72,8 +73,6 @@ COPY --from=build /app/build ./build COPY --from=build /app/migrations ./migrations COPY --from=build /app/migrate.js ./migrate.js COPY --from=build /app/package.json ./package.json -COPY docker-entrypoint.sh / - ENV NODE_ENV=production \ PUBLIC_ORIGIN=${PUBLIC_ORIGIN:-http://localhost:5173} \ ORIGIN=${PUBLIC_ORIGIN:-http://localhost:5173} \ @@ -81,8 +80,6 @@ ENV NODE_ENV=production \ PUBLIC_HTTPS_ONLY=${PUBLIC_HTTPS_ONLY:-false} \ PUBLIC_SIGNUP_DISABLED=${PUBLIC_SIGNUP_DISABLED:-false} \ BODY_SIZE_LIMIT=${BODY_SIZE_LIMIT:-5000000} - -RUN chmod +x /docker-entrypoint.sh EXPOSE ${PORT} HEALTHCHECK --interval=30s --timeout=10s --start-period=5s --retries=3 \ CMD wget --no-verbose --tries=1 --spider http://localhost:$PORT/api/health || exit 1 diff --git a/bun.lockb b/bun.lockb index 140d4989f0e1622111e42229b8d89f396ad95ba3..c403e84f67a2acc7628b3bb7f77e08671183308d 100755 GIT binary patch delta 76780 zcmeEvcYIXU+Vwdz8OQ;VCcT454IL(Z2)*~-Ll_{CUVsE*LXjr@2%9b-ARt9VgizF| zbdaV<7eu5ZMU;TRx7OKvV)VV&@80*l@Av(~{M=d3TDw2HoPEv=$9J9;Tfd?BtQu8@ z7ccd7h0q1%I-Q^PZSKztUW?y+;oif?7xo-lc5O)W!avU|IWLFCkMHd6Wl~R9^RkGh z4T%enj1G@;-?M4jE1H(p!meq#fa`$yfy)%{j0~@VHv&?h0lfe)Y^d8E7apzcaA;Z? z@R-oJcz1nGb4MkFCxpA>S3zfa*HHVbz)j$}Q(+8>j!aAlkBAo#7%@d*SbV(C$f2PL zPH&lUE6_mv!070RfuZs4pU_Yi_!It6KLyMOjLofSd4QuLBdo3+QSnanih30w>-h|N z5RG>D!-%-h$U&jVQX9M!cxcQJpNQ}TcX99{;5mT>fe(3+hUo31n?=0=Z&i>&aGyfn(fSrL}^=spSiV%hFb%0A}diKu$Fm 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

d@*vd8Vdp=c1Uu2Jy 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 delta 73790 zcmeF4cYIXUzV@eNAOnJ;B2A=;0!kH}Kp+E1OK1i}Km`pDAdnD9LRCn>Mo`qam4zsZ zVxfqNihyFl9uyTDprT^OjviE0^!+}2t%*5a@A-Jnz3=<}!+i40vwqL&eeFFnJ9n?E zf8C*a*R*L_W5J`b`T0ZEj!4^(eb<#Uw~wlo-u{y_ie_J&d*Pa$_om*IG_OiPuanD$ zH!7~)AjvlZfe8gUdHFd7*?U8Qz!8B!N#}4NPz}Bjt_7DlyB86T#Xb#|UW|S;Ja%Gs zc0o>lU~ME2XoNjAtDrEuQy`E%r6{K;C%bS7y3*T4?ls{R*wu@1jLXlPUX+ttxDY`e za~zK?ENner8Swv}y-4Hu#>V($0IYrskvFl*}M4)5f58>MIE^mFX zPH{QbkyuZ_D#lvpdljryN(g!ioO_%NmjzS8k|Rk{xd$DeK_jZ&o7A=blO3lL{v`C% zNUt6|noN*NHee9GxTFCdge@s5Y@L@gE4yG=eVb8U&Xk-ys*{^PE~{{2AaEkFRE_CV z3bJOR52RqHVdoORDZGOMh{sUsR4b@2*kPZ>Kor|4_KYorwsshj$&aAH=QNu+pJYuk4@QzkMOiVANf zH6<{mjm@ASyD&R9du)+GS4J@}m{g~DUt4P}bfMRitcp{RJ#P9eia8Zs9bAx|HMR)* zQ5sjd*6U!y&B9jrsRcQOc@$#>x~jG4G|MHha?6J`W5;x~r8*0ne#+PjFqg?UEXHCylamVKuAw#SdKy7P5!eWX$G!}!X|$b?O*ch0R~d zyFF|pEXPoBJy^MvIxd0vE7``f#LOtkJHs~SJFwC_xtFzHz*aA8B-}A@;f(CuqU=B* z+{aI^OUc{4ZTGH*mC#F$e{}kESkvuOSP5&LEGo#(Zs3(xX;l0Ks#GT3q>SP4wZ&mk0Ta;9yUAgpTb$6ve$ zRs}wFyomG_kC`+sn`-;}Om6n<2169CIvF!fl;C1-ebqX}_0F=*oD8eke;R6&{Tx-!cWX9%%3?0|IyZN1*_0aVC9}eIPnFJSD$Yi=Y$LFgf`e(04C(yN>oFq zFI$z2rdaBPTj)_Gu*7j*cG1NAafN}bv17BR78M2-dS%f%#nb5`jjim$+?**zfj~zp zs@Sa@KjgTv<6+}%pX6rGpzwh}e{6+MaoiJDuH)!!=5wGH@s7m)^ZI@zyBzU~OCkhN zE5A=yG>2b>)lNButtaH>j|u#iV>5UTUG0-IVM=}hake;ne9n|{t*1{7bee4aTREQE zIyZl8RuQGh&B@Ct3be|#{&y2kWAzd2YD~_O$=S1Ks3z_6Y=H5(Sw%(J;{waQt<~zZ z978QtzwE-P4B$Xu5z&vq-h-}s&cjympZ9{*>x?XPg_=1rXDk&A

JlB2wV4skRm7 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

RJ2SPVZL#=RciqmM7x_5Jmn%ZZh2Onhd_zl9x zA2gKD9u&Jl!Nx0h+J<$Rzg#;A3ROF2HB=cCX4$3zTCL(Hny&S)+wIY94^RdPGp^`xV7c217s7+j87z8va?^v+q=^pAGCA}rgV`!e}CLWep%el`U&47K)+3 zu)F5OPv_R-=aAzq7}8S~^Zp46c8Y9^+ZnX7$*N}-ietcd0&_UC_Q3guLkBFFCwi*u zgtFV`(kjlFsh7i&O79NHW1$GmMbV(p{hW*DI?1hc25WlbBsbAbx26Wp$Tgc|UbYG7 z+sp7VA_wHUbdXO?|0Wk~(Uxie@+NCq0A6D{D7e=xe!6(M@16H=KmmUxcWq^Bqees; zL}-#D8C)J7Ao_ zG_YyPs#&>?aA+7Wi!j~><&H6-NZCYhsPVP==%EW%N54UWJtXw4+r4RhdsLNs+FyLAN9~O>~v( znj=6Sy5h|2Ymrl|DUL`n$ek_mAYYA_5)mL@i;<$sZgR*c!5ju0mi;r5W0(;HB3KBK z931v#T9sE+{aD@`?S{@Ml`5(p4!tUB4N_|sL<=@ZU9t=LFz5#5r!wwXha)z`UH(Ch zcrixWh~FvNkvx9N#WSUgLNM>k!qq?=1L-|vd);Mga`TYOYKtT_^^g~8&Cx#j$QJQp zImUj8I2#G-7x51wVg{icXeM6Be-@+$IyJOR4LVaJ)I@}tIbcqWfK%hvK8?ZB)yqu@ zUb3sIGjnLqRgSmAaT?DdYFAdHf<#-fVmcL46vF{+RCy^Pob3KY?B+jPd|GBL?fQ&1W1-VB!o_vWo__O|gTn5Bg6B%(leLDL zzc$Ioo@w5A258;_!(;l+qMC)@bbjy$yxF`1fNs*Q=^l7>TkOfRFlwpP#nB712);Ar zAnZ?s$J3OPX9|bww0K)s8Fl>}Xlk%rQa9Uywg$_t@=8$J@L{nVWfYc6t8Nx{52XWo7XMFqnZgbKX@h7DKi?-!;2=8{%W^mo>SjSF2Y3bPpDA||qW z+t*hb5S3Lz;ZgU-Ry54 zHY|AS>J$M=RyOjVeMu}?uHD<>w!`y%hLXSXX7&wQTMT_(IkI)|3dHN&0h;WNl?7%D zy#=*#?mV%n3HWYq>mcE{O5l5#F@7ONbxJ5ZYv zvfh~8Ik#XLKqE?^Kz%3{iSf8vXX^qLeKu)lrd#qJM@LG?)xEtvwaSLFG6?Na_lp-( z=C2Og7S4p2OVA~6Q2sM;J}J6(^i&>Yr)ohwhFX9)TU85!M4AGEY*j4?vQxFd6ru}U z5H;>VDTs1PuV~u$EIer0XuqAqYbg(XDur&+k(0 z_JVZ-_9`u=5MCeIHrQKI}mu4x?T^D98o1AU)bF z{%~sAW`un~iwZ%u>Q*p9-JZ&|O);^e^zH7F>uFlI8Ww(~Aq+b2VwBGpD#^Aj6cHkD zrL1z@M;&haUPKohwzTOCi@0ptNZ}brlYB8~g!9@o%THLOnmbz2P$!>0itP&K$ofTo zbRH!!Z3YEfx8UjRhosJ5gm~pOc*4t~-F{?O3KK&Ll_(_#H~5lpvA-aUN6Nt(ZMHY(v7+REi|m-RF-U&0+@*?+$QkeAJ)Tl)@w_%IRqSdBa|_kJt_$SC{Ox zWdkUmAC|3Op3Tg}=ia!)^W$GVqc)iwe#BcJED09{Qi31qlmH5z4&SxYy!q~f%S=$9 z9ofU58b}QSWG4;6OY9THXZ2<{7wof2Z9?K+AqcjGf!SxB}C@_wWX7$IaUh z4DXxZq)|^;sDnSIaK$$ttUD1%hy5|ni8M%Ck+cDFuqm5!FLi$;isGuP5JKGol;r~E zeM9Kp5TR7tsx>lgE8OP*ZFu{*X-@#d^>%i+QMdRw{5bVTjCeJO{laee${cS;itJwA zxR|jUyW7BB8p;U`CC@-EUkH^Av`qWv`PlT$Q@*!(((c+hqF0}ea9K6lv;R!T<=vFL zl-W)RX#P0$t0DcyW9l*{SG}PFdzW~C+1b3P5KAgr7$nOkskBx(U7ePcme#dU;5ZAF zx^mDpaiDWSmL-U8r2~2LQp5|KuF6tGhJ8@i9j2Uf{cI`2a!v)yo?$caMLwQC>Mtqp zc;0jjG4v&IaKV4efbj&zr{?6DraEDdQDgWLOZx=}?=C~WA<*vOGL#;Qv_v?y!9AQh z9BrU07fu2Ecz8IivphCqRc2FcS+Q2@e(vd+3GX{kv1F|B8_Si$Y6}He*}UQS0@qhZ zS|~(DpG(ZSDr!NEIaeu#K7_)M{8RAu@>DMj_A6)Ksk-Ejrr0pqM|Ze9?F*Ansd39+ ziB(QGUtNQixHw^h`5xe|sz7kf5x9XIzcQJaj0aQCxGMRFYIIU5U zDu>IRbd4+0AK@55>VYXe375lkohnkvvUsSTuK9f#n>7$Wzv_ZAd>JEI{1mO@0Lj#{ za(9Pp&UL9$IoS&_r)|s0!RFA&b>-wP!gwmLL8{S_izxUo!c(&e+mr(X##Yi&*G#FZ zPUPpw0hxEcITmx|L&@IiIYhiYA@%%MrKF=L@kY>BVhORpgSAp(2^}c*sQ4)o{({t?D?xruezvVbfBZ z=i1>pU#Fc?lUkL>Zd-}?b!xgb%&~4E6>xYYV%=PI zYDC*tV%{PXXh8*bKqZLv`KK{&SS?_Drq&j-SJJrV<(k;G_<`3u0&~7L-2-p75p9A3 z5pA9bzzZ7<={%qJ)aE`lc4qrU78%*arwLxf%SC|qvq&kiE-$pss_W4!Z_UwnFlUE*=m@DSYaY3H=e&2vrj#yeKRJ#WtMueP?2 z?0NldBi!@K>t>?^d%I=k9@x}PxbG*f{xEZAjqWw)(SC^4&ZFC$Y@ythm81j`FB&6c zXEq(W^rzLHhQ+w&)xrpurZyiOLoTkPu9f9Vx{JqYRb|=3!h9Rd?T+Fo*bc<|eqaAC ztwF=(mvPS?_N)CycD3tJEAtNSxuDCsx0ukWW))Mgx}6<-DE{5ZK{rDy;GP#;Lwla8 zcDZv<-o2pb@RdyuitL;5*t%=IOVq8($6VdEj27Z4EBLz}33co}{bgl-UGrVDC|gU%$>n6c2bnsfdn)`uPP68zye)@jKZ>3(m`VoW_1a$cI^ zt*=3gy6N>a&sQHxccuW*-dpcUb05fdcn1s%K#G4Ldsr(uU<*$fWAyIi{Z6h%<%@%E z!X$kjdizecSBgbz-^rdPcHRdnmEh`pQVHBLzemzTSs!FA^8Mw4JR-@HJRiBF_%`5=pB&>tEO;ReCPR=&9gE z*(oV*fWDkFjh!spYC|YBQ13-{9re~p7bog7v>#RLYZJuE6lSzkm!1^)GkU?p^H9ag x#(HBCnrf<^TQ?V-e=FDg$Y*Jixk>Sp^@Vcfy~V#)i9cyL@(-1~Vq)}b{ttmy*)sqD diff --git a/docker-entrypoint.sh b/docker-entrypoint.sh deleted file mode 100644 index 32715d4..0000000 --- a/docker-entrypoint.sh +++ /dev/null @@ -1,4 +0,0 @@ -#!/bin/sh -chown -R grimoire:grimoire /app/data -chmod 755 /app/data -bun --bun run run-migrations && bun ./build/index.js diff --git a/docker/etc/s6-overlay/s6-rc.d/grimoire/dependencies b/docker/etc/s6-overlay/s6-rc.d/grimoire/dependencies new file mode 100644 index 0000000..2ca4c17 --- /dev/null +++ b/docker/etc/s6-overlay/s6-rc.d/grimoire/dependencies @@ -0,0 +1 @@ +init-data-permissions \ No newline at end of file diff --git a/docker/etc/s6-overlay/s6-rc.d/init-data-permissions/type b/docker/etc/s6-overlay/s6-rc.d/init-data-permissions/type new file mode 100644 index 0000000..3d92b15 --- /dev/null +++ b/docker/etc/s6-overlay/s6-rc.d/init-data-permissions/type @@ -0,0 +1 @@ +oneshot \ No newline at end of file diff --git a/docker/etc/s6-overlay/s6-rc.d/init-data-permissions/up b/docker/etc/s6-overlay/s6-rc.d/init-data-permissions/up new file mode 100644 index 0000000..cfbcc74 --- /dev/null +++ b/docker/etc/s6-overlay/s6-rc.d/init-data-permissions/up @@ -0,0 +1,29 @@ +#!/command/with-contenv bash + +# Ensure data directory exists and has proper permissions +mkdir -p /app/data + +# Set ownership to grimoire user and group +chown -R grimoire:grimoire /app/data + +# Set proper permissions: owner can read/write/execute, group can read/execute, others can read/execute +chmod 755 /app/data + +# Ensure any existing database files have correct permissions +if [ -f /app/data/db.sqlite ]; then + chown grimoire:grimoire /app/data/db.sqlite + chmod 644 /app/data/db.sqlite +fi + +# Ensure WAL and SHM files have correct permissions if they exist +if [ -f /app/data/db.sqlite-wal ]; then + chown grimoire:grimoire /app/data/db.sqlite-wal + chmod 644 /app/data/db.sqlite-wal +fi + +if [ -f /app/data/db.sqlite-shm ]; then + chown grimoire:grimoire /app/data/db.sqlite-shm + chmod 644 /app/data/db.sqlite-shm +fi + +echo "Data directory permissions initialized successfully" \ No newline at end of file diff --git a/docker/etc/s6-overlay/s6-rc.d/user/contents.d/init-data-permissions b/docker/etc/s6-overlay/s6-rc.d/user/contents.d/init-data-permissions new file mode 100644 index 0000000..e69de29 diff --git a/package.json b/package.json index 185e145..8f82948 100644 --- a/package.json +++ b/package.json @@ -73,7 +73,8 @@ "dependencies": { "@extractus/article-extractor": "^8.0.10", "@lucia-auth/adapter-drizzle": "^1.1.0", - "@sveltejs/vite-plugin-svelte": "^4.0.4", + "@node-rs/argon2": "^2.0.2", + "@sveltejs/vite-plugin-svelte": "^3.0.0", "@tabler/icons": "^3.16.0", "@tabler/icons-svelte": "^3.16.0", "@tailwindcss/line-clamp": "^0.4.4", diff --git a/src/lib/database/db.ts b/src/lib/database/db.ts index 6bb0fff..618ce25 100644 --- a/src/lib/database/db.ts +++ b/src/lib/database/db.ts @@ -1,5 +1,6 @@ import { Database } from 'bun:sqlite'; import { drizzle } from 'drizzle-orm/bun-sqlite'; +import fs from 'fs'; import path from 'path'; import * as schema from './schema'; @@ -12,7 +13,14 @@ class DbConnection { private db: Database; private constructor() { - this.db = new Database(path.join(path.resolve(process.cwd(), 'data'), 'db.sqlite'), { + const dbPath = path.join(path.resolve(process.cwd(), 'data'), 'db.sqlite'); + + const dataDir = path.dirname(dbPath); + if (!fs.existsSync(dataDir)) { + fs.mkdirSync(dataDir, { recursive: true }); + } + + this.db = new Database(dbPath, { create: true }); this.db.exec('PRAGMA journal_mode = WAL;'); diff --git a/src/routes/logout/+page.svelte b/src/routes/logout/+page.svelte index c92fbed..3cc0361 100644 --- a/src/routes/logout/+page.svelte +++ b/src/routes/logout/+page.svelte @@ -1 +1,25 @@ -

+ + +
+ {#if mounted} +
+

Logging out...

+
+ {:else} +

Loading...

+ {/if} +
From 237f833f5a315292038ff85a4f1d444d6853838f Mon Sep 17 00:00:00 2001 From: Robert Goniszewski Date: Tue, 24 Jun 2025 17:40:34 +0200 Subject: [PATCH 3/7] feat(docker): implement init-data-permissions script and enhance permission checks in Dockerfile --- Dockerfile | 8 ++- docker/etc/s6-overlay/s6-rc.d/grimoire/run | 24 ++++++- .../s6-rc.d/init-data-permissions/up | 30 +-------- .../scripts/init-data-permissions.sh | 62 +++++++++++++++++++ 4 files changed, 92 insertions(+), 32 deletions(-) mode change 100644 => 100755 docker/etc/s6-overlay/s6-rc.d/init-data-permissions/up create mode 100755 docker/etc/s6-overlay/scripts/init-data-permissions.sh diff --git a/Dockerfile b/Dockerfile index 3e28e23..22283b0 100644 --- a/Dockerfile +++ b/Dockerfile @@ -32,7 +32,8 @@ RUN case "${TARGETARCH}" in \ COPY docker/etc/s6-overlay /etc/s6-overlay/ RUN chmod +x /etc/s6-overlay/s6-rc.d/grimoire/run && \ - chmod +x /etc/s6-overlay/s6-rc.d/init-data-permissions/up + chmod +x /etc/s6-overlay/s6-rc.d/init-data-permissions/up && \ + chmod +x /etc/s6-overlay/scripts/init-data-permissions.sh ENV S6_KEEP_ENV=1 \ S6_SERVICES_GRACETIME=15000 \ @@ -42,7 +43,8 @@ ENV S6_KEEP_ENV=1 \ RUN bun i -g svelte-kit@latest -RUN mkdir -p /app/data && chown -R grimoire:grimoire /app/data && chmod 766 /app/data +RUN adduser --disabled-password --gecos '' grimoire +RUN mkdir -p /app/data && chown -R grimoire:grimoire /app/data WORKDIR /app FROM builder AS dependencies @@ -73,6 +75,8 @@ COPY --from=build /app/build ./build COPY --from=build /app/migrations ./migrations COPY --from=build /app/migrate.js ./migrate.js COPY --from=build /app/package.json ./package.json + +RUN chown -R grimoire:grimoire /app ENV NODE_ENV=production \ PUBLIC_ORIGIN=${PUBLIC_ORIGIN:-http://localhost:5173} \ ORIGIN=${PUBLIC_ORIGIN:-http://localhost:5173} \ diff --git a/docker/etc/s6-overlay/s6-rc.d/grimoire/run b/docker/etc/s6-overlay/s6-rc.d/grimoire/run index 9265950..1c25b32 100644 --- a/docker/etc/s6-overlay/s6-rc.d/grimoire/run +++ b/docker/etc/s6-overlay/s6-rc.d/grimoire/run @@ -2,8 +2,30 @@ cd /app +echo "Starting Grimoire application" +echo "Current user: $(whoami)" +echo "Working directory: $(pwd)" +echo "Data directory permissions:" +ls -la /app/data/ + +echo "Testing database access as grimoire user:" +s6-setuidgid grimoire ls -la /app/data/ + # Run migrations first -s6-setuidgid grimoire /usr/local/bin/bun run run-migrations +echo "Running database migrations..." +if ! s6-setuidgid grimoire /usr/local/bin/bun run run-migrations; then + echo "ERROR: Database migration failed" + echo "Data directory details:" + ls -la /app/data/ + echo "Process info:" + echo "Running as: $(s6-setuidgid grimoire whoami)" + echo "UID: $(s6-setuidgid grimoire id -u)" + echo "GID: $(s6-setuidgid grimoire id -g)" + exit 1 +fi + +echo "Migrations completed successfully" # Start the application +echo "Starting application server..." exec s6-setuidgid grimoire /usr/local/bin/bun ./build/index.js diff --git a/docker/etc/s6-overlay/s6-rc.d/init-data-permissions/up b/docker/etc/s6-overlay/s6-rc.d/init-data-permissions/up old mode 100644 new mode 100755 index cfbcc74..08c607d --- a/docker/etc/s6-overlay/s6-rc.d/init-data-permissions/up +++ b/docker/etc/s6-overlay/s6-rc.d/init-data-permissions/up @@ -1,29 +1 @@ -#!/command/with-contenv bash - -# Ensure data directory exists and has proper permissions -mkdir -p /app/data - -# Set ownership to grimoire user and group -chown -R grimoire:grimoire /app/data - -# Set proper permissions: owner can read/write/execute, group can read/execute, others can read/execute -chmod 755 /app/data - -# Ensure any existing database files have correct permissions -if [ -f /app/data/db.sqlite ]; then - chown grimoire:grimoire /app/data/db.sqlite - chmod 644 /app/data/db.sqlite -fi - -# Ensure WAL and SHM files have correct permissions if they exist -if [ -f /app/data/db.sqlite-wal ]; then - chown grimoire:grimoire /app/data/db.sqlite-wal - chmod 644 /app/data/db.sqlite-wal -fi - -if [ -f /app/data/db.sqlite-shm ]; then - chown grimoire:grimoire /app/data/db.sqlite-shm - chmod 644 /app/data/db.sqlite-shm -fi - -echo "Data directory permissions initialized successfully" \ No newline at end of file +/etc/s6-overlay/scripts/init-data-permissions.sh \ No newline at end of file diff --git a/docker/etc/s6-overlay/scripts/init-data-permissions.sh b/docker/etc/s6-overlay/scripts/init-data-permissions.sh new file mode 100755 index 0000000..d8d0f30 --- /dev/null +++ b/docker/etc/s6-overlay/scripts/init-data-permissions.sh @@ -0,0 +1,62 @@ +#!/command/with-contenv bash + +echo "Starting init-data-permissions service" + +GRIMOIRE_UID=$(id -u grimoire) +GRIMOIRE_GID=$(id -g grimoire) +echo "Grimoire user: UID=$GRIMOIRE_UID, GID=$GRIMOIRE_GID" + +echo "Creating /app/data directory" +mkdir -p /app/data + +# Check current ownership and fix if needed (also volume mounts) +DATA_OWNER=$(stat -c '%U' /app/data 2>/dev/null || echo "unknown") +echo "Current /app/data owner: $DATA_OWNER" + +if [ "$DATA_OWNER" != "grimoire" ]; then + echo "Fixing ownership of /app/data (was owned by $DATA_OWNER)" + chown grimoire:grimoire /app/data +fi + +# Ensure user-uploads dir exists +echo "Creating /app/data/user-uploads directory" +mkdir -p /app/data/user-uploads + +echo "Setting ownership to grimoire:grimoire" +chown -R grimoire:grimoire /app/data + +# Set proper permissions: owner can read/write/execute, group can read/execute, others can read/execute +echo "Setting directory permissions" +chmod 755 /app/data +chmod 755 /app/data/user-uploads + +echo "Testing write permissions" +if ! su grimoire -c "touch /app/data/.test_write && rm -f /app/data/.test_write" 2>/dev/null; then + echo "ERROR: grimoire user cannot write to /app/data" + echo "Directory info:" + ls -la /app/data + exit 1 +fi +echo "Write permissions verified" + +# Check any existing database files have correct permissions +if [ -f /app/data/db.sqlite ]; then + echo "Setting database file permissions" + chown grimoire:grimoire /app/data/db.sqlite + chmod 644 /app/data/db.sqlite +fi + +# Check WAL and SHM files have correct permissions if they exist +if [ -f /app/data/db.sqlite-wal ]; then + echo "Setting WAL file permissions" + chown grimoire:grimoire /app/data/db.sqlite-wal + chmod 644 /app/data/db.sqlite-wal +fi + +if [ -f /app/data/db.sqlite-shm ]; then + echo "Setting SHM file permissions" + chown grimoire:grimoire /app/data/db.sqlite-shm + chmod 644 /app/data/db.sqlite-shm +fi + +echo "Data directory permissions initialized successfully" \ No newline at end of file From ef4611ab7720005e1666d965d03267b92c0866d0 Mon Sep 17 00:00:00 2001 From: Robert Goniszewski <43510122+goniszewski@users.noreply.github.com> Date: Fri, 21 Feb 2025 19:41:43 +0100 Subject: [PATCH 4/7] Release v0.5.0 (#168) * chore: release v0.4.1-hotfix.3 * fix(data-migration): early return if no categories have parents (#128) Signed-off-by: Robert Goniszewski * Closes #130 (#131) Signed-off-by: Robert Goniszewski * fix(database): use dynamic path for SQLite database file Signed-off-by: Robert Goniszewski * docs(readme): use single README file for latest/preview version Signed-off-by: Robert Goniszewski * feat(ci): add manual deployment workflow and adjust tag conditions Signed-off-by: Robert Goniszewski * refactor(workflow): simplify manual-deploy GitHub Action Signed-off-by: Robert Goniszewski * fix(metadata): handle multiple image URLs in mainImageUrl field Signed-off-by: Robert Goniszewski * fix: auth error handling (#144) * refactor(api): migrate Swagger UI to external documentation and enhance health endpoint Signed-off-by: Robert Goniszewski * chore: release v0.4.3 * fix(docker): resolve issue with data directory permissions (#150) * Fix issue #153: creation/update of root categories (#157) * chore: release v0.4.3 (#149) * chore: release v0.4.1-hotfix.3 * fix(data-migration): early return if no categories have parents (#128) Signed-off-by: Robert Goniszewski * Closes #130 (#131) Signed-off-by: Robert Goniszewski * fix(database): use dynamic path for SQLite database file Signed-off-by: Robert Goniszewski * docs(readme): use single README file for latest/preview version Signed-off-by: Robert Goniszewski * feat(ci): add manual deployment workflow and adjust tag conditions Signed-off-by: Robert Goniszewski * refactor(workflow): simplify manual-deploy GitHub Action Signed-off-by: Robert Goniszewski * fix(metadata): handle multiple image URLs in mainImageUrl field Signed-off-by: Robert Goniszewski * fix: auth error handling (#144) * refactor(api): migrate Swagger UI to external documentation and enhance health endpoint Signed-off-by: Robert Goniszewski * chore: release v0.4.3 --------- Signed-off-by: Robert Goniszewski Co-authored-by: Prabhanjan * Fix creation/update of root categories --------- Signed-off-by: Robert Goniszewski Co-authored-by: Robert Goniszewski <43510122+goniszewski@users.noreply.github.com> Co-authored-by: Prabhanjan * Fix issue #145: bookmarks without images (#156) * chore: release v0.4.3 (#149) * chore: release v0.4.1-hotfix.3 * fix(data-migration): early return if no categories have parents (#128) Signed-off-by: Robert Goniszewski * Closes #130 (#131) Signed-off-by: Robert Goniszewski * fix(database): use dynamic path for SQLite database file Signed-off-by: Robert Goniszewski * docs(readme): use single README file for latest/preview version Signed-off-by: Robert Goniszewski * feat(ci): add manual deployment workflow and adjust tag conditions Signed-off-by: Robert Goniszewski * refactor(workflow): simplify manual-deploy GitHub Action Signed-off-by: Robert Goniszewski * fix(metadata): handle multiple image URLs in mainImageUrl field Signed-off-by: Robert Goniszewski * fix: auth error handling (#144) * refactor(api): migrate Swagger UI to external documentation and enhance health endpoint Signed-off-by: Robert Goniszewski * chore: release v0.4.3 --------- Signed-off-by: Robert Goniszewski Co-authored-by: Prabhanjan * Fix bookmark creation/update without image --------- Signed-off-by: Robert Goniszewski Co-authored-by: Robert Goniszewski <43510122+goniszewski@users.noreply.github.com> Co-authored-by: Prabhanjan * chore: release v0.4.4 * Feat: import bookmarks (#139) * feat(import): add Netscape bookmark import function Signed-off-by: Robert Goniszewski * feat(components): add bulk list management components Signed-off-by: Robert Goniszewski * feat(bulk-list): add metadata loading states and indicators Signed-off-by: Robert Goniszewski * refactor(bulk-list): centralize bookmark management with dedicated store Signed-off-by: Robert Goniszewski * feat(import): refactor bookmark import to handle file content directly Signed-off-by: Robert Goniszewski * refactor: improve URL display and pagination handling Signed-off-by: Robert Goniszewski * feat(import): add WIP bookmark import page with bulk processing capabilities Signed-off-by: Robert Goniszewski * feat(components): add custom Select component and improve bulk list editing Signed-off-by: Robert Goniszewski * feat(import): restructure bookmark import flow and add edit capabilities Signed-off-by: Robert Goniszewski * refactor(bookmarks): improve metadata handling and type definitions Signed-off-by: Robert Goniszewski * feat(import): implement WIP bookmark import execution with metadata support Signed-off-by: Robert Goniszewski * refactor(import): update HTML bookmark import flow Signed-off-by: Robert Goniszewski * fix(import): unable to create DB entities from import data Signed-off-by: Robert Goniszewski * fix: add missing preventDefault to action buttons Signed-off-by: Robert Goniszewski * fix(import): resolve issues with updating to-be-imported bookmarks * feat(import): finalize basic bookmark import flow Signed-off-by: Robert Goniszewski * feat(import): add styling, handle errors Signed-off-by: Robert Goniszewski * feat(import): add batch processing, transactions, storing images, display errors Signed-off-by: Robert Goniszewski --------- Signed-off-by: Robert Goniszewski * chore: release v0.5.0-pre.1 * Resolves #133 (#162) * chore: release v0.4.4 (#158) * chore: release v0.4.1-hotfix.3 * fix(data-migration): early return if no categories have parents (#128) Signed-off-by: Robert Goniszewski * Closes #130 (#131) Signed-off-by: Robert Goniszewski * fix(database): use dynamic path for SQLite database file Signed-off-by: Robert Goniszewski * docs(readme): use single README file for latest/preview version Signed-off-by: Robert Goniszewski * feat(ci): add manual deployment workflow and adjust tag conditions Signed-off-by: Robert Goniszewski * refactor(workflow): simplify manual-deploy GitHub Action Signed-off-by: Robert Goniszewski * fix(metadata): handle multiple image URLs in mainImageUrl field Signed-off-by: Robert Goniszewski * fix: auth error handling (#144) * refactor(api): migrate Swagger UI to external documentation and enhance health endpoint Signed-off-by: Robert Goniszewski * chore: release v0.4.3 * fix(docker): resolve issue with data directory permissions (#150) * Fix issue #153: creation/update of root categories (#157) * chore: release v0.4.3 (#149) * chore: release v0.4.1-hotfix.3 * fix(data-migration): early return if no categories have parents (#128) Signed-off-by: Robert Goniszewski * Closes #130 (#131) Signed-off-by: Robert Goniszewski * fix(database): use dynamic path for SQLite database file Signed-off-by: Robert Goniszewski * docs(readme): use single README file for latest/preview version Signed-off-by: Robert Goniszewski * feat(ci): add manual deployment workflow and adjust tag conditions Signed-off-by: Robert Goniszewski * refactor(workflow): simplify manual-deploy GitHub Action Signed-off-by: Robert Goniszewski * fix(metadata): handle multiple image URLs in mainImageUrl field Signed-off-by: Robert Goniszewski * fix: auth error handling (#144) * refactor(api): migrate Swagger UI to external documentation and enhance health endpoint Signed-off-by: Robert Goniszewski * chore: release v0.4.3 --------- Signed-off-by: Robert Goniszewski Co-authored-by: Prabhanjan * Fix creation/update of root categories --------- Signed-off-by: Robert Goniszewski Co-authored-by: Robert Goniszewski <43510122+goniszewski@users.noreply.github.com> Co-authored-by: Prabhanjan * Fix issue #145: bookmarks without images (#156) * chore: release v0.4.3 (#149) * chore: release v0.4.1-hotfix.3 * fix(data-migration): early return if no categories have parents (#128) Signed-off-by: Robert Goniszewski * Closes #130 (#131) Signed-off-by: Robert Goniszewski * fix(database): use dynamic path for SQLite database file Signed-off-by: Robert Goniszewski * docs(readme): use single README file for latest/preview version Signed-off-by: Robert Goniszewski * feat(ci): add manual deployment workflow and adjust tag conditions Signed-off-by: Robert Goniszewski * refactor(workflow): simplify manual-deploy GitHub Action Signed-off-by: Robert Goniszewski * fix(metadata): handle multiple image URLs in mainImageUrl field Signed-off-by: Robert Goniszewski * fix: auth error handling (#144) * refactor(api): migrate Swagger UI to external documentation and enhance health endpoint Signed-off-by: Robert Goniszewski * chore: release v0.4.3 --------- Signed-off-by: Robert Goniszewski Co-authored-by: Prabhanjan * Fix bookmark creation/update without image --------- Signed-off-by: Robert Goniszewski Co-authored-by: Robert Goniszewski <43510122+goniszewski@users.noreply.github.com> Co-authored-by: Prabhanjan * chore: release v0.4.4 --------- Signed-off-by: Robert Goniszewski Co-authored-by: Prabhanjan Co-authored-by: Guillaume Poussel * feat(docker): implement s6-overlay Signed-off-by: Robert Goniszewski * fix(docker): use proper tag in compose Signed-off-by: Robert Goniszewski --------- Signed-off-by: Robert Goniszewski Co-authored-by: Prabhanjan Co-authored-by: Guillaume Poussel * chore: release v0.5.0-pre.2 * fix(build): resolve issue with lodash causing build fail Signed-off-by: Robert Goniszewski * fix(Dockerfile): remove grimoire user causing problems, limit layers count, simplify Dockerfile Signed-off-by: Robert Goniszewski * fix(Dockerfile): ensure all packages are in sync Signed-off-by: Robert Goniszewski * chore: release v0.5.0 (#167) --------- Signed-off-by: Robert Goniszewski Co-authored-by: Prabhanjan Co-authored-by: Guillaume Poussel --- Dockerfile | 49 ++++++++-------------- docker/etc/s6-overlay/s6-rc.d/grimoire/run | 8 ++++ 2 files changed, 26 insertions(+), 31 deletions(-) diff --git a/Dockerfile b/Dockerfile index 22283b0..97a95ad 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,39 +1,29 @@ -FROM --platform=$BUILDPLATFORM oven/bun:1.2 AS base +FROM oven/bun AS builder LABEL maintainer="Grimoire Developers " LABEL description="Bookmark manager for the wizards" LABEL org.opencontainers.image.source="https://github.com/goniszewski/grimoire" RUN adduser --disabled-password --gecos '' --uid 10001 grimoire -FROM base AS builder - -RUN mkdir -p /etc/s6-overlay/s6-rc.d/grimoire /etc/s6-overlay/s6-rc.d/user/contents.d /app/data - -ARG TARGETARCH RUN apt-get update && \ - DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \ - xz-utils wget python3 python3-pip build-essential && \ - rm -rf /var/lib/apt/lists/*; + apt-get upgrade -y && \ + apt-get install -y --no-install-recommends \ + xz-utils python3 python3-pip wget build-essential && \ + dpkg --configure -a && \ + rm -rf /var/lib/apt/lists/* && \ + mkdir -p /etc/s6-overlay/s6-rc.d/grimoire /etc/s6-overlay/s6-rc.d/user/contents.d + +RUN mkdir -p /app/data -ARG S6_OVERLAY_VERSION=3.2.1.0 -RUN case "${TARGETARCH}" in \ - "amd64") S6_ARCH="x86_64" ;; \ - "arm64") S6_ARCH="aarch64" ;; \ - "386") S6_ARCH="i686" ;; \ - "arm/v7") S6_ARCH="armhf" ;; \ - "arm/v6") S6_ARCH="arm" ;; \ - *) S6_ARCH="x86_64" && echo "Warning: Unknown architecture ${TARGETARCH}, defaulting to x86_64" ;; \ - esac && \ - echo "Architecture: Docker ${TARGETARCH} -> s6-overlay ${S6_ARCH}" && \ - wget -q -O /tmp/s6-overlay-noarch.tar.xz https://github.com/just-containers/s6-overlay/releases/download/v${S6_OVERLAY_VERSION}/s6-overlay-noarch.tar.xz && \ - wget -q -O /tmp/s6-overlay-${S6_ARCH}.tar.xz https://github.com/just-containers/s6-overlay/releases/download/v${S6_OVERLAY_VERSION}/s6-overlay-${S6_ARCH}.tar.xz && \ - tar -C / -Jxpf /tmp/s6-overlay-noarch.tar.xz && \ - tar -C / -Jxpf /tmp/s6-overlay-${S6_ARCH}.tar.xz && \ +ARG S6_OVERLAY_VERSION=3.1.6.2 +ARG TARGETARCH=x86_64 +ADD https://github.com/just-containers/s6-overlay/releases/download/v${S6_OVERLAY_VERSION}/s6-overlay-noarch.tar.xz /tmp +ADD https://github.com/just-containers/s6-overlay/releases/download/v${S6_OVERLAY_VERSION}/s6-overlay-${TARGETARCH}.tar.xz /tmp +RUN tar -C / -Jxpf /tmp/s6-overlay-noarch.tar.xz && \ + tar -C / -Jxpf /tmp/s6-overlay-${TARGETARCH}.tar.xz && \ rm /tmp/s6-overlay-*xz COPY docker/etc/s6-overlay /etc/s6-overlay/ -RUN chmod +x /etc/s6-overlay/s6-rc.d/grimoire/run && \ - chmod +x /etc/s6-overlay/s6-rc.d/init-data-permissions/up && \ - chmod +x /etc/s6-overlay/scripts/init-data-permissions.sh +RUN chmod +x /etc/s6-overlay/s6-rc.d/grimoire/run ENV S6_KEEP_ENV=1 \ S6_SERVICES_GRACETIME=15000 \ @@ -65,12 +55,9 @@ ENV NODE_ENV=production \ NODE_OPTIONS="--max-old-space-size=4096" RUN bun --bun run build -FROM base AS release +FROM builder AS release -RUN mkdir -p /app/data && chown -R grimoire:grimoire /app/data && chmod 766 /app/data -WORKDIR /app - -# Copy only the necessary files for the release +COPY --from=dependencies /app/node_modules ./node_modules COPY --from=build /app/build ./build COPY --from=build /app/migrations ./migrations COPY --from=build /app/migrate.js ./migrate.js diff --git a/docker/etc/s6-overlay/s6-rc.d/grimoire/run b/docker/etc/s6-overlay/s6-rc.d/grimoire/run index 1c25b32..7f2f443 100644 --- a/docker/etc/s6-overlay/s6-rc.d/grimoire/run +++ b/docker/etc/s6-overlay/s6-rc.d/grimoire/run @@ -2,6 +2,7 @@ cd /app +<<<<<<< HEAD echo "Starting Grimoire application" echo "Current user: $(whoami)" echo "Working directory: $(pwd)" @@ -29,3 +30,10 @@ echo "Migrations completed successfully" # Start the application echo "Starting application server..." exec s6-setuidgid grimoire /usr/local/bin/bun ./build/index.js +======= +# Run migrations first +/usr/local/bin/bun run run-migrations + +# Start the application +exec /usr/local/bin/bun ./build/index.js +>>>>>>> 8890939 (Release v0.5.0 (#168)) From e98e242bd085c632e675c3699823a0905126c7c2 Mon Sep 17 00:00:00 2001 From: Robert Goniszewski <43510122+goniszewski@users.noreply.github.com> Date: Thu, 27 Feb 2025 12:29:41 +0100 Subject: [PATCH 5/7] release(0.5.0): publish new version (#174) * chore: release v0.4.1-hotfix.3 * fix(data-migration): early return if no categories have parents (#128) Signed-off-by: Robert Goniszewski * Closes #130 (#131) Signed-off-by: Robert Goniszewski * fix(database): use dynamic path for SQLite database file Signed-off-by: Robert Goniszewski * docs(readme): use single README file for latest/preview version Signed-off-by: Robert Goniszewski * feat(ci): add manual deployment workflow and adjust tag conditions Signed-off-by: Robert Goniszewski * refactor(workflow): simplify manual-deploy GitHub Action Signed-off-by: Robert Goniszewski * fix(metadata): handle multiple image URLs in mainImageUrl field Signed-off-by: Robert Goniszewski * fix: auth error handling (#144) * refactor(api): migrate Swagger UI to external documentation and enhance health endpoint Signed-off-by: Robert Goniszewski * chore: release v0.4.3 * fix(docker): resolve issue with data directory permissions (#150) * Fix issue #153: creation/update of root categories (#157) * chore: release v0.4.3 (#149) * chore: release v0.4.1-hotfix.3 * fix(data-migration): early return if no categories have parents (#128) Signed-off-by: Robert Goniszewski * Closes #130 (#131) Signed-off-by: Robert Goniszewski * fix(database): use dynamic path for SQLite database file Signed-off-by: Robert Goniszewski * docs(readme): use single README file for latest/preview version Signed-off-by: Robert Goniszewski * feat(ci): add manual deployment workflow and adjust tag conditions Signed-off-by: Robert Goniszewski * refactor(workflow): simplify manual-deploy GitHub Action Signed-off-by: Robert Goniszewski * fix(metadata): handle multiple image URLs in mainImageUrl field Signed-off-by: Robert Goniszewski * fix: auth error handling (#144) * refactor(api): migrate Swagger UI to external documentation and enhance health endpoint Signed-off-by: Robert Goniszewski * chore: release v0.4.3 --------- Signed-off-by: Robert Goniszewski Co-authored-by: Prabhanjan * Fix creation/update of root categories --------- Signed-off-by: Robert Goniszewski Co-authored-by: Robert Goniszewski <43510122+goniszewski@users.noreply.github.com> Co-authored-by: Prabhanjan * Fix issue #145: bookmarks without images (#156) * chore: release v0.4.3 (#149) * chore: release v0.4.1-hotfix.3 * fix(data-migration): early return if no categories have parents (#128) Signed-off-by: Robert Goniszewski * Closes #130 (#131) Signed-off-by: Robert Goniszewski * fix(database): use dynamic path for SQLite database file Signed-off-by: Robert Goniszewski * docs(readme): use single README file for latest/preview version Signed-off-by: Robert Goniszewski * feat(ci): add manual deployment workflow and adjust tag conditions Signed-off-by: Robert Goniszewski * refactor(workflow): simplify manual-deploy GitHub Action Signed-off-by: Robert Goniszewski * fix(metadata): handle multiple image URLs in mainImageUrl field Signed-off-by: Robert Goniszewski * fix: auth error handling (#144) * refactor(api): migrate Swagger UI to external documentation and enhance health endpoint Signed-off-by: Robert Goniszewski * chore: release v0.4.3 --------- Signed-off-by: Robert Goniszewski Co-authored-by: Prabhanjan * Fix bookmark creation/update without image --------- Signed-off-by: Robert Goniszewski Co-authored-by: Robert Goniszewski <43510122+goniszewski@users.noreply.github.com> Co-authored-by: Prabhanjan * chore: release v0.4.4 * Feat: import bookmarks (#139) * feat(import): add Netscape bookmark import function Signed-off-by: Robert Goniszewski * feat(components): add bulk list management components Signed-off-by: Robert Goniszewski * feat(bulk-list): add metadata loading states and indicators Signed-off-by: Robert Goniszewski * refactor(bulk-list): centralize bookmark management with dedicated store Signed-off-by: Robert Goniszewski * feat(import): refactor bookmark import to handle file content directly Signed-off-by: Robert Goniszewski * refactor: improve URL display and pagination handling Signed-off-by: Robert Goniszewski * feat(import): add WIP bookmark import page with bulk processing capabilities Signed-off-by: Robert Goniszewski * feat(components): add custom Select component and improve bulk list editing Signed-off-by: Robert Goniszewski * feat(import): restructure bookmark import flow and add edit capabilities Signed-off-by: Robert Goniszewski * refactor(bookmarks): improve metadata handling and type definitions Signed-off-by: Robert Goniszewski * feat(import): implement WIP bookmark import execution with metadata support Signed-off-by: Robert Goniszewski * refactor(import): update HTML bookmark import flow Signed-off-by: Robert Goniszewski * fix(import): unable to create DB entities from import data Signed-off-by: Robert Goniszewski * fix: add missing preventDefault to action buttons Signed-off-by: Robert Goniszewski * fix(import): resolve issues with updating to-be-imported bookmarks * feat(import): finalize basic bookmark import flow Signed-off-by: Robert Goniszewski * feat(import): add styling, handle errors Signed-off-by: Robert Goniszewski * feat(import): add batch processing, transactions, storing images, display errors Signed-off-by: Robert Goniszewski --------- Signed-off-by: Robert Goniszewski * chore: release v0.5.0-pre.1 * Resolves #133 (#162) * chore: release v0.4.4 (#158) * chore: release v0.4.1-hotfix.3 * fix(data-migration): early return if no categories have parents (#128) Signed-off-by: Robert Goniszewski * Closes #130 (#131) Signed-off-by: Robert Goniszewski * fix(database): use dynamic path for SQLite database file Signed-off-by: Robert Goniszewski * docs(readme): use single README file for latest/preview version Signed-off-by: Robert Goniszewski * feat(ci): add manual deployment workflow and adjust tag conditions Signed-off-by: Robert Goniszewski * refactor(workflow): simplify manual-deploy GitHub Action Signed-off-by: Robert Goniszewski * fix(metadata): handle multiple image URLs in mainImageUrl field Signed-off-by: Robert Goniszewski * fix: auth error handling (#144) * refactor(api): migrate Swagger UI to external documentation and enhance health endpoint Signed-off-by: Robert Goniszewski * chore: release v0.4.3 * fix(docker): resolve issue with data directory permissions (#150) * Fix issue #153: creation/update of root categories (#157) * chore: release v0.4.3 (#149) * chore: release v0.4.1-hotfix.3 * fix(data-migration): early return if no categories have parents (#128) Signed-off-by: Robert Goniszewski * Closes #130 (#131) Signed-off-by: Robert Goniszewski * fix(database): use dynamic path for SQLite database file Signed-off-by: Robert Goniszewski * docs(readme): use single README file for latest/preview version Signed-off-by: Robert Goniszewski * feat(ci): add manual deployment workflow and adjust tag conditions Signed-off-by: Robert Goniszewski * refactor(workflow): simplify manual-deploy GitHub Action Signed-off-by: Robert Goniszewski * fix(metadata): handle multiple image URLs in mainImageUrl field Signed-off-by: Robert Goniszewski * fix: auth error handling (#144) * refactor(api): migrate Swagger UI to external documentation and enhance health endpoint Signed-off-by: Robert Goniszewski * chore: release v0.4.3 --------- Signed-off-by: Robert Goniszewski Co-authored-by: Prabhanjan * Fix creation/update of root categories --------- Signed-off-by: Robert Goniszewski Co-authored-by: Robert Goniszewski <43510122+goniszewski@users.noreply.github.com> Co-authored-by: Prabhanjan * Fix issue #145: bookmarks without images (#156) * chore: release v0.4.3 (#149) * chore: release v0.4.1-hotfix.3 * fix(data-migration): early return if no categories have parents (#128) Signed-off-by: Robert Goniszewski * Closes #130 (#131) Signed-off-by: Robert Goniszewski * fix(database): use dynamic path for SQLite database file Signed-off-by: Robert Goniszewski * docs(readme): use single README file for latest/preview version Signed-off-by: Robert Goniszewski * feat(ci): add manual deployment workflow and adjust tag conditions Signed-off-by: Robert Goniszewski * refactor(workflow): simplify manual-deploy GitHub Action Signed-off-by: Robert Goniszewski * fix(metadata): handle multiple image URLs in mainImageUrl field Signed-off-by: Robert Goniszewski * fix: auth error handling (#144) * refactor(api): migrate Swagger UI to external documentation and enhance health endpoint Signed-off-by: Robert Goniszewski * chore: release v0.4.3 --------- Signed-off-by: Robert Goniszewski Co-authored-by: Prabhanjan * Fix bookmark creation/update without image --------- Signed-off-by: Robert Goniszewski Co-authored-by: Robert Goniszewski <43510122+goniszewski@users.noreply.github.com> Co-authored-by: Prabhanjan * chore: release v0.4.4 --------- Signed-off-by: Robert Goniszewski Co-authored-by: Prabhanjan Co-authored-by: Guillaume Poussel * feat(docker): implement s6-overlay Signed-off-by: Robert Goniszewski * fix(docker): use proper tag in compose Signed-off-by: Robert Goniszewski --------- Signed-off-by: Robert Goniszewski Co-authored-by: Prabhanjan Co-authored-by: Guillaume Poussel * chore: release v0.5.0-pre.2 * fix(build): resolve issue with lodash causing build fail Signed-off-by: Robert Goniszewski * fix(Dockerfile): remove grimoire user causing problems, limit layers count, simplify Dockerfile Signed-off-by: Robert Goniszewski * fix(Dockerfile): ensure all packages are in sync Signed-off-by: Robert Goniszewski * chore: release v0.5.0 (#167) * chore: force version (#169) Signed-off-by: Robert Goniszewski * fix(Dockerfile): specify base image version and clean up package installation * fix(Dockerfile): remove hardcoded TARGETARCH variable for better architecture support * fix(workflow): enhance Docker build process with QEMU support and caching * fix(ci): wrong s6-overlay URL's generated in Dockerfile Signed-off-by: Robert Goniszewski * fix(docker): resolve docker image build error Signed-off-by: Robert Goniszewski * fix(docker): resolve, yet another, docker image build error Signed-off-by: Robert Goniszewski * fix(docker): attempt to fix libc-bin issue when building ARM64 image Signed-off-by: Robert Goniszewski * fix(ci): resolve Docker image build configuration Signed-off-by: Robert Goniszewski --------- Signed-off-by: Robert Goniszewski Co-authored-by: Prabhanjan Co-authored-by: Guillaume Poussel --- Dockerfile | 46 ++++++++++++++++++++++++++++++++-------------- 1 file changed, 32 insertions(+), 14 deletions(-) diff --git a/Dockerfile b/Dockerfile index 97a95ad..826bffb 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,25 +1,43 @@ -FROM oven/bun AS builder +FROM --platform=$BUILDPLATFORM oven/bun:1.2 AS builder LABEL maintainer="Grimoire Developers " LABEL description="Bookmark manager for the wizards" LABEL org.opencontainers.image.source="https://github.com/goniszewski/grimoire" RUN adduser --disabled-password --gecos '' --uid 10001 grimoire -RUN apt-get update && \ - apt-get upgrade -y && \ - apt-get install -y --no-install-recommends \ - xz-utils python3 python3-pip wget build-essential && \ - dpkg --configure -a && \ - rm -rf /var/lib/apt/lists/* && \ - mkdir -p /etc/s6-overlay/s6-rc.d/grimoire /etc/s6-overlay/s6-rc.d/user/contents.d +RUN mkdir -p /etc/s6-overlay/s6-rc.d/grimoire /etc/s6-overlay/s6-rc.d/user/contents.d && \ + mkdir -p /app/data -RUN mkdir -p /app/data +# Different build strategy based on architecture +ARG TARGETARCH +RUN if [ "${TARGETARCH}" = "arm64" ]; then \ + # ARM64 build - avoid libc-bin issues + apt-get update && \ + apt-mark hold libc-bin && \ + DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \ + xz-utils wget python3 python3-pip build-essential && \ + rm -rf /var/lib/apt/lists/*; \ + else \ + # Standard installation for other architectures + apt-get update && \ + DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \ + xz-utils python3 python3-pip wget build-essential && \ + rm -rf /var/lib/apt/lists/*; \ + fi ARG S6_OVERLAY_VERSION=3.1.6.2 -ARG TARGETARCH=x86_64 -ADD https://github.com/just-containers/s6-overlay/releases/download/v${S6_OVERLAY_VERSION}/s6-overlay-noarch.tar.xz /tmp -ADD https://github.com/just-containers/s6-overlay/releases/download/v${S6_OVERLAY_VERSION}/s6-overlay-${TARGETARCH}.tar.xz /tmp -RUN tar -C / -Jxpf /tmp/s6-overlay-noarch.tar.xz && \ - tar -C / -Jxpf /tmp/s6-overlay-${TARGETARCH}.tar.xz && \ +RUN case "${TARGETARCH}" in \ + "amd64") S6_ARCH="x86_64" ;; \ + "arm64") S6_ARCH="aarch64" ;; \ + "386") S6_ARCH="i686" ;; \ + "arm/v7") S6_ARCH="armhf" ;; \ + "arm/v6") S6_ARCH="arm" ;; \ + *) S6_ARCH="x86_64" && echo "Warning: Unknown architecture ${TARGETARCH}, defaulting to x86_64" ;; \ + esac && \ + echo "Architecture: Docker ${TARGETARCH} -> s6-overlay ${S6_ARCH}" && \ + wget -q -O /tmp/s6-overlay-noarch.tar.xz https://github.com/just-containers/s6-overlay/releases/download/v${S6_OVERLAY_VERSION}/s6-overlay-noarch.tar.xz && \ + wget -q -O /tmp/s6-overlay-${S6_ARCH}.tar.xz https://github.com/just-containers/s6-overlay/releases/download/v${S6_OVERLAY_VERSION}/s6-overlay-${S6_ARCH}.tar.xz && \ + tar -C / -Jxpf /tmp/s6-overlay-noarch.tar.xz && \ + tar -C / -Jxpf /tmp/s6-overlay-${S6_ARCH}.tar.xz && \ rm /tmp/s6-overlay-*xz COPY docker/etc/s6-overlay /etc/s6-overlay/ From f0d0e3939a1aea58fd4d306844c98559c8b6734a Mon Sep 17 00:00:00 2001 From: Piotr Hajdas <7317318+Lasim@users.noreply.github.com> Date: Sat, 31 May 2025 00:10:51 +0200 Subject: [PATCH 6/7] added one-click deploy via deploystack (#188) --- README.md | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/README.md b/README.md index 907743e..1302e27 100644 --- a/README.md +++ b/README.md @@ -122,6 +122,24 @@ chmod +x ./run-dev.sh && ./run-dev.sh > [!TIP] > Although the above setups are intended for development, they are also suitable for daily use. For a better experience, it is recommended to use a Node.js process manager, such as [PM2](https://github.com/Unitech/pm2). + + ## Development Check out the [development guide](https://grimoire.pro/docs/getting-started/development) to learn how to set up the project for development. From d1832c57fa9992072b0b34805f4b05b857e5c67f Mon Sep 17 00:00:00 2001 From: Robert Goniszewski Date: Wed, 25 Jun 2025 10:28:37 +0200 Subject: [PATCH 7/7] refactor(docker): remove redundant user creation command in Dockerfile --- Dockerfile | 2 -- 1 file changed, 2 deletions(-) diff --git a/Dockerfile b/Dockerfile index 826bffb..53d86d8 100644 --- a/Dockerfile +++ b/Dockerfile @@ -50,8 +50,6 @@ ENV S6_KEEP_ENV=1 \ S6_SYNC_DISKS=1 RUN bun i -g svelte-kit@latest - -RUN adduser --disabled-password --gecos '' grimoire RUN mkdir -p /app/data && chown -R grimoire:grimoire /app/data WORKDIR /app
+ Run using One-Click Deploy and Kubernetes (Helm) + +### ⚡ One-Click Deploy + +| Cloud Provider | Deploy Button | +|----------------|---------------| +| AWS | | +| DigitalOcean | | +| Render | | +| Helm | `helm repo add deploystack https://deploystackio.github.io/deploy-templates/`
`helm repo update`
`helm install goniszewski-grimoire deploystack/goniszewski-grimoire` | + +Change or add deploy options at [awesome-docker-run](https://github.com/deploystackio/awesome-docker-run/tree/main/commands/grimoire) + +Generated by DeployStack.io + +