From 931456ea3cb7b7936c78d51943c8d3f301db2a23 Mon Sep 17 00:00:00 2001 From: "cori.schlegel" Date: Sat, 13 Jan 2024 14:18:08 +0000 Subject: [PATCH 01/40] ignore .vscode files --- .gitignore | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index 21db3dbf..9a74ed4c 100644 --- a/.gitignore +++ b/.gitignore @@ -2,4 +2,5 @@ node_modules/ package-lock.json github.secrets .DS_Store -.nova \ No newline at end of file +.nova +.vscode/ From 51fef8166e90499b88362cb29b7db5619f974c3f Mon Sep 17 00:00:00 2001 From: "cori.schlegel" Date: Sat, 13 Jan 2024 14:20:52 +0000 Subject: [PATCH 02/40] add atuin --- apps/atuin/config.json | 20 +++++++++++ apps/atuin/docker-compose.yml | 56 +++++++++++++++++++++++++++++ apps/atuin/metadata/description.md | 5 +++ apps/atuin/metadata/logo.png | Bin 0 -> 21283 bytes 4 files changed, 81 insertions(+) create mode 100644 apps/atuin/config.json create mode 100644 apps/atuin/docker-compose.yml create mode 100644 apps/atuin/metadata/description.md create mode 100644 apps/atuin/metadata/logo.png diff --git a/apps/atuin/config.json b/apps/atuin/config.json new file mode 100644 index 00000000..a344fe09 --- /dev/null +++ b/apps/atuin/config.json @@ -0,0 +1,20 @@ +{ + "$schema": "../schema.json", + "name": "Atuin", + "available": true, + "exposable": true, + "port": 8888, + "id": "atuin", + "tipi_version": 2, + "version": "latest", + "categories": [ + "utilities", + "development" + ], + "description": "Making your shell magical", + "short_desc": "Magical Shell History", + "author": "atuinsh", + "source": "https://github.com/atuinsh/atuin", + "form_fields": [], + "supported_architectures": ["amd64"] +} diff --git a/apps/atuin/docker-compose.yml b/apps/atuin/docker-compose.yml new file mode 100644 index 00000000..c4cba8bf --- /dev/null +++ b/apps/atuin/docker-compose.yml @@ -0,0 +1,56 @@ +version: "3.5" +services: + atuin: + restart: always + image: ghcr.io/atuinsh/atuin:latest + command: server start + volumes: + - "./config:/config" + links: + - postgresql:db + ports: + - 8888:8888 + environment: + ATUIN_HOST: "0.0.0.0" + ATUIN_OPEN_REGISTRATION: "true" + ATUIN_DB_URI: postgres://atuin:really-insecure@db/atuin + networks: + - tipi_main_network + labels: + # Main + traefik.enable: true + traefik.http.middlewares.atuin-web-redirect.redirectscheme.scheme: https + traefik.http.services.atuin.loadbalancer.server.port: 8888 + # Web + traefik.http.routers.atuin-insecure.rule: Host(`${APP_DOMAIN}`) + traefik.http.routers.atuin-insecure.entrypoints: web + traefik.http.routers.atuin-insecure.service: atuin + traefik.http.routers.atuin-insecure.middlewares: atuin-web-redirect + # Websecure + traefik.http.routers.atuin.rule: Host(`${APP_DOMAIN}`) + traefik.http.routers.atuin.entrypoints: websecure + traefik.http.routers.atuin.service: atuin + traefik.http.routers.atuin.tls.certresolver: myresolver + # Local domain + traefik.http.routers.atuin-local-insecure.rule: Host(`atuin.${LOCAL_DOMAIN}`) + traefik.http.routers.atuin-local-insecure.entrypoints: web + traefik.http.routers.atuin-local-insecure.service: atuin + traefik.http.routers.atuin-local-insecure.middlewares: atuin-web-redirect + # Local domain secure + traefik.http.routers.atuin-local.rule: Host(`atuin.${LOCAL_DOMAIN}`) + traefik.http.routers.atuin-local.entrypoints: websecure + traefik.http.routers.atuin-local.service: atuin + traefik.http.routers.atuin-local.tls: true + + postgresql: + image: postgres:14 + restart: unless-stopped + volumes: # Don't remove permanent storage for index database files! + - "./database:/var/lib/postgresql/data/" + environment: + POSTGRES_USER: atuin + POSTGRES_PASSWORD: really-insecure + POSTGRES_DB: atuin + networks: + - tipi_main_network + \ No newline at end of file diff --git a/apps/atuin/metadata/description.md b/apps/atuin/metadata/description.md new file mode 100644 index 00000000..95796ff0 --- /dev/null +++ b/apps/atuin/metadata/description.md @@ -0,0 +1,5 @@ +# Atuin + +## Making your shell magical + +Sync, search and backup shell history with Atuin \ No newline at end of file diff --git a/apps/atuin/metadata/logo.png b/apps/atuin/metadata/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..952e299145b4279e52ce95278bcad5ed476e4f81 GIT binary patch literal 21283 zcmb4rc|6qL7q>QRC4>+v`x42T-PjVwo^?otWX~{}F(iY8RLZ^$St69(Sf)Zk82dV= ztb+_?7{>N|Cg0!l{QbOM^?EgP@44sPbKd9NbI!d}tU1{53^Ok?9Ua{nqnmn`baV_j zI=bWM8BYM;1Qi*A>FACLnVVSan|KC@URU}5_|xnLOg3w!9DmkdHNSUwcqnS4E1K>g z`q)fVO-;1=?s-U*urjFgN6)p}4@6_FPeyi#esB?WHxkv=6wQZ-nrQ3ibnxGFW(h3i zu?#SB@if7#h`zQJg&3$IQqMg|eOccv`ow|(*&?B)cSXaP>2bA`p1G)>i6F?v$?c)y zgD2Vv73_Ck@R>fi^@(uC2hC-N@QF`PO3Rcnb<#lP8x{}ByFgU};uW;?{`}nlB{#yt zBXvwH%^k4a=*td>B+Ru^v-~ z)wYHNr4-(O@*=Hu6#L_oKA^R8P)o2CUCy;jYv=l~Pqgn45-ZI8jjMQwz!;PNP5VGP zI*zlnzsKk?UoO$nU7|D6)3JU$v6|(fd$F^@Uu<#cj_Glx=t~jDJS{*D?KTdcH6cC~ zgUyuvL+s3{cM)kzo zg^Irhu=ZJB$xX0e8DP@X&W3I&@Z*Q=w__ve>FDmT7Z~7UbqdBL1J{AsCb<)mw==hg zRHcWG(a~Afg^U`R@D%}M?{1ns?O6niZ2@w>q@M@3zcMPbna@2=NB6)vbCiF{`nmKV zKtZDM61JSms->+PLe`b-i}7&GkB}Yg-@dP0Jq$%~C19g)v|)Plud0Gq_=iN*I&=s%@KKY~Y@r~>S-KW$x2s#nTU)6ioI zef0=NBYX4o>uPJ6&RzG}&!Oj*N)f}GikhaQqYp<~2x8)n>ZdH7A0SKO$RA8cW-XrzS!0 z%+RMrM*-WpAHe6Ee|F}exykpiqO~#w0l*jRp<&ngirrPWq!L{+etWX@TIs=Dsz z5@77lxgG?bhv)(S`iut{R#7;4T!a7JR|x|KV3#i*V28?dZvAE|#q<0IfN&{SSUhHu z@7*_OPL~QW`=+(jx1GIA{&-;QTvU3jCb!st9H7Q04E*v)%?sYK@y-i0tAD`B4=>IP zs02R*KG>n1FKU zAtJ#7z^HABPvkeRjIdhVd zmOgXkkE%ohlbkyjxd6Q*{FF)l_Y2@7Zu8n)=bbxm`z7K}&^>7y ztQL+Sd6Ai;0Ik0aoG>tZ#?nY}$l_q4qiZN!bM2`5@>w-sS>-J-dap!)GoaBbKT31# zj{-a?37E1|;A;PQ|24+|%|>yLYd&P9kpgwpR6PORf4{0a-$2*moHaC=R800m0MU7ki5CN$4-RcBI!GPTi*@ zV3_1H61@6%=g#t5gNgw6V|16ysz12ovJ4PU)Ap`zQ5O~w*2{BZ7O)NBjr>P#EsvaA z0D8YGlF-*VSdf}y8RkoX%5Hqi_wez~$1xOHV@}X%zwjJa7nb=5OUMOOKX(#lH1#4& zlR|=c1w;cZSRcP>>yhTfc&s@@C0NtGQ1Hex;Nv)yECKm4XR_I0-W52FNRlb|Ivw5p zY)h`_u5AYVjYA4j><)XvlV!z7j^b!qyS6CiB#(*5^LcvzvD8lZLUXity3v(}>q zB}47U=(Nkl-Q;G%dQ&j~xW98Gm>5hkL@vn$(U2hYFfG15NB*uefYZ5{hXz8Vr|!@N z8j+Hxo5GCD1A`(NK#s~-gvpeG6o~R6?w+6xu!?YbVNH@w@Op8aS6~+)b>th!H?^LZ zxaQ>uOfwK73OkO8$!xdg&hv#gWk;=xJH1c1Dr<0J^ZA| zKQSr}qkw_D?yE{cmRtC9F z1mnJkG4E$uQA{W1r%q_2?V(SXYE{hd9NYX|ggaH{)dW2;mwmg3$*@s}$RA(ydR~Xr zQs$)(*3|9|nhySIrL%NLh4kq?DxIJ`&FNt5 zFH&pI^u!=!*Ewzzj1Ae3w(o7VORMm1;QVsx-9m|V?gk6*MTcv@n9Im2sF!cL>t~}H z`M62tVwfu{?FJipm{veMp8MP|Syf8G>*2&JIr6G>CLy!$a=G%<+10H8+6xwCrnqOVG9ahrIZN2OhayW1C%zfZEncK(iCWDuX+)n5%OLb`18+{z>U z(p*c$c-AQJqt4O~roc6VRdR2ackbeAlUU!aX2C@d;$xq8)hGGqDC@9EO4y!LP2Ceu z3DvotIHn43Z~DG>+&;lgNF!k1KL<9$9k|Gx@@%>G4C<@_B-iH~W^xl``$44vG_sz8 zP9BXW=D>ca)q+&df?}plPRZWk{iI+05ZwDxaXYB*@E-V`ZQD-xbP)ga8)3}XJIRr_ zFL$h~tu2>)yF2}?GpFRNb97R885ws&G#$(3LQS~l0VOr*zf8R!(Ocy**CM!nqmuFf ze`Y`Ao@&1h`f_#@?(!GDqSs!pMKEW+Y}FtDv5aQUDP&NmTKTH}gN{Jk_5i$Cfwd0t zj>>YmMe@mLOQq4p!}^yLE!nyK3YL(=ec8_KU1h@lMn!la@_989Cz?Jn`!#Gj*~OUO zjWp84AOwB3JMezJ@;>WAXodXoZNY}WTpPCf5HDv$u5?wAUqy|vd)Pe!8ytiIu-9ra z-l&(Qrs?vAatQgpi{<`%(B}f3S!veu-Z>m@tn_GL2%T=J*h^c;j&A`r4qbLi-gc7V zCLOH6Bs$gJ;DUPYzU2>Kecm8j!2Yet#gU_XXnXF%7O$nJoL`%`wdS-@UPjDZmPq-0 zvy-NtD#&&;nsg89rpbC3QmXZJfjL@Jluh*#^qEQ1(|SK|ZmO1bB4Rwy z$3{}QWR2Q{H_ut5UMA61sXxOVLq{$&?i_k^W4J6M`PrZ|x(P8=fEctLJ{PwPs zCm+=^ahsUg9HI17lNDW*_8vrhg45wKqVjz3)f*Ls4r&wM6I2-aE6H1(u}aao>OUh{ z*L<-qYKvQ}FuxFT`FJTg+>>YfDNg=YpAJ!du`D95KJ(-hQp`eYduw3c_M%3h+J3lq zmTZ1-dAvTTB7je?$cZ+QO;v0nyZ%>XqoJ3KbJz;CA$)H|ixDrdRnM2e>UstGGH&83 zL+XT|&eS@BH7neLdcyY0E{sbOuP9DZ5d?XVOJ}%UQN3^7F8+Abr~espQ90BfVfwuv zQa5n8ws!itF0qMG2wE=9VbK_C9(Tg~@x_JJ{&YdZK7mH#>BAQ|pU;YyYr7N9y|O%o z7J`z z{k{HTCL?!l9+&31$^bB(235Ec5FF={jnp+ASQ45c-r+9$)4PSWX{No{Df^#^S&#!Z zwJ%t|oRfA}ERA!8pw~7Ot2=&~3jVntKj~%hc&9lF;{Dz%EGwZ9jSM@$eBv%2@{ywE z*0U??zR|Pk(IGP8TNazYc2{=&QdIdF2D^I28RET=(o`f(?r!deJ$|mZ)q-=TtNnp^+q&#+goKwO=mAFKiD< zO3IP(yY%RdcYRB5joHA|XUaO^SS}XUf(*#tY|`9lQpijgSJMj@#w(Axn|ro|+IYUH z2fdwA1~j>-umEnu|J?4z*VI1_`n1oDM#!gyFSp4mYo^zKWfYL5D~i*q;oP!$T3&O( zdJ>>;d|nbjI{nBjC;G>eMnCS!!vhBNu5Do!b2xEm<@D-@repEZ{mjQiPyYCU5WNC5 ze^C9ynNfJLpl=Ew}SIv&qo( zBIVu#>RFH>aU@T)sm(f#d?M!SlikLecaNc;ZiMerus=#)8pGb~{yi%paO(Hqr!|Oz zI!_`jy0molPEMm(gVkL2p2h{hvMlC<&%r3!AQVDt+9BzQA@`*I@BN%ZDm^-`P1Qc_ zl(L#*@Mc)Cqm&-^6i7o|cFckhDFy7YO0UT1+cgy5n)>4g(Nh&NwX(MlR}PUBd^q-x z?x5wt8evZef^JOi+AZ3Uy~exNSb1#rT-}I$Y9hYiorp{j4OJNyuk^+4rBFfnWimfW zqwR(9;d_db;Tu#%M7mfze`D8RCjOT{@j595wB4MmPn}a4daQcIJ=%yB9ofG2F7s~S z36kK5@FQ~BJsxUIbqve9zL=J5aA?wUm3hvROr~t0p>UknWoY(R?IkQTsw1Z17$slv zy}B+@=iX276_Ia6_s|2d#Cz7GNyp>ZM@ue2QQ*|r%UmPssbO}G-8KD#V@9iw*(F|T z@~^>{)uA2uH}B7VJ1NDcN;D+t!6YAA6_twoJcwFjgXg-!u8foku6<}aVG{ge)^_F< z$ZYg6BfkOz-pwFg^5oQDVUg6&uueymK&FwPK~LOTR<9Z^Mr`&$&5qdI=ecPmn$Jf4 zaEET`C@cRAbByR4^>v)v_;u;3yP9(ZrL)&0O#Ml!y>u5R>IF_76mt@O_Be@9A@M7D z)C2!_HsAmiCNoi%BS8cBTA!#t0uptAw1`n7P`H%ka-|2|*SFDKH@6|JGpjBMB(@+ykFW@m z?~9c{+mro|fZ*0Q6UDEUWbMlP_LzbtV|_&##Has}SC6poqB&7O?c;SD(J(s}0Dz6M ztMv`0XDu*T9RqT|_N`)t05kMuLi*|;tFRusuOFEOxAyGU5(8IU}( z!3!(agWqvXh$4LHXH0P}%l!+lJVDqDc{D;A*KlLD@I6g*^gw@ug!Sao$*IwW;WV=K)0>gi#FlqKr83-AzZ`GF$(L$vYj7I0?=_#j!#02N0IzsR2V40_&$&b z84?>9^*JNcZ%FDtT2wkY#cB9eD|A1z!)t*Bd0t9hBd1VxN`7KdDCQL0`d=UkL65R^ z01DN|KS+iP0C% zqE9?|T@d}ZZHw|v3Ej;`9bc{(%W>fF_lO`F4*~$;|Ez*)Ef9w(>f%kl}=MP9oMNT zf|T-tJW}xOYn&PXMncQ{Ca2mI&nI7AKxxMYbX9^5%i;H06k)$hh0zH2qMqy2Y1DHS zPvtW-@}(lyepByFg%rir76tZ5c^I2oW_}Y;K(hmp%bi;1*^`}>w6#*XGIGWcnTuTI}AET^@k|*uCF|Z=aDKV>! zP-j$PTrapZG(TJOg9YME#%m0Qf{){si){jF#2>|fmb(?bN#SJ}dnW_^ z)Soq2z0mm^9-gBKi)K9%ATHY!j`=>#GmVn5C2AU&iT&1Ow_ffCD*5hz8d8TZ(N9&R z(BjU!tFf|L0AOqE2kD_nJk(Tdo7$%BoAnF99cu>My8c(-;f=}L_?xGtC4?9iIOOp-<-PxNi79m7CUBO&$;S8x==r4d7y3i zmRtN|j12BvY`#n8Yq9h$2)xP?8RMsTYAO+m)xK~A`b#0DB7pMhZdPAgcVH;VY_u~K zm!a?IY*9XvhmQzxicNt7|g7JGkZ9|=yPV&POQN85`Ty64E+l?#h5FPOM)7N)(qB`9fV>_ zgKFBb*qrbg3xO!j)Kvy2md2t=scDavS7D(7%7t!aI4NKuVq&Qz)d^AY>6wGv%y!K{ z!{e^kgJ)Kwlih0_mXA?NKUD~hJdz;i>QQebWoh`R!XCci>4^6nmx6X!T6PJKNs%9n zAD4gOBB{%iAqm$0lsVmML@?hJToByR1xE>748}SY8mBAD^U^yl{y_9tw(tN>h!WWB z6)&AI{8X$$l{j6mg{xZ`5B$Y&fWO(JcGrAT-16#&EYo1*6~lD%WaV(2%RaFPLe} zvX7ya&tog4PB*~@SnFL9k;oh`bR6ZTeM0k^chAhYx=OiA{zaLB<$Hj8vtgJ(eh)8v zw6=aT;>~-`ANvp#-sGNvbE70Bh`Gu>3w&?r@V>7WEGpsb!IMV|STAr@lH`(X`rhZS zE$C;SG=BSAokES=t3+ugYd#OUFrRmU6mNKWWI2B@3-8a(^J`1{U-rWWza2F_7#v>5 z`EDTU{UNL8gTEpm!P75b`OX)17o7zYn|^5W^Cy~ZwYm_XrEW4u`)5UZSl9I0E_a3f zWX_Lag`R!<=^Ya!3CA$F9zfv~ZT+==KeV%VCp>=JOA_gw)qD~@9p!8Qj=c(3|NgroCl-E&=|Kqw{rK!xv~04qw*+cZD8hHmc^>w!5C*WcXe$dGQ+_7 zlIx8Y2Q_?|%Z<2x#1#y?Vv^TnF|^gi!nnD%8r z6v@O4@s>9e)!81Z|INb4-|}1>cpZap-;g8sx*(Mg$5I$Irky2;nI~0&vw~4$E6eqB zDZKIB^27cn%WP#d7E*O=AH-UNzBRRyHn8MO9a6JN-Potky<4x$zn}$gw4(&Hqj(@yc;D-*DK5zGv63GM_Tn5STnSP>IEmyP z7RJi~vxJ~(QPaxHrp*@)9p3Y>`@2*XGigB3E~*eqA;+lpkhzm^zJJJ-L))sBVRS|x z{T@*H^{1i0{-xFrt!)N1)PagA+NEte5yn3H{nd>`ozZ{XJxqv&7I7X>*X{KPl4W2< zI!?B}2Hv(sKau9MD*U{~ma%qG{75-{wf*h;${1x~t@QA9N-Z-|;bzp*gHU$F`)PgL zjuBA%0@k>C9UlKai{I)vY1EVm)CZYHj~r+1?1S!-*a%N(^%F3wJmS_IwXjg`7^SAp zMQf)_L=!91r3@l+gA)ULs+lku>-Y6(nh_$S47f*E9{QaM&$(T!rIfCuXLgBPSBG5( zPithsyu;J~`4YggdNcXj&jX!C0U&sh*+7Yn0hnt(Gl-s#%?{K=1sX_HL6qMew~1?Zc}f2b zjuX!W0y!L~JL|}APAbk0jfL6e8RyRa6M_wM`>SS7)SuQ4>IssqDUommdJ2S1FX?92 zIHp0%A^;(J6fpkH0gl*7 z2Ty2|>k@xjQlfQ^!B{eIJ$wr!DRRw|m8hMHZ^F2hTY`@NEXcwn9q*OF;g5CJ($pnB zM;$y#MX;AluoE}NsYfOb)7Nr7DaTphtcVu07a_0NvQEEm0AcliXfWyfP<-D1V`WIp z6VrVsX02+ourWVdcY9~5X}sc36zQk8mIIa0`p=IT@%)V&XD>4!_~=Ko0rxon-U67t zw@%ZllArNy!TB{rUXsvE`d#quYQ*%_BU8ZJ6fh4u1KvE8p%y?u%D&c_iMX{}%~eLZ zrLO2?&Ld-RFU7Ln8r?noa~UEF)Ed<&=Z?uGF`QJvahjX+qY+wyZ90_aI&2h2frC#^ zQ%Ym}MxD_~ddim~rX~O5bH_ktE-fTyS#?wiouMS@o32L``Em7TZc&nu?vWY&bzuE+ zMy=2NJjI=g}3? z0e+66WLPPKe}^5K@H*6XJ`z*jI0X6q^axIu1vqDncwkm%?Fls|#AwrG9pdYL3h@CK z5anqxGWG6u>Fn(;31VF>3z8s>4qur*q(>JW?lEsV9eFmCwX0m$QeKB>C=mCJlFWnO zWJnbuH);}wP9?eB<{(OVcmBtVZO!#p;<6K7b8CCg&xadclH>+%2Zj5!S;d~jh-L3y zxpL$K#Ve-UNfWof8$K=Z>fUlhG*b7ieDnn4q7F`gl$9f#|7WwQ47=?ljFNEpmfiX( zX~#T5r9KhH2G@g6`1ajChVDiKeBlBq#IJ&TFUx!RCsjwC+>rNlqr!~0Aa8@Z0K2t6 z4FOe*?PQkH5`_*C%(htK8@2U$O5%RY@~lt>Dr}Sst))%uFJ8hZd)b_bny%TnK?}AT ziN;W|veeyfm|tYeGD8OHzH+mJH2|@ehF^CNPSH0A4hA_Mc|J!T>QJU)iFTKc!KLO z$>lcTgey2KPe0+ci6w9V5jfubECPZ}l4%xf;oO<)J!Lj^crcdk0JDuCeAh!0lEb__ z(({;r3Kv!Gd&}2lc@&6W8bZ*o!3F9s)h6d_KQCm&P)HTw^9RkXJ;NUxML68!ALS1A*jExTy8UCL~+_PW_zbWi(EaR=hJ+{{^x&P~L-}LqH4aI!ketpoP(#*Wh zaR}na=_CKiH)qZfF?j%WZQV&)q>S#5P1|)AgnPlK@WuT7r#h4Juh|;1z4Zd;rZ67` zK!K#YD2}8{%fRxil{+cadTy!rWSBb({+$7IG??g8R~KHlZWhC;d;k8;T(4XgAdR9O zcw?7a#JRU7Q;lZ@Pb!6PQ~Tj6XKzo8o%VAL+%J%yMYWiBtQMRvk^p7`}t@!@_ zpU-Ks#C`nvHHSg&?`U51#=6qs>sv0djfCsU0gV%USpH}4?& z#Bm@N0lV9mmS%3EWZRwXFqkTuZ~pjeZy2sut9(1GgA!dh-~xY>;Zq<=zS?K`EPv$` zbs^v9hH~)jC9k;Tx6F(hY9K!#7G@tGeln0V8WX^=#KzmJ8xUS2wVx)UYF5RDM^J{M zz5$onU!NhEGFGPUeX#kr(@AM^l+Q^?31rkt$IW3!>||dG$I`F6c-b`rFBR65TQ2XX z;a(1s`?a||zuTnIvTuG799_aeZFtm4_@|?D%98jNUPN%p8h7&Dic?&5Dd2mfN3hef z>vGXzB)P;5`wKi@1a!_SS}@>8VCSDB^Y-`M#&%WJ)KFNtz$7ZNKgFF?+ItdS_8d33 zgYf~PankpuvA?lyw-H&j(`!~|RKznTS12jm0f{*~b;a#~C24~FyzasK!EO=!9O)&1 zsJaNr$!XmXqB@YXx`|GNz&uOIOJrz^FU^?s)oPc0r(WMKs(U&R#pj#A{5Jc;FZJ_@ zBo#Ji*?3&TtVs_Wb$7+-ds5u&&NUTil4JS=>8tZUfcmE3;?M{V#~>dU$!iNOA#9>9 zWpd%`&5cp3;vuae;?6wEXOy%TCAP{MlpGN-e!uWX0e4+aVTtp~5#?nc3#^XREKI&7 zWO=&kz3~!Dl^gY|2z4hiJV@SZ@k

u3`o+>qlrVXkVZQM`Nw|rLk;2fc@tKf^TW#htPI&JxE?=J!YXC> z=TK4@@fP zov-k1JgPRe^7j3#FqRKHo>fsHSbz4JCrE2A9dmAfO#$u2$7CV<@09mpgNyXPIe2KX zulzg8IWLZVsnlq0cLjbk;NEb4BdeaOR!5MD<+7t1XR|+YKU)DEM|6v@T%Crk9!5A4+6>ebVadYH!?O1 zKZFdAmIO({Ns5CjH8^;BZ-B;pC4q=u5|UhML4g6f8j%&drwxcrF71);~ViyoA7k+(rf?-fdR*ISAM>m*+}cKhd;)X z#R|-&0<8hH#Qje#eqEv8i?ddo6EJ#|^lMx9HQe3+_!rb)EF_nO^t`>nNV5G7-dcBDgNl*}Qt#AJ0?H!I)G zqe6P!xgz81ms??ne|%O|l?(iQh#QuG+PNWs+G)qWAu*W|qBEN~AOf$Ka%&YU2@S_z zoHLC?ZYd@Anl3p8vh0VgUyE>mft(&q)~@)MS^2PGp2y^MiBP*{3joo=T+F@PK$4JN z1-sGU#f)Fd*#Z3OLKC>04}&ODiuUOIMk*`gzoLX0Wcw&aVN=6JZ|&@iG<74WsvbL2 z%Fy?EWzY4E>9i@)F#`ksx$#q!Y!HSlufL(NqXTpu_|Zj|po$j8QJbn|{{8#&BGkLt z+x-|%;VHXe-Njd$(i%tsYU$C=*Dg|YnSW#vSAi`1W9sM93BXSdNS^z7lhzb!1Y zGWzQl9_kWK`+_PKM;C$AZIzZSG2(gAQj$_7CA;5@-}Y!CzDUdVR}=(w=%EoNks8nI zw3b_mR?85npByJ9a4tBMFX(u)^-(yzLQXH?D3%efhbC_KbWNdEs)Q{@$ge9!g}TH8#~S!robN}RM&Xxf&ecRovqb?Lk9_hZ4)1rj zblxFkGsG&T@4q?+FMv)N%F+pPLAZ{e!^JleNj_32lH8ds`_$FmB;phRZR@%|3JO%j zg#UWf0fAs~HZqTf%7oG{3z4LZ$qhB64}87NZ|iqwVciiF!KukCG4C=L{@aV01=G=C zhV?ennN3P)um6kMIMlR72(uz%GY2`JPavaMQw~BTd4B9IYpj!HnS0@j4Q!vtYHh1p zf(%?tAFMIppkC((0DKe^m6)2}{XIW2#G*^(lkK!FPb*9E-dncJWFB?7(iA}d#m_l>J}hsJc20PF+srU5gqHQA%Ef+* z?DHhjqTr|$w8o;l@UMqy>V?nIh_EgWH54hGeq|=M+Q;3A?Vzl>airE0WF{Zsd~~?1 zvSVgcUFSipRZc(--)D=UT$RIk@&10^S66^EpO~y-Y#ez2G86mn0G$*eKc5L4yM2{x zuGRc&WMm`A>oLjdj96e*-LQ+MLcW*j7;3sRzt0$e`cWN=mqCxNs>j%h$xSWU+vW8s zUk-6i#ElBZzW#1Gxilyf$Q=Z1p+(yU*z{2j>L>~wF8Y+ejfk1zfVXN$`%a4HYgzF7 zDc?bGS&XI^4`GvabGV;lLjS9_eK_D|e{Oh-b5WO1kc9nXHT%A|RNf>`HzxSpDnH?m z{QMnNu9%MFez5d6r1AN`4g;82(weN%4svNW*oxLMCNDA%^eyS(-LS9gztREx%b2?N z0>@D0S0kJyj;uby1lhddEeY`8=!H1cVDxfE?R*?W$fZ+Qsdi~rTg4q5#1W^Ub4 zXk0;+hh7M_|AezW2qCgHKp=Tq_6~FotzH3KmpR->BxSinQL^*FKPJ*g5tsvRyJKW6 zMINpSRAO|_>ucV0*qIxNMDVdRsj9q8Ga#4?p2RsUgf&r@V4)efKoy(9itfdlqmTkZ zD_<8S59+M5Bc0tg%^_cRr@!&9VW5k>aS66^9*uabCT+8ZANb*#VB#by8>>SS`G032 zsvJTr?Qm0I{G^vd(RqJ?t8RZe=$YvNsVR)JwS#q728UP6^ST;H_!D{pk?juc{BRQP zn1Vwb9Zv}$KZh`O+r)0~b9ZCQz3rw-N6o$-o-%VbO!zF@X-b{^UfU7({dPLUt6~pm z?-3Vo5rG3??Wovd#M7Z!x=NE%h#O9yrp`Dx^ZOd?3n{S*1!eolww%40SciCT<&m~~ zf3ua9My=Z#!pm7C8$s*)0vGoZS9x2%~$aDCGz#>DtBH8oLI$y|K zd>j^@;6}0=oy`)VcnkoE$w243*ZWVW9Ks&-c-pP=kh)_48Z0?kN*>WrJiz$DODDPP8 zja5RgRfLfv{5as*$wV87W2Fk?nG#LnPl(g@h#zECJk9* za&{RLt+!HBd>*~1Lp(4hM|%0BR;eGR(?33c_jaZYf5|Z`)ZDugI*TA2UE{rCyLJQ070|XqanwVkL6XRTP)095`72hzFZwd>X zQR4(??VSkpP=wl4t@iC>{i<4tU>U47k~%VH-QdSyn`Jt%?9f;zP}{0C$d?bh7#HOn zd=8@svOT;zrA_2H2N$}E-j(g2WsO6eudPR3zxbkKcCcThX!g&zf2zvwgDb8i7ZpC| z@6NaMNeq*&theP_HP@Cl8unfyYNBzgY_xlDOh1SM$#Yq{>-dOsJY_AQR-{;z&nGLY zpSmD*cnA9iUDMaPCsE`Osu_s%t@nfJM0d}SMR2lf@1w1sceSX4>MV&tfYLY^@!_$W zE?F(Fvw$C~Fx-w#{I(l`{ieo!DR6Pr9O9a8&|UA`BEX!1qrl$EUNuEK1k#}^%&no; zZ?W8?K(1zX1xgU1h8}w??o%>Ra8L_U@-?di9}gQw`w`NCD!BgEzLBav35KfRD=PPK z!q{`d*dR+~l;7i^)Oby+&UXxkdhrT9~ zuE1P5s8H2@0cn#Mu4MySOMnR|T<_C#(5H(@6yDhr{&qUK|5{1^B4oIOmdFUzG1dpER9Q*^C;p|HxCGR1|E7dT>?odW)s^yKR<* zFigSJhv2Voy=wH22>WfJGkTeJv4Ht?)I%^Qh8dGXUT?*o1b&?J2U4pXf0x|a4r3ob zMhVPmOu>RBlcrerEvcol{Arn2b%A?rFV6gjJVUhVL!73o)(1-u0+74DUn79)U?-|Z ze_efk?pNgD-|oj{u{N_MfgD`FvqBCYr~S)gI*aWcIAU;t!ceRT)%6{*rv6ZUr+#Be zrMh1Pko8RCBvyJULvnjJkGp|od}Hs$xR;XY=6AG~VWxv5V`AD!&HZ)ToT=$eTjvcY$!wQ?GS;WY`hY#4WR${XhaBmj>j7QA1q z=ArE6=yoQU+>NAa*KKR-ixhuH9YVUT-mYD>!^kDF(b(WY&D??YVbF&ZnGpjbCThBp z{Mz6@)=}aXs|MFMv)?C#Bao38TcW_!?R z+bWYsyL<7E=Gc#HaMgJ?X2b6D0EkkA$zNLhV-Ijr#{7jH#;^MH4Z>&o>$Yw>vr=RI zgYhq-Hyb{-5M*C`e3U9VZj>u;0kpJjWSwjNmH;N1K+s$%Mw>h&f3P>T z9~N-Q?`Edq_#_a49zRm$BmR`0yP>t&nSbAa7!;a-+qbCmN~{D!3nJrba%+xpUhUUC zZMk_-Lf+!Sv#sCGlT*P=H{8>9krY`$)&V!Ixf?k<=fBy?&jhjqeb#1}rdxqHt#dWc z1ZmRCnS`rN2zYf&2;nLq8hW*(!h{sX4~&Qqc=X}N{g+7e=u1T)$Gu!u*b51mVnQ#1i9q9NYfnqx zF4yc$%JY!I{xxHu*u>`ke)oIh<2|?FP)9t~em#W2R)`GUFP>|!r-cP4Gz*ZFuvgjs z;wCP8WHerHGX~(GrT&^DAm_~Qo9MNj18n6r$?}*IHaKGmGpkSk*A-wxW;A9SHV}Fl zT#Q7SLj^NFiCorvYq9UuOAvwoK7=R?G}cwD1tu%W`6Z!V$5Gk3=(uF!LF-Ht99Q$< z0j0@VQJAU<2Zhwn%z5ltA@`DJ5^0%1=b8ZzRXSn2Q4fyS$H9hVVLt z|K?{{aW1NG8oec@vl}sL6oFXn^03S=>b*7zCg%flC}sSjB#@v3dw^C?HI8=UoK!M% zvFLWq5(aQVPWTgzvnRZ!6g@IwC*>$(NG~(X1Qp?D^?lc`l4YJ75c|!Ms79scqATPk zX5e&g8KAFSJ&3iK;D=;%Qbz_3B4-Sy%;@d8;DWkBCW#R zU+N!Xq%hKpVW9xmsy|g%DNSa7YCyEGAmFoxh`cMHb8z1%5?0SefQvF=q@lg)jP(^> za%@bY^4)5B2H4mYy&`cEIA-Bp4kf#7~^tZ3&dio@{tdRhUNk)z? zCI6Bi;N*W=;Y-!iD&oS9G?#1wv1W%8bI88m;`cRV^vN@FO7%`$!6tm~M!@^gHd9d6 zibeDhO&UPMUMJXGRCk60y=Y6z-xgb#7Uek}eiINOItDUntbV%ghz8eC;;fZW(`~(s z_$lr$;LMMRhVq?9+Qb`Nm#R=g3}_S zMh7S-YlmWl--tD1O|Wa7wtx7F0IueNPdJuENyTzpq)0P1M`W-um63BJ+t6Kh$P&t$Dlq{30S z4GD7D&-7)}oGg3Gw2}pIo@^8=XH>=uZM=x3u z(Z`!APG^)XIJXP5ksK$lU0Lvl2%anVFjdeZgrR9~0+?_)Wxg=J=HYmF)wp3l>Gh_z0eo8I69H=IFE2x@$n)a_i+CnwwnIIK81 z$sfCg#)V0=7Xj%y->2P?AMEh&r!eapUBPI|`gKrUUN8RfIXLjpnQM!p$sSZza33pg zhVEDfY>4cBdWx!&50a$`gnA6*jfq0!{;z#|2(!j*Lb^n_B}xFA zqZfk*c?3n_LL_Lnd&#(pl!hEXr@u+t+~GEJ?!tHx0U|kPpqi@ z?Gs$p6|%#5v`Z8$e0OGp4;vT$2W@}P65r~QV!6kc%&g(m7x9q^{|KEzOBv>_eWycv z7!biH(SBtg`ucV(_Tttu6e&}VL_Xt{pcRxrDFFdoz>_Q}mfDP&~*M zvGS6muC;KmsEcK3&h| z8+$Ny9NkyC&dPo|S+0P??7MX2zjI~&OSK9r+YOD7ywh?iv`QG7BSKw3ZbXGGQs;$g zab~93JG{^zKAfsREd~aDogf75o2|om5e}@S$pl{%(AOAOawYEu$JHz|t6S6HSQ!8&Jrk zVL(V{vWQ{SWGx=AvLr&XTNtxMXwBxl*+rXs)s39Dh|1Xx(&P(BFM39#AN#?xHP-85 zP#}Rhnl>}LxWAI}M&>-VLWxBKPM8oHwYWaMsIxolApZYmg>{%+llFwEvz(_U^l`D! zn64z!rup%0F=aI?oWn3b(vmrg_AnyO5U}B@Ea#|2iCfJ3o1=$R)d*bC0#*G%gfAMG zHW-WZfqw;h+u7g#tZeV$4#vNm5tYL}+0vAl{oz2eEPv*O(2n{w{ySMXzGoNEQkU1N zo}Yskq68F-169tm?0?G{VMaR7Y+d_ujdC?1yyJHDAR33=a+%PtN#*o*WsJCp5A&|alyfntaWZ6+jQ*;<%GSAZbel2yu>6> zo^tX@!AbWAx^8BDb0`D6IUu-$Vvzp(Y02dqz?Negqwy#Qw;ii;~e=yyYvFG@H9 zZ%t@ao=`J1VY}xxT5FF=V4YFUTUmCToJ@H92#<~&UmA``&Ga_);lOk$T3>}#$T4PN z0NlBvW8^V)IKK%=a)?2wP?!*=u%%|Ocrh4Ovlj-f+&ht!m1YB4lL*bU>1seE>JUq5 zzoF`TiPJ4uxh@LjL3*inO%;i~>RY|_8Ho|vEga#8-%g`l*}+Ls*(;{U&%w7)0?YiH z9Yx_yJM#-g@r)3_a?$+#`9Y;2r=|=!Iv$}*O#-%Po%}^rBJeU&oD7mD8!vYhnH`31 zEcC1?%YIaf5da#|{+qDX;)AU!V)w@IWs)Pa@5AQe_!zE#lxhH_yaah8^4+yc&urX1 za+%M`daJOlQ1+EOYdNd>t1ilRL`jbS)54XKpLIf%Z;srq)se*vz2u2P$ z6h$aiiBYi1A<$Y5^ztHQAA5=&ukxJS?1$xSvCy zm$7nr*f+nV51vgcSGVkSCeyZ;^ZPhZI(=20GYI6)@FD#GL(XbpKm*MUw~< z0J>+|>53z*JI*L2!hCC-a!k%AB315xu|5k)jR|E?#VR)e2@sBAi?CJMZe$E++4$dV zfwyfpF;k}wr(8&Xj>A^JQesCBy^@uEgYtWQX%g~hvE}Ni;OuYKUfCBKDLMy}$3GNN zw@`k6oNJjs){B&*D1+EnEMn^s2%rsvL{BGvTT7P)W z=U-KUarrEtn5?vQYvL{o-R63iIi_yP{1VohC0d})O$vkGJuWCyMNfaiLLNIasj=J& zBFbxo*>j}qzjD2uy zoIu{%zEaJE2+To{{Qm@I5W!G7aPaMRD9rpidp*8lF@v3rsGi3e5xedj*D>w2@K90# z*(1mLLgVkrB_`6x+o6O7&*Z@;dLlP{HhxOeoa2Y{P)?Rj!BI2(<|}#w-T)E3u-K-1 z;Bppgg2z75WRME~L?E#7^TEoU_Jo8ZwkG#j%>A&?{dU&@2Kb@?$a@GvVxqJKxQ8^w zWe~p;x%TSiw_XP$tF;B{q+$hxlpmp)@2MqJH6fZ`(%8iV{>3bj%dO`XVwMiHw^PX1 z2k^PkTLIef2X*Bm{)gvzHn&zx4p1}{e3B=DM%_W@K)4HcdJflqVU8(T&$N_j z%k7Chb+!j;#VRr@aUpu6HP28XBp7%nD?hjfI+y&+;y`=dDEVTmF^O7^00F|G0CL3j z>pRr#68OVKz4a$gFaL4PE^n)gJ6<_YYO_0pj@;Ic0R9Q0qnW}fw&;J6NDaKv+jr7Y zk)G$Nx`WXPXLd=wBEGxtBX&m4SnXFb;Y?jIt^KvjDpt4|J9glfyp3#?))Jc719EfU-4 zK}x((cVecZr4#IMS3z<48}Auu{$)hAr@)$Lr=z_3cYMVk@pZ}H{HZ!*OfIQ9QAta3 z2Sofcg5K^ROA9|iEhtlQ;cii~FzV#qNaS~Ouba>0Tj>JhOu=7-vlkppCdHw;07h@r z6ie5`XBAIAw3%DrFP7;U5L~F7pW4&;ilr5%S2tcMoR~qnFuQ-ZN*spNS75WJuxgM# z;ya%RP+fs{;O72>o9uu`kuffxHg9U`|D)HZz#(BCKqmca4A4C=cX9LWy(MJqWoBVA zwRuY{1CkN`NAKe~J&gr1CSZX_wdIlRqg^}1#l>^cig-7p!!g`@y5Y(tX%e!+q{Sb; z8hj$Xot`m$^69#8KBP8=Znx;wb@~VTw-Q-I)3z%e=DtQziJw2M?i0C;XX%)*5D0)! zV1fOG==gPPm1vE>c)X*6>Q9RB^svtR^YP2^Ex#WqHv+>szxNrp7BJcU=3Dk30A|H zCEOIL;jx1)TA7%u1#$=sPM)K_Exxk@T@*B!S6e8qoQ8~cPKES-+C!py`&y@y;2f=Q zZnu;UW5*2UBG@lAaK=w=#yJ^HDC(XB_g577(V;aha# zpuLpNDj7aygjst#Ft5^iFk8~@u_o>1Tl4LFsdHa0*6i&{dzSZbCc5fcVSOKA>Lm?= zFhZJ6d-#!CGweR?0Cp3)jwJ)3#FaPqBvk$c|olh4Fo`5Iuq2vJB^ZyN;sQ}{!c2Y{Z6T7t)_y(#5(K~2Xe6kI9nN`Kd* zeDHiOdw3J|D&xRD-6646tVyL$fB#lX4OM#y%+4;&-GFc^f3H`DFRGn6=`y&_MYSx2 zwN+Q1J!3tjE>BDzUw*&Z%NuVAYi#gsntc;w)gZ}?s*R214c@*R$GbtIp5MAKC2v5y z>+-JkyH2ft-Jn-|*L>v&%;$WaER|e*sr2dt*58qI>onnfi%U*-y2-d3Cv=-g>mc4; zF=E(~eY3ip@cfr=L}lEl88#x`r^7uXielO)A_QsXgtX$hPRtRT$p#8##KR|Y%i;cy zv|s%Vb({rp$My`H?7H^$R+!sjn<8E{rc%d%`7qdv5K_&Fuxwa}rH|yoY)ZO+``p1) z@AFIzm8maMMp*F2Un)mLbslw(pL#MDQeBcaM-lx@?DUje{mw#w2EY(rEFi&j6aW#XGjLOt?JE;B!*P;&Zz~|XDvS4=on5* zE9y6&R*qM3gDh{oy`9DWD~Q}xftx77e}>1N%Bb z?JvhoWQ^uN%fjBYG#vU+gGj{z(bkKbTU;g}YqDjaLe-eJfPMTjc6IEA9eNdQaiWcJbM-Cr={9)}(HN9B+HeGg)RH~G%=R(NrrQX}gan)# z3KYLOjgY3|+_=r!iekRzs{SkkJWAZKVF5+@CaVU$uLJi+>vRivW(X=Ejq2ChN_6FL z_-5tN(urwJJg9K=^t(#LuXZ-y_elDsk9b>DP@wBFMFitsf!4aa zH)<2dcds;`M0a@6aTK)N^{k!1yA-o<%4yfGF5@rI+6M$Zc%>);spgPmCI-Bh6F^*n zgk4^x%)&zULgV-t*uQ4+RwbD{l`o+5;O#9g=9AhDNOU|Pe}Korzbd5@_4!Cw9eE{W z`_GnQyzD_)D@T<3SC3I_yd3-z7=!+&8&g;~`Yo}<+KYt!P7!**z7tgcbDVRIZB6YY zdYRMC-(HJc#vt34obg;R>)7dOo3ie!x4>O$$>^9Jzw$G>YT?>6Mi%8(8ahBvr5pK_`|T}t{d D^*Pz5 literal 0 HcmV?d00001 From 22246362452bb2c10c861b0be97bdfdd15f2389b Mon Sep 17 00:00:00 2001 From: "cori.schlegel" Date: Sun, 14 Jan 2024 04:56:51 +0000 Subject: [PATCH 03/40] Update volume bindings; fix logo --- apps/atuin/config.json | 0 apps/atuin/docker-compose.yml | 4 ++-- apps/atuin/metadata/description.md | 0 apps/atuin/metadata/logo.jpg | Bin 0 -> 46799 bytes apps/atuin/metadata/logo.png | Bin 21283 -> 0 bytes 5 files changed, 2 insertions(+), 2 deletions(-) mode change 100644 => 100755 apps/atuin/config.json mode change 100644 => 100755 apps/atuin/docker-compose.yml mode change 100644 => 100755 apps/atuin/metadata/description.md create mode 100644 apps/atuin/metadata/logo.jpg delete mode 100644 apps/atuin/metadata/logo.png diff --git a/apps/atuin/config.json b/apps/atuin/config.json old mode 100644 new mode 100755 diff --git a/apps/atuin/docker-compose.yml b/apps/atuin/docker-compose.yml old mode 100644 new mode 100755 index c4cba8bf..fd2d5aa8 --- a/apps/atuin/docker-compose.yml +++ b/apps/atuin/docker-compose.yml @@ -5,7 +5,7 @@ services: image: ghcr.io/atuinsh/atuin:latest command: server start volumes: - - "./config:/config" + - "${APP_DATA_DIR}:/config" links: - postgresql:db ports: @@ -46,7 +46,7 @@ services: image: postgres:14 restart: unless-stopped volumes: # Don't remove permanent storage for index database files! - - "./database:/var/lib/postgresql/data/" + - "${APP_DATA_DIR}/data:/var/lib/postgresql/data/" environment: POSTGRES_USER: atuin POSTGRES_PASSWORD: really-insecure diff --git a/apps/atuin/metadata/description.md b/apps/atuin/metadata/description.md old mode 100644 new mode 100755 diff --git a/apps/atuin/metadata/logo.jpg b/apps/atuin/metadata/logo.jpg new file mode 100644 index 0000000000000000000000000000000000000000..229b3c0fe93226357340936e448298bcec5a4254 GIT binary patch literal 46799 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 z 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%0AssKii^+)=m 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 D^*Pz5 From 43241a35a290b332a9d9e14225c7f7307dc03986 Mon Sep 17 00:00:00 2001 From: "cori.schlegel" Date: Sun, 14 Jan 2024 05:09:32 +0000 Subject: [PATCH 04/40] add db password --- apps/atuin/config.json | 9 ++++++++- apps/atuin/docker-compose.yml | 4 ++-- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/apps/atuin/config.json b/apps/atuin/config.json index a344fe09..e5456d3f 100755 --- a/apps/atuin/config.json +++ b/apps/atuin/config.json @@ -15,6 +15,13 @@ "short_desc": "Magical Shell History", "author": "atuinsh", "source": "https://github.com/atuinsh/atuin", - "form_fields": [], + "form_fields": [ + { + "type": "password", + "label": "Atuin DB Password", + "required": true, + "env_variable": "ATUIN_DB_PASSWORD" + } + ], "supported_architectures": ["amd64"] } diff --git a/apps/atuin/docker-compose.yml b/apps/atuin/docker-compose.yml index fd2d5aa8..21253e29 100755 --- a/apps/atuin/docker-compose.yml +++ b/apps/atuin/docker-compose.yml @@ -13,7 +13,7 @@ services: environment: ATUIN_HOST: "0.0.0.0" ATUIN_OPEN_REGISTRATION: "true" - ATUIN_DB_URI: postgres://atuin:really-insecure@db/atuin + ATUIN_DB_URI: "postgres://atuin:${ATUIN_DB_PASSWORD}@db/atuin" networks: - tipi_main_network labels: @@ -49,7 +49,7 @@ services: - "${APP_DATA_DIR}/data:/var/lib/postgresql/data/" environment: POSTGRES_USER: atuin - POSTGRES_PASSWORD: really-insecure + POSTGRES_PASSWORD: "${ATUIN_DB_PASSWORD}" POSTGRES_DB: atuin networks: - tipi_main_network From 86ca1cb5e6fa01998cdcd42de20378daac1e0e81 Mon Sep 17 00:00:00 2001 From: "cori.schlegel" Date: Sun, 14 Jan 2024 13:19:29 +0000 Subject: [PATCH 05/40] update description and platforms; reset tipi version --- apps/atuin/config.json | 7 ++++--- apps/atuin/metadata/description.md | 30 ++++++++++++++++++++++++++++-- 2 files changed, 32 insertions(+), 5 deletions(-) diff --git a/apps/atuin/config.json b/apps/atuin/config.json index e5456d3f..c9acba7f 100755 --- a/apps/atuin/config.json +++ b/apps/atuin/config.json @@ -1,11 +1,11 @@ { "$schema": "../schema.json", - "name": "Atuin", + "name": "Atuin Server", "available": true, "exposable": true, "port": 8888, "id": "atuin", - "tipi_version": 2, + "tipi_version": 1, "version": "latest", "categories": [ "utilities", @@ -15,6 +15,7 @@ "short_desc": "Magical Shell History", "author": "atuinsh", "source": "https://github.com/atuinsh/atuin", + "website": "https://atuin.sh", "form_fields": [ { "type": "password", @@ -23,5 +24,5 @@ "env_variable": "ATUIN_DB_PASSWORD" } ], - "supported_architectures": ["amd64"] + "supported_architectures": ["amd64","arm64"] } diff --git a/apps/atuin/metadata/description.md b/apps/atuin/metadata/description.md index 95796ff0..197c3cf5 100755 --- a/apps/atuin/metadata/description.md +++ b/apps/atuin/metadata/description.md @@ -1,5 +1,31 @@ -# Atuin +# Atuin Server ## Making your shell magical -Sync, search and backup shell history with Atuin \ No newline at end of file +Sync, search and backup shell history with Atuin + +[Atuin](https://atuin.sh) is an open-source Terminal User Interface (TUI) for your shell history. + +![Atuin TUI screenshot](https://atuin.sh/_astro/cargo-prefix.322ce063_Z3NFdB.avif) + +## Features + +1. Shell History Sync + - Sync your shell history to all of your machines, wherever they are +1. End-to-end Encryption + - All data is encrypted, and can only be read by you +1. Efficient Search + - Search decades of shell history, and recall it in an instant. Atuin offers configurable full text or fuzzy search, filterable by host, directory, etc. +1. Data Import + - Bring your existing history with you - Atuin supports importing from a wide variety of formats +1. Store Extra Context + - Atuin stores extra context with your commands - working directory, exit code, and more! + +## Self-hosted sync server + +Atuin.sh offers a free, fully-encrypted option for storing your synced shell history as well as an option to self-host a sync server of your own. This is an easy-to-use package for the Atuin sync server component; the user interface is the TUI, which can be installed using many typical package-management tools, e.g. + +- `brew install atuin` +- `apt install atuin` + +or via `bash <(curl --proto '=https' --tlsv1.2 -sSf https://setup.atuin.sh)`. \ No newline at end of file From 29f83952ee5004a644bd1539107dba827572aae9 Mon Sep 17 00:00:00 2001 From: "cori.schlegel" Date: Sun, 14 Jan 2024 14:14:30 +0000 Subject: [PATCH 06/40] add `no_gui` --- apps/atuin/config.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/apps/atuin/config.json b/apps/atuin/config.json index c9acba7f..956f86a4 100755 --- a/apps/atuin/config.json +++ b/apps/atuin/config.json @@ -13,9 +13,10 @@ ], "description": "Making your shell magical", "short_desc": "Magical Shell History", - "author": "atuinsh", + "author": "https://github.com/atuinsh", "source": "https://github.com/atuinsh/atuin", "website": "https://atuin.sh", + "no_gui": true, "form_fields": [ { "type": "password", From f1e54ed36352b3e9e4423870844bbdf8c76cac02 Mon Sep 17 00:00:00 2001 From: "cori.schlegel" Date: Sun, 14 Jan 2024 14:14:52 +0000 Subject: [PATCH 07/40] fixup new app guide link --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 2b2d8187..43a81b55 100644 --- a/README.md +++ b/README.md @@ -180,4 +180,4 @@ If you want to see new apps on Tipi you can either: - [Open an issue](https://github.com/meienberger/runtipi-appstore/issues) on this repository and members of the community will add it - [Join the Discord](https://discord.gg/Bu9qEPnHsc) members of the community will add it. -- Fork this repo and create the necessary files for a Tipi app. Follow this [guide](<[https://github.com/meienberger/runtipi/wiki/Adding-your-own-app](https://www.runtipi.io/docs/contributing/adding-a-new-app)>) +- Fork this repo and create the necessary files for a Tipi app. Follow this [guide](https://www.runtipi.io/docs/contributing/adding-a-new-app). From dd95db4308de2489c675e9cf027cf90f92dba1ab Mon Sep 17 00:00:00 2001 From: cori schlegel <46317+cori@users.noreply.github.com> Date: Sun, 14 Jan 2024 08:26:42 -0600 Subject: [PATCH 08/40] Update apps/atuin/metadata/description.md with reservations Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> --- apps/atuin/metadata/description.md | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/apps/atuin/metadata/description.md b/apps/atuin/metadata/description.md index 197c3cf5..3a19ee6e 100755 --- a/apps/atuin/metadata/description.md +++ b/apps/atuin/metadata/description.md @@ -10,15 +10,13 @@ Sync, search and backup shell history with Atuin ## Features -1. Shell History Sync - - Sync your shell history to all of your machines, wherever they are -1. End-to-end Encryption +2. End-to-end Encryption - All data is encrypted, and can only be read by you -1. Efficient Search +3. Efficient Search - Search decades of shell history, and recall it in an instant. Atuin offers configurable full text or fuzzy search, filterable by host, directory, etc. -1. Data Import +4. Data Import - Bring your existing history with you - Atuin supports importing from a wide variety of formats -1. Store Extra Context +5. Store Extra Context - Atuin stores extra context with your commands - working directory, exit code, and more! ## Self-hosted sync server From 902540d3367218f06c9fd35925bf14526b0f475a Mon Sep 17 00:00:00 2001 From: "cori.schlegel" Date: Mon, 15 Jan 2024 04:42:53 +0000 Subject: [PATCH 09/40] fixup numbered list --- README.md | 2 +- apps/atuin/metadata/description.md | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 43a81b55..2b2d8187 100644 --- a/README.md +++ b/README.md @@ -180,4 +180,4 @@ If you want to see new apps on Tipi you can either: - [Open an issue](https://github.com/meienberger/runtipi-appstore/issues) on this repository and members of the community will add it - [Join the Discord](https://discord.gg/Bu9qEPnHsc) members of the community will add it. -- Fork this repo and create the necessary files for a Tipi app. Follow this [guide](https://www.runtipi.io/docs/contributing/adding-a-new-app). +- Fork this repo and create the necessary files for a Tipi app. Follow this [guide](<[https://github.com/meienberger/runtipi/wiki/Adding-your-own-app](https://www.runtipi.io/docs/contributing/adding-a-new-app)>) diff --git a/apps/atuin/metadata/description.md b/apps/atuin/metadata/description.md index 3a19ee6e..367e2f9e 100755 --- a/apps/atuin/metadata/description.md +++ b/apps/atuin/metadata/description.md @@ -10,13 +10,13 @@ Sync, search and backup shell history with Atuin ## Features -2. End-to-end Encryption +1. End-to-end Encryption - All data is encrypted, and can only be read by you -3. Efficient Search +2. Efficient Search - Search decades of shell history, and recall it in an instant. Atuin offers configurable full text or fuzzy search, filterable by host, directory, etc. -4. Data Import +3. Data Import - Bring your existing history with you - Atuin supports importing from a wide variety of formats -5. Store Extra Context +4. Store Extra Context - Atuin stores extra context with your commands - working directory, exit code, and more! ## Self-hosted sync server From bd44ceee3f57076a22bc802eca304f26547df36b Mon Sep 17 00:00:00 2001 From: cori schlegel <46317+cori@users.noreply.github.com> Date: Mon, 15 Jan 2024 05:45:42 -0600 Subject: [PATCH 10/40] fix description.md uff da; i goofed up the previous "fix" --- apps/atuin/metadata/description.md | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/apps/atuin/metadata/description.md b/apps/atuin/metadata/description.md index 367e2f9e..b979e289 100755 --- a/apps/atuin/metadata/description.md +++ b/apps/atuin/metadata/description.md @@ -10,13 +10,15 @@ Sync, search and backup shell history with Atuin ## Features -1. End-to-end Encryption +1. Shell History Sync + - Sync your shell history to all of your machines, wherever they are +2. End-to-end Encryption - All data is encrypted, and can only be read by you -2. Efficient Search +3. Efficient Search - Search decades of shell history, and recall it in an instant. Atuin offers configurable full text or fuzzy search, filterable by host, directory, etc. -3. Data Import +4. Data Import - Bring your existing history with you - Atuin supports importing from a wide variety of formats -4. Store Extra Context +5. Store Extra Context - Atuin stores extra context with your commands - working directory, exit code, and more! ## Self-hosted sync server @@ -26,4 +28,4 @@ Atuin.sh offers a free, fully-encrypted option for storing your synced shell his - `brew install atuin` - `apt install atuin` -or via `bash <(curl --proto '=https' --tlsv1.2 -sSf https://setup.atuin.sh)`. \ No newline at end of file +or via `bash <(curl --proto '=https' --tlsv1.2 -sSf https://setup.atuin.sh)`. From ff0aa7cb81656a7df3f6e5b37784cecc218cb0dc Mon Sep 17 00:00:00 2001 From: cori Date: Fri, 19 Jan 2024 01:23:59 +0000 Subject: [PATCH 11/40] fixup docker-compose.yml add `container_name` as indicated in failing tests --- apps/atuin/docker-compose.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/apps/atuin/docker-compose.yml b/apps/atuin/docker-compose.yml index 21253e29..4566b66c 100755 --- a/apps/atuin/docker-compose.yml +++ b/apps/atuin/docker-compose.yml @@ -1,6 +1,7 @@ version: "3.5" services: atuin: + container_name: atuin restart: always image: ghcr.io/atuinsh/atuin:latest command: server start From 0f9db4875b03479583bdad131ef8192adf2bdb64 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sun, 28 Jan 2024 00:45:52 +0000 Subject: [PATCH 12/40] chore(deps): update lscr.io/linuxserver/emulatorjs docker tag to v1.8.5 (#2322) --- apps/emulatorjs/config.json | 4 ++-- apps/emulatorjs/docker-compose.yml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/apps/emulatorjs/config.json b/apps/emulatorjs/config.json index 67651518..85729e55 100644 --- a/apps/emulatorjs/config.json +++ b/apps/emulatorjs/config.json @@ -5,8 +5,8 @@ "available": true, "exposable": true, "id": "emulatorjs", - "tipi_version": 8, - "version": "1.8.4", + "tipi_version": 9, + "version": "1.8.5", "categories": [ "gaming" ], diff --git a/apps/emulatorjs/docker-compose.yml b/apps/emulatorjs/docker-compose.yml index 1e99532e..dcf78ecd 100644 --- a/apps/emulatorjs/docker-compose.yml +++ b/apps/emulatorjs/docker-compose.yml @@ -3,7 +3,7 @@ version: "3.7" services: emulatorjs: container_name: emulatorjs - image: lscr.io/linuxserver/emulatorjs:1.8.4 + image: lscr.io/linuxserver/emulatorjs:1.8.5 ports: - ${APP_PORT}:80 - 8165:3000 From 85a05726d89607d5df7b99b7ee40a14fc2dba0fa Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sun, 28 Jan 2024 00:45:59 +0000 Subject: [PATCH 13/40] chore(deps): update ghcr.io/bitmagnet-io/bitmagnet docker tag to v0.5.1 (#2321) --- apps/bitmagnet/config.json | 4 ++-- apps/bitmagnet/docker-compose.yml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/apps/bitmagnet/config.json b/apps/bitmagnet/config.json index 2cf4d140..7de10eaf 100644 --- a/apps/bitmagnet/config.json +++ b/apps/bitmagnet/config.json @@ -5,8 +5,8 @@ "available": true, "exposable": true, "id": "bitmagnet", - "tipi_version": 5, - "version": "0.5.0", + "tipi_version": 6, + "version": "0.5.1", "categories": [ "media" ], diff --git a/apps/bitmagnet/docker-compose.yml b/apps/bitmagnet/docker-compose.yml index 1228dce5..243c4986 100644 --- a/apps/bitmagnet/docker-compose.yml +++ b/apps/bitmagnet/docker-compose.yml @@ -2,7 +2,7 @@ version: "3.7" services: bitmagnet: - image: ghcr.io/bitmagnet-io/bitmagnet:0.5.0 + image: ghcr.io/bitmagnet-io/bitmagnet:0.5.1 restart: unless-stopped command: - worker From 316e6790c92112e8ad6ff2218665c6e33ad89b64 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sun, 28 Jan 2024 11:05:14 +0000 Subject: [PATCH 14/40] chore(deps): update ghcr.io/wekan/wekan docker tag to v7.29 (#2325) --- apps/wekan/config.json | 4 ++-- apps/wekan/docker-compose.yml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/apps/wekan/config.json b/apps/wekan/config.json index dbc05dd8..bc5420f4 100644 --- a/apps/wekan/config.json +++ b/apps/wekan/config.json @@ -5,8 +5,8 @@ "available": true, "exposable": true, "id": "wekan", - "tipi_version": 3, - "version": "7.28", + "tipi_version": 4, + "version": "7.29", "categories": [ "development" ], diff --git a/apps/wekan/docker-compose.yml b/apps/wekan/docker-compose.yml index bf407fd0..91a8c132 100644 --- a/apps/wekan/docker-compose.yml +++ b/apps/wekan/docker-compose.yml @@ -2,7 +2,7 @@ version: "3.7" services: wekan: - image: ghcr.io/wekan/wekan:v7.28 + image: ghcr.io/wekan/wekan:v7.29 container_name: wekan environment: # https://github.com/wekan/wekan/blob/main/docker-compose.yml From 70d18c7d6493b306057332289fac262f5e67297b Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sun, 28 Jan 2024 11:05:22 +0000 Subject: [PATCH 15/40] chore(deps): update lscr.io/linuxserver/readarr docker tag to v0.3.18 (#2324) --- apps/readarr/config.json | 4 ++-- apps/readarr/docker-compose.yml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/apps/readarr/config.json b/apps/readarr/config.json index 062db851..b2bc6650 100644 --- a/apps/readarr/config.json +++ b/apps/readarr/config.json @@ -5,8 +5,8 @@ "exposable": true, "port": 8112, "id": "readarr", - "tipi_version": 8, - "version": "0.3.17-nightly", + "tipi_version": 9, + "version": "0.3.18-nightly", "categories": [ "books", "media" diff --git a/apps/readarr/docker-compose.yml b/apps/readarr/docker-compose.yml index d119e16d..c16aac76 100644 --- a/apps/readarr/docker-compose.yml +++ b/apps/readarr/docker-compose.yml @@ -1,7 +1,7 @@ version: "3.7" services: readarr: - image: lscr.io/linuxserver/readarr:0.3.17-nightly + image: lscr.io/linuxserver/readarr:0.3.18-nightly container_name: readarr environment: - PUID=1000 From 71d23d2aa00ecde0a420a352a0e610d5b6635410 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sun, 28 Jan 2024 14:35:16 +0000 Subject: [PATCH 16/40] chore(deps): update invoiceninja/invoiceninja docker tag to v5.8.17 (#2326) --- apps/invoice-ninja/docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/invoice-ninja/docker-compose.yml b/apps/invoice-ninja/docker-compose.yml index 9ce6fc2a..b7e90345 100644 --- a/apps/invoice-ninja/docker-compose.yml +++ b/apps/invoice-ninja/docker-compose.yml @@ -42,7 +42,7 @@ services: traefik.http.routers.invoice-ninja-local.tls: true invoice-ninja-server: - image: invoiceninja/invoiceninja:5.8.16 + image: invoiceninja/invoiceninja:5.8.17 container_name: invoice-ninja-server restart: unless-stopped user: 1500:1500 From f40d0eb9a479f94c07306fbd43f90beb0ed52ae5 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sun, 28 Jan 2024 14:35:40 +0000 Subject: [PATCH 17/40] chore(deps): update ghcr.io/wekan/wekan docker tag to v7.30 (#2327) --- apps/wekan/config.json | 4 ++-- apps/wekan/docker-compose.yml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/apps/wekan/config.json b/apps/wekan/config.json index bc5420f4..40a067cf 100644 --- a/apps/wekan/config.json +++ b/apps/wekan/config.json @@ -5,8 +5,8 @@ "available": true, "exposable": true, "id": "wekan", - "tipi_version": 4, - "version": "7.29", + "tipi_version": 5, + "version": "7.30", "categories": [ "development" ], diff --git a/apps/wekan/docker-compose.yml b/apps/wekan/docker-compose.yml index 91a8c132..f57585c7 100644 --- a/apps/wekan/docker-compose.yml +++ b/apps/wekan/docker-compose.yml @@ -2,7 +2,7 @@ version: "3.7" services: wekan: - image: ghcr.io/wekan/wekan:v7.29 + image: ghcr.io/wekan/wekan:v7.30 container_name: wekan environment: # https://github.com/wekan/wekan/blob/main/docker-compose.yml From 6d218bed4af0758aa751454548e4eeed814d7111 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sun, 28 Jan 2024 17:40:34 +0000 Subject: [PATCH 18/40] chore(deps): update wisdomsky/cloudflared-web docker tag to v2024.1.5 (#2329) --- apps/cloudflared/config.json | 4 ++-- apps/cloudflared/docker-compose.yml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/apps/cloudflared/config.json b/apps/cloudflared/config.json index 777f2f9f..92b84bbb 100644 --- a/apps/cloudflared/config.json +++ b/apps/cloudflared/config.json @@ -5,8 +5,8 @@ "available": true, "exposable": false, "id": "cloudflared", - "tipi_version": 4, - "version": "2024.1.4", + "tipi_version": 5, + "version": "2024.1.5", "categories": [ "utilities" ], diff --git a/apps/cloudflared/docker-compose.yml b/apps/cloudflared/docker-compose.yml index 2efe2375..a2b0c352 100644 --- a/apps/cloudflared/docker-compose.yml +++ b/apps/cloudflared/docker-compose.yml @@ -2,7 +2,7 @@ version: "3.9" services: cloudflared: - image: wisdomsky/cloudflared-web:2024.1.4 + image: wisdomsky/cloudflared-web:2024.1.5 container_name: cloudflared restart: unless-stopped network_mode: host From 1475f461196f4721867680ce2625b8111cdfe7b4 Mon Sep 17 00:00:00 2001 From: Wraithers <4705057+Wraithers@users.noreply.github.com> Date: Wed, 24 Jan 2024 14:03:29 +0530 Subject: [PATCH 19/40] Create config.json --- apps/silverbullet/config.json | 1 + 1 file changed, 1 insertion(+) create mode 100644 apps/silverbullet/config.json diff --git a/apps/silverbullet/config.json b/apps/silverbullet/config.json new file mode 100644 index 00000000..8b137891 --- /dev/null +++ b/apps/silverbullet/config.json @@ -0,0 +1 @@ + From 95a1b91478daa48096ede38540ccf5b92a5e3f14 Mon Sep 17 00:00:00 2001 From: Wraithers <4705057+Wraithers@users.noreply.github.com> Date: Wed, 24 Jan 2024 14:03:54 +0530 Subject: [PATCH 20/40] Create docker-compose.json --- apps/silverbullet/docker-compose.json | 1 + 1 file changed, 1 insertion(+) create mode 100644 apps/silverbullet/docker-compose.json diff --git a/apps/silverbullet/docker-compose.json b/apps/silverbullet/docker-compose.json new file mode 100644 index 00000000..8b137891 --- /dev/null +++ b/apps/silverbullet/docker-compose.json @@ -0,0 +1 @@ + From 1f9685958d4e16daf234cdd962403398bb1d8212 Mon Sep 17 00:00:00 2001 From: Wraithers <4705057+Wraithers@users.noreply.github.com> Date: Wed, 24 Jan 2024 14:04:16 +0530 Subject: [PATCH 21/40] Create description.md --- apps/silverbullet/metadata/description.md | 1 + 1 file changed, 1 insertion(+) create mode 100644 apps/silverbullet/metadata/description.md diff --git a/apps/silverbullet/metadata/description.md b/apps/silverbullet/metadata/description.md new file mode 100644 index 00000000..8b137891 --- /dev/null +++ b/apps/silverbullet/metadata/description.md @@ -0,0 +1 @@ + From 466458dab203c060a4efc1cb11dc26eb55e513d9 Mon Sep 17 00:00:00 2001 From: Wraithers <4705057+Wraithers@users.noreply.github.com> Date: Wed, 24 Jan 2024 14:20:04 +0530 Subject: [PATCH 22/40] Update description.md --- apps/silverbullet/metadata/description.md | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/apps/silverbullet/metadata/description.md b/apps/silverbullet/metadata/description.md index 8b137891..5318832b 100644 --- a/apps/silverbullet/metadata/description.md +++ b/apps/silverbullet/metadata/description.md @@ -1 +1,22 @@ +# SilverBullet +SilverBullet aims to be your **workshop for the mind**: a creative space where you collect, create and expand your personal knowledge, while also letting you constantly evolve the tools you use to do so. +While you _can_ use SilverBullet as a simple note taking application that stores notes in plain markdown files on disk, it becomes truly powerful in the hands of more technical power users. By leveraging metadata annotations, its Objects infrastructure, Live Queries and Live Templates, SilverBullet becomes a powerful _end-user programming tool_, enabling you to quickly develop various types of ad-hoc knowledge applications. SilverBullet is implemented as an open-source, self-hosted, offline-capable web application. + +You’ve been told there is _no such thing_ as a [silver bullet](https://en.wikipedia.org/wiki/Silver_bullet). You were told wrong. + +[![Introduction to SilverBullet](http://img.youtube.com/vi/BbNbZgOwB-Y/0.jpg)](https://www.youtube.com/watch?v=BbNbZgOwB-Y) + +## Features +SilverBullet... +* Runs in any modern browser (including on mobile) as a PWA in two Client Modes (_online_ and _synced_ mode), where the _synced mode_ enables **100% offline operation**, keeping a copy of content in the browser, syncing back to the server when a network connection is available. +* Provides an enjoyable markdown writing experience with a clean UI, rendering text using Live Preview, further **reducing visual noise** while still providing direct access to the underlying markdown syntax. +* Supports wiki-style **page linking** using the `[[page link]]` syntax. Incoming links are indexed and appear as “Linked Mentions” at the bottom of the pages linked to thereby providing _bi-directional linking_. +* Optimized for **keyboard-based operation**: + * Quickly navigate between pages using the **page switcher** (triggered with `Cmd-k` on Mac or `Ctrl-k` on Linux and Windows). + * Run commands via their keyboard shortcuts or the **command palette** (triggered with `Cmd-/` or `Ctrl-/` on Linux and Windows). + * Use Slash Commands to perform common text editing operations. +* Provides a platform for [end-user programming](https://www.inkandswitch.com/end-user-programming/) through its support for Objects, Live Queries and Live Templates. +* Robust extension mechanism using plugs. +* **Self-hosted**: you own your data. All content is stored as plain files in a folder on disk. Back up, sync, edit, publish, script with any additional tools you like. +* SilverBullet is [open source, MIT licensed](https://github.com/silverbulletmd/silverbullet) software. From 53feea7734c7811bf588aa2022df13aba17f30f3 Mon Sep 17 00:00:00 2001 From: Wraithers <4705057+Wraithers@users.noreply.github.com> Date: Wed, 24 Jan 2024 14:21:27 +0530 Subject: [PATCH 23/40] Update config.json --- apps/silverbullet/config.json | 41 ++++++++++++++++++++++++++++++++++- 1 file changed, 40 insertions(+), 1 deletion(-) diff --git a/apps/silverbullet/config.json b/apps/silverbullet/config.json index 8b137891..75bfa869 100644 --- a/apps/silverbullet/config.json +++ b/apps/silverbullet/config.json @@ -1 +1,40 @@ - +{ + "$schema": "../schema.json", + "name": "Silverbullet", + "port": 8214, + "available": true, + "exposable": true, + "id": "silverbullet", + "tipi_version": 1, + "version": "0.6.0", + "categories": [ + "utilities" + ], + "description": "SilverBullet aims to be your workshop for the mind", + "short_desc": "SilverBullet is a creative space where you collect, create and expand your personal knowledge, while also letting you constantly evolve the tools you use to do so.", + "author": "zefhemel", + "source": "https://github.com/silverbulletmd/silverbullet", + "website": "https://silverbullet.md", + "form_fields": [ + { + "type": "text", + "label": "Username", + "max": 50, + "min": 3, + "required": false, + "env_variable": "SB_USER" + }, + { + "type": "password", + "label": "Password", + "max": 50, + "min": 3, + "required": false, + "env_variable": "SB_PASSWORD" + } + ], + "supported_architectures": [ + "arm64", + "amd64" + ] +} From 4c6df63eab31f4c7466baf4dcf3e183a811ca7cb Mon Sep 17 00:00:00 2001 From: Wraithers <4705057+Wraithers@users.noreply.github.com> Date: Wed, 24 Jan 2024 14:23:36 +0530 Subject: [PATCH 24/40] Update docker-compose.json --- apps/silverbullet/docker-compose.json | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/apps/silverbullet/docker-compose.json b/apps/silverbullet/docker-compose.json index 8b137891..ffc1df80 100644 --- a/apps/silverbullet/docker-compose.json +++ b/apps/silverbullet/docker-compose.json @@ -1 +1,16 @@ +version: '0.5' +services: + silverbullet: + image: zefhemel/silverbullet:0.6.0 + container_name: 'silverbullet' + restart: unless-stopped + volumes: + - /etc/localtime:/etc/localtime:ro + - ${APP_DATA_DIR}/space:/space + environment: + - SB_USER=${SB_USER}:${SB_PASSWORD} + ports: + - ${APP_PORT}:3000 + networks: + - tipi_main_network From 84792e1fb446f84f21b7a827a383af96cb0ddeb1 Mon Sep 17 00:00:00 2001 From: Wraithers <4705057+Wraithers@users.noreply.github.com> Date: Wed, 24 Jan 2024 14:24:18 +0530 Subject: [PATCH 25/40] Rename docker-compose.json to docker-compose.yml --- apps/silverbullet/{docker-compose.json => docker-compose.yml} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename apps/silverbullet/{docker-compose.json => docker-compose.yml} (100%) diff --git a/apps/silverbullet/docker-compose.json b/apps/silverbullet/docker-compose.yml similarity index 100% rename from apps/silverbullet/docker-compose.json rename to apps/silverbullet/docker-compose.yml From f4ac7f25a5d3ddbc24276184e2eb4c775d9f9913 Mon Sep 17 00:00:00 2001 From: Wraithers <4705057+Wraithers@users.noreply.github.com> Date: Wed, 24 Jan 2024 14:27:51 +0530 Subject: [PATCH 26/40] Added silverbullet logo --- apps/silverbullet/metadata/logo.jpg | Bin 0 -> 22712 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 apps/silverbullet/metadata/logo.jpg diff --git a/apps/silverbullet/metadata/logo.jpg b/apps/silverbullet/metadata/logo.jpg new file mode 100644 index 0000000000000000000000000000000000000000..f8a3fbdc3b90803b59297340f8c9a74d7a994456 GIT binary patch literal 22712 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 literal 0 HcmV?d00001 From 9307f3568ab2384667840a25b56c674b0c24ae98 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sun, 28 Jan 2024 22:18:03 +0000 Subject: [PATCH 27/40] chore(deps): update frooodle/s-pdf docker tag to v0.20.1 (#2332) --- apps/stirling-pdf/config.json | 4 ++-- apps/stirling-pdf/docker-compose.yml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/apps/stirling-pdf/config.json b/apps/stirling-pdf/config.json index 8356d00f..26a70be3 100644 --- a/apps/stirling-pdf/config.json +++ b/apps/stirling-pdf/config.json @@ -5,8 +5,8 @@ "available": true, "exposable": true, "id": "stirling-pdf", - "tipi_version": 18, - "version": "0.20.0", + "tipi_version": 19, + "version": "0.20.1", "categories": [ "data", "utilities" diff --git a/apps/stirling-pdf/docker-compose.yml b/apps/stirling-pdf/docker-compose.yml index d5546b53..4b2351fa 100644 --- a/apps/stirling-pdf/docker-compose.yml +++ b/apps/stirling-pdf/docker-compose.yml @@ -1,7 +1,7 @@ version: "3.9" services: stirling-pdf: - image: frooodle/s-pdf:0.20.0 + image: frooodle/s-pdf:0.20.1 restart: unless-stopped container_name: stirling-pdf privileged: true From db773f2e4b5603d8c4badbb23246e2d018026374 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sun, 28 Jan 2024 22:18:17 +0000 Subject: [PATCH 28/40] chore(deps): update ghcr.io/paperless-ngx/paperless-ngx docker tag to v2.4.3 (#2333) --- apps/paperless-ngx/config.json | 4 ++-- apps/paperless-ngx/docker-compose.yml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/apps/paperless-ngx/config.json b/apps/paperless-ngx/config.json index 0cc34e98..59f55cc2 100644 --- a/apps/paperless-ngx/config.json +++ b/apps/paperless-ngx/config.json @@ -5,8 +5,8 @@ "exposable": true, "port": 8012, "id": "paperless-ngx", - "tipi_version": 17, - "version": "2.4.2", + "tipi_version": 18, + "version": "2.4.3", "categories": [ "utilities" ], diff --git a/apps/paperless-ngx/docker-compose.yml b/apps/paperless-ngx/docker-compose.yml index 400f38e5..6fd9bf1b 100644 --- a/apps/paperless-ngx/docker-compose.yml +++ b/apps/paperless-ngx/docker-compose.yml @@ -2,7 +2,7 @@ version: '3.7' services: paperless-ngx: container_name: paperless-ngx - image: ghcr.io/paperless-ngx/paperless-ngx:2.4.2 + image: ghcr.io/paperless-ngx/paperless-ngx:2.4.3 restart: unless-stopped depends_on: - db From 02de442ae6b62149f1f0dff0e53d581ff537266c Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sun, 28 Jan 2024 22:18:51 +0000 Subject: [PATCH 29/40] chore(deps): update ghostfolio/ghostfolio docker tag to v2.46.0 (#2331) --- apps/ghostfolio/config.json | 4 ++-- apps/ghostfolio/docker-compose.yml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/apps/ghostfolio/config.json b/apps/ghostfolio/config.json index 9853d8a5..b3b69664 100644 --- a/apps/ghostfolio/config.json +++ b/apps/ghostfolio/config.json @@ -5,8 +5,8 @@ "available": true, "exposable": true, "id": "ghostfolio", - "tipi_version": 44, - "version": "2.45.0", + "tipi_version": 45, + "version": "2.46.0", "categories": [ "finance" ], diff --git a/apps/ghostfolio/docker-compose.yml b/apps/ghostfolio/docker-compose.yml index 1f12737b..81b0b76e 100644 --- a/apps/ghostfolio/docker-compose.yml +++ b/apps/ghostfolio/docker-compose.yml @@ -3,7 +3,7 @@ version: "3.9" services: ghostfolio: container_name: ghostfolio - image: ghostfolio/ghostfolio:2.45.0 + image: ghostfolio/ghostfolio:2.46.0 restart: unless-stopped ports: - ${APP_PORT}:3333 From 1d9cc0ead8e7674a36fc4a1b3ef69ee18c4168fc Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 29 Jan 2024 02:58:07 +0000 Subject: [PATCH 30/40] chore(deps): update ghcr.io/autobrr/autobrr docker tag to v1.36.0 (#2334) --- apps/autobrr/config.json | 4 ++-- apps/autobrr/docker-compose.yml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/apps/autobrr/config.json b/apps/autobrr/config.json index c10c6a1d..47dcb178 100644 --- a/apps/autobrr/config.json +++ b/apps/autobrr/config.json @@ -5,8 +5,8 @@ "available": true, "exposable": true, "id": "autobrr", - "tipi_version": 17, - "version": "1.35.1", + "tipi_version": 18, + "version": "1.36.0", "categories": [ "media" ], diff --git a/apps/autobrr/docker-compose.yml b/apps/autobrr/docker-compose.yml index ea9541a4..bfa1000f 100644 --- a/apps/autobrr/docker-compose.yml +++ b/apps/autobrr/docker-compose.yml @@ -3,7 +3,7 @@ version: "3" services: autobrr: container_name: autobrr - image: ghcr.io/autobrr/autobrr:v1.35.1 + image: ghcr.io/autobrr/autobrr:v1.36.0 restart: unless-stopped ports: - ${APP_PORT}:7474 From 135aa797e39721cdbd67710d87edffcbab14f062 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 29 Jan 2024 07:50:02 +0000 Subject: [PATCH 31/40] chore(deps): update lobehub/lobe-chat docker tag to v0.121.4 (#2335) --- apps/lobe-chat/config.json | 4 ++-- apps/lobe-chat/docker-compose.yml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/apps/lobe-chat/config.json b/apps/lobe-chat/config.json index ebffa874..acc2ca4f 100644 --- a/apps/lobe-chat/config.json +++ b/apps/lobe-chat/config.json @@ -5,8 +5,8 @@ "exposable": true, "id": "lobe-chat", "description": "LobeChat is an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible (Function Call) plugin system.", - "tipi_version": 18, - "version": "0.121.3", + "tipi_version": 19, + "version": "0.121.4", "categories": [ "ai" ], diff --git a/apps/lobe-chat/docker-compose.yml b/apps/lobe-chat/docker-compose.yml index 30716847..016ae59e 100644 --- a/apps/lobe-chat/docker-compose.yml +++ b/apps/lobe-chat/docker-compose.yml @@ -2,7 +2,7 @@ version: '3.9' services: lobe-chat: container_name: lobe-chat - image: lobehub/lobe-chat:v0.121.3 + image: lobehub/lobe-chat:v0.121.4 environment: - OPENAI_API_KEY=${OPENAI_API_KEY} - OPENAI_PROXY_URL=${OPEANAI_PROXY_URL} From 7c0684dc109e0706bf725b24fa781580abec82ae Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 29 Jan 2024 13:14:07 +0000 Subject: [PATCH 32/40] chore(deps): update invoiceninja/invoiceninja docker tag to v5.8.18 (#2336) --- apps/invoice-ninja/docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/invoice-ninja/docker-compose.yml b/apps/invoice-ninja/docker-compose.yml index b7e90345..756267d7 100644 --- a/apps/invoice-ninja/docker-compose.yml +++ b/apps/invoice-ninja/docker-compose.yml @@ -42,7 +42,7 @@ services: traefik.http.routers.invoice-ninja-local.tls: true invoice-ninja-server: - image: invoiceninja/invoiceninja:5.8.17 + image: invoiceninja/invoiceninja:5.8.18 container_name: invoice-ninja-server restart: unless-stopped user: 1500:1500 From c51687f617a19791e243ddc49b7b16d0212eab2a Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 29 Jan 2024 17:48:31 +0000 Subject: [PATCH 33/40] chore(deps): update lobehub/lobe-chat docker tag to v0.122.1 (#2338) --- apps/lobe-chat/config.json | 4 ++-- apps/lobe-chat/docker-compose.yml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/apps/lobe-chat/config.json b/apps/lobe-chat/config.json index acc2ca4f..d46af312 100644 --- a/apps/lobe-chat/config.json +++ b/apps/lobe-chat/config.json @@ -5,8 +5,8 @@ "exposable": true, "id": "lobe-chat", "description": "LobeChat is an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible (Function Call) plugin system.", - "tipi_version": 19, - "version": "0.121.4", + "tipi_version": 20, + "version": "0.122.1", "categories": [ "ai" ], diff --git a/apps/lobe-chat/docker-compose.yml b/apps/lobe-chat/docker-compose.yml index 016ae59e..0f5be572 100644 --- a/apps/lobe-chat/docker-compose.yml +++ b/apps/lobe-chat/docker-compose.yml @@ -2,7 +2,7 @@ version: '3.9' services: lobe-chat: container_name: lobe-chat - image: lobehub/lobe-chat:v0.121.4 + image: lobehub/lobe-chat:v0.122.1 environment: - OPENAI_API_KEY=${OPENAI_API_KEY} - OPENAI_PROXY_URL=${OPEANAI_PROXY_URL} From c86d94b873508958221dd0f01b03aec89956fe7d Mon Sep 17 00:00:00 2001 From: William Bout Date: Mon, 29 Jan 2024 10:31:55 -0800 Subject: [PATCH 34/40] [changedetection] Update browserless comment (#2323) * Update docker-compose.yml Update commented-out configuration for Playwright * Missing comments --- apps/changedetection/docker-compose.yml | 102 ++++++++++++++---------- 1 file changed, 58 insertions(+), 44 deletions(-) diff --git a/apps/changedetection/docker-compose.yml b/apps/changedetection/docker-compose.yml index e751ea5f..45944106 100644 --- a/apps/changedetection/docker-compose.yml +++ b/apps/changedetection/docker-compose.yml @@ -1,47 +1,61 @@ version: "3.7" services: - changedetection: - image: ghcr.io/dgtlmoon/changedetection.io:0.45.13 - container_name: changedetection - hostname: changedetection - volumes: - - ${APP_DATA_DIR}/data:/datastore - ports: - - ${APP_PORT}:5000 - restart: unless-stopped - networks: - - tipi_main_network - labels: - # Main - traefik.enable: true - traefik.http.middlewares.changedetection-web-web-redirect.redirectscheme.scheme: https - traefik.http.services.changedetection-web.loadbalancer.server.port: 5000 - # Web - traefik.http.routers.changedetection-web-insecure.rule: Host(`${APP_DOMAIN}`) - traefik.http.routers.changedetection-web-insecure.entrypoints: web - traefik.http.routers.changedetection-web-insecure.service: changedetection-web - traefik.http.routers.changedetection-web-insecure.middlewares: changedetection-web-web-redirect - # Websecure - traefik.http.routers.changedetection-web.rule: Host(`${APP_DOMAIN}`) - traefik.http.routers.changedetection-web.entrypoints: websecure - traefik.http.routers.changedetection-web.service: changedetection-web - traefik.http.routers.changedetection-web.tls.certresolver: myresolver - # Local domain - traefik.http.routers.changedetection-web-local-insecure.rule: Host(`changedetection-web.${LOCAL_DOMAIN}`) - traefik.http.routers.changedetection-web-local-insecure.entrypoints: web - traefik.http.routers.changedetection-web-local-insecure.service: changedetection-web - traefik.http.routers.changedetection-web-local-insecure.middlewares: changedetection-web-web-redirect - # Local domain secure - traefik.http.routers.changedetection-web-local.rule: Host(`changedetection-web.${LOCAL_DOMAIN}`) - traefik.http.routers.changedetection-web-local.entrypoints: websecure - traefik.http.routers.changedetection-web-local.service: changedetection-web - traefik.http.routers.changedetection-web-local.tls: true + changedetection: + image: ghcr.io/dgtlmoon/changedetection.io:0.45.13 + container_name: changedetection + hostname: changedetection + volumes: + - ${APP_DATA_DIR}/data:/datastore + ports: + - ${APP_PORT}:5000 + restart: unless-stopped + networks: + - tipi_main_network + # environment: + # - PLAYWRIGHT_DRIVER_URL=ws://playwright-chrome:3000/ + labels: + # Main + traefik.enable: true + traefik.http.middlewares.changedetection-web-web-redirect.redirectscheme.scheme: https + traefik.http.services.changedetection-web.loadbalancer.server.port: 5000 + # Web + traefik.http.routers.changedetection-web-insecure.rule: Host(`${APP_DOMAIN}`) + traefik.http.routers.changedetection-web-insecure.entrypoints: web + traefik.http.routers.changedetection-web-insecure.service: changedetection-web + traefik.http.routers.changedetection-web-insecure.middlewares: changedetection-web-web-redirect + # Websecure + traefik.http.routers.changedetection-web.rule: Host(`${APP_DOMAIN}`) + traefik.http.routers.changedetection-web.entrypoints: websecure + traefik.http.routers.changedetection-web.service: changedetection-web + traefik.http.routers.changedetection-web.tls.certresolver: myresolver + # Local domain + traefik.http.routers.changedetection-web-local-insecure.rule: Host(`changedetection-web.${LOCAL_DOMAIN}`) + traefik.http.routers.changedetection-web-local-insecure.entrypoints: web + traefik.http.routers.changedetection-web-local-insecure.service: changedetection-web + traefik.http.routers.changedetection-web-local-insecure.middlewares: changedetection-web-web-redirect + # Local domain secure + traefik.http.routers.changedetection-web-local.rule: Host(`changedetection-web.${LOCAL_DOMAIN}`) + traefik.http.routers.changedetection-web-local.entrypoints: websecure + traefik.http.routers.changedetection-web-local.service: changedetection-web + traefik.http.routers.changedetection-web-local.tls: true - - # chnagedetection-chrome: - # hostname: chnagedetection-chrome - # image: browserless/chrome:latest - # restart: unless-stopped - # container_name: chnagedetection-chrome - # networks: - # - tipi_main_network + # playwright-chrome: + # hostname: playwright-chrome + # container_name: playwright-chrome + # image: browserless/chrome + # restart: unless-stopped + # networks: + # - tipi_main_network + # ports: + # - 1337:3000 + # environment: + # - SCREEN_WIDTH=1920 + # - SCREEN_HEIGHT=1024 + # - SCREEN_DEPTH=16 + # - ENABLE_DEBUGGER=false + # - PREBOOT_CHROME=true + # - CONNECTION_TIMEOUT=300000 + # - MAX_CONCURRENT_SESSIONS=10 + # - CHROME_REFRESH_TIME=600000 + # - DEFAULT_BLOCK_ADS=true + # - DEFAULT_STEALTH=true From 23516ef907c1c8717d34a65cc96acfa1f4408bd2 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 29 Jan 2024 18:34:20 +0000 Subject: [PATCH 35/40] chore(deps): update ghcr.io/goauthentik/server docker tag to v2023.10.7 (#2339) --- apps/authentik/config.json | 4 ++-- apps/authentik/docker-compose.yml | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/apps/authentik/config.json b/apps/authentik/config.json index 4361549b..e9cbdbec 100644 --- a/apps/authentik/config.json +++ b/apps/authentik/config.json @@ -5,8 +5,8 @@ "available": true, "exposable": true, "id": "authentik", - "tipi_version": 6, - "version": "2023.10.6", + "tipi_version": 7, + "version": "2023.10.7", "https": true, "categories": [ "development" diff --git a/apps/authentik/docker-compose.yml b/apps/authentik/docker-compose.yml index ce30fd04..33af2803 100644 --- a/apps/authentik/docker-compose.yml +++ b/apps/authentik/docker-compose.yml @@ -2,7 +2,7 @@ version: "3.7" services: authentik: - image: ghcr.io/goauthentik/server:2023.10.6 + image: ghcr.io/goauthentik/server:2023.10.7 restart: unless-stopped command: server container_name: authentik @@ -49,7 +49,7 @@ services: traefik.http.routers.authentik-local.service: authentik traefik.http.routers.authentik-local.tls: true authentik-worker: - image: ghcr.io/goauthentik/server:2023.10.6 + image: ghcr.io/goauthentik/server:2023.10.7 restart: unless-stopped command: worker container_name: authentik-worker From b1199804b0df22003370ad8299e49569dce96368 Mon Sep 17 00:00:00 2001 From: Armand Gillot <79774155+armandgillot@users.noreply.github.com> Date: Mon, 29 Jan 2024 19:40:30 +0100 Subject: [PATCH 36/40] Add Maintainerr (#2316) * Add Maintainerr * fix port * fix port * fix port * fix --- apps/maintainerr/config.json | 19 ++++++++++ apps/maintainerr/docker-compose.yml | 42 +++++++++++++++++++++++ apps/maintainerr/metadata/description.md | 36 +++++++++++++++++++ apps/maintainerr/metadata/logo.jpg | Bin 0 -> 15325 bytes 4 files changed, 97 insertions(+) create mode 100644 apps/maintainerr/config.json create mode 100644 apps/maintainerr/docker-compose.yml create mode 100644 apps/maintainerr/metadata/description.md create mode 100644 apps/maintainerr/metadata/logo.jpg diff --git a/apps/maintainerr/config.json b/apps/maintainerr/config.json new file mode 100644 index 00000000..b61d2b71 --- /dev/null +++ b/apps/maintainerr/config.json @@ -0,0 +1,19 @@ +{ + "name": "Maintainerr", + "available": true, + "exposable": true, + "port": 8030, + "id": "maintainerr", + "tipi_version": 1, + "version": "1.7.1", + "categories": [ + "media", + "utilities" + ], + "description": "Maintainerr will manage the storage space on your plex server, launching automated actions to delete your files.", + "short_desc": "Maintainerr will manage the storage space on your plex server, launching automated actions to delete your files.", + "author": "jorenn92", + "source": "https://github.com/jorenn92/Maintainerr", + "form_fields": [], + "supported_architectures": ["arm64", "amd64"] +} diff --git a/apps/maintainerr/docker-compose.yml b/apps/maintainerr/docker-compose.yml new file mode 100644 index 00000000..e3f24a4c --- /dev/null +++ b/apps/maintainerr/docker-compose.yml @@ -0,0 +1,42 @@ +version: '3' + +services: + maintainerr: + image: ghcr.io/jorenn92/maintainerr:1.7.1 # or jorenn92/maintainerr:1.7.1 + container_name: maintainerr +# user: 1000:1000 # only use this with release 2.0 and up + volumes: + - ${APP_DATA_DIR}/data/config:/opt/data + environment: + - TZ=${TZ} +# - DEBUG=true # uncomment to enable verbose logs + ports: + - ${APP_PORT}:80 + restart: unless-stopped + networks: + - tipi_main_network + labels: + # Main + traefik.enable: true + traefik.http.middlewares.maintainerr-web-redirect.redirectscheme.scheme: https + traefik.http.services.maintainerr.loadbalancer.server.port: 8030 + # Web + traefik.http.routers.maintainerr-insecure.rule: Host(`${APP_DOMAIN}`) + traefik.http.routers.maintainerr-insecure.entrypoints: web + traefik.http.routers.maintainerr-insecure.service: maintainerr + traefik.http.routers.maintainerr-insecure.middlewares: maintainerr-web-redirect + # Websecure + traefik.http.routers.maintainerr.rule: Host(`${APP_DOMAIN}`) + traefik.http.routers.maintainerr.entrypoints: websecure + traefik.http.routers.maintainerr.service: maintainerr + traefik.http.routers.maintainerr.tls.certresolver: myresolver + # Local domain + traefik.http.routers.maintainerr-local-insecure.rule: Host(`maintainerr.${LOCAL_DOMAIN}`) + traefik.http.routers.maintainerr-local-insecure.entrypoints: web + traefik.http.routers.maintainerr-local-insecure.service: maintainerr + traefik.http.routers.maintainerr-local-insecure.middlewares: maintainerr-web-redirect + # Local domain secure + traefik.http.routers.maintainerr-local.rule: Host(`maintainerr.${LOCAL_DOMAIN}`) + traefik.http.routers.maintainerr-local.entrypoints: websecure + traefik.http.routers.maintainerr-local.service: maintainerr + traefik.http.routers.maintainerr-local.tls: true diff --git a/apps/maintainerr/metadata/description.md b/apps/maintainerr/metadata/description.md new file mode 100644 index 00000000..a7122556 --- /dev/null +++ b/apps/maintainerr/metadata/description.md @@ -0,0 +1,36 @@ +Maintainerr makes managing your media easy. + +- Do you hate being the janitor of your server? +- Do you have a lot of media that never gets watched? +- Do your users constantly request media, and let it sit there afterward never to be touched again? + +If you answered yes to any of those questions.. You NEED Maintainerr. +It's a one-stop-shop for handling those outlying shows and movies that take up precious space on your server. + +# Features + +- Configure rules specific to your needs, based off of several available options from Plex, Overseerr, Radarr, and Sonarr. +- Manually add media to a collection, in case it's not included after rule execution. (one-off items that don't match a rule set) +- Selectively exclude media from being added to a collection, even if it matches a rule. +- Show a collection, containing rule matched media, on the Plex home screen for a specific duration before deletion. Think "Leaving soon". +- Optionally, use a manual Plex collection, in case you don't want Maintainerr to add & remove Plex collections at will. +- Manage media straight from the collection within Plex. Maintainerr will sync and add or exclude media to/from the internal collection. + +- Remove or unmonitor media from \*arr +- Clear requests from Overseerr +- Delete files from disk + +
+Currently, Maintainerr supports rule parameters from these apps : + +- Plex +- Overseerr +- Radarr +- Sonarr + +# Preview + +![image](https://raw.githubusercontent.com/jorenn92/Maintainerr/main/ui/public/screenshots/overview_screenshot.png) +![image](https://raw.githubusercontent.com/jorenn92/Maintainerr/main/ui/public/screenshots/rules_screenshot.png) +![image](https://raw.githubusercontent.com/jorenn92/Maintainerr/main/ui/public/screenshots/collections_screenshot.png) +![image](https://raw.githubusercontent.com/jorenn92/Maintainerr/main/ui/public/screenshots/rule_example_screenshot.png) \ No newline at end of file diff --git a/apps/maintainerr/metadata/logo.jpg b/apps/maintainerr/metadata/logo.jpg new file mode 100644 index 0000000000000000000000000000000000000000..1359c8d5446b0eed514136a91bce30797de10fe6 GIT binary patch literal 15325 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 ALjV8( literal 0 HcmV?d00001 From 29112c85204bd62d1f5d310967b0600f6d7e3199 Mon Sep 17 00:00:00 2001 From: Nicolas Meienberger Date: Mon, 29 Jan 2024 19:53:14 +0100 Subject: [PATCH 37/40] fix(atuin): correct image and config --- apps/atuin/config.json | 17 ++++++++++++++--- apps/atuin/docker-compose.yml | 8 ++++---- apps/atuin/metadata/description.md | 2 ++ apps/atuin/metadata/logo.jpg | Bin 46799 -> 17376 bytes 4 files changed, 20 insertions(+), 7 deletions(-) diff --git a/apps/atuin/config.json b/apps/atuin/config.json index 956f86a4..a64fcf4d 100755 --- a/apps/atuin/config.json +++ b/apps/atuin/config.json @@ -19,11 +19,22 @@ "no_gui": true, "form_fields": [ { - "type": "password", + "type": "random", "label": "Atuin DB Password", - "required": true, + "min": 50, "env_variable": "ATUIN_DB_PASSWORD" + }, + { + "type": "boolean", + "label": "Allow User Registrastion", + "hint": "Set it to true intially to create the first user.", + "placeholder": "true", + "default": true, + "env_variable": "ATUIN_ALLOW_REGISTRATION" } ], - "supported_architectures": ["amd64","arm64"] + "supported_architectures": [ + "amd64", + "arm64" + ] } diff --git a/apps/atuin/docker-compose.yml b/apps/atuin/docker-compose.yml index 4566b66c..773aa11e 100755 --- a/apps/atuin/docker-compose.yml +++ b/apps/atuin/docker-compose.yml @@ -6,14 +6,14 @@ services: image: ghcr.io/atuinsh/atuin:latest command: server start volumes: - - "${APP_DATA_DIR}:/config" + - "${APP_DATA_DIR}/data/config:/config" links: - postgresql:db ports: - - 8888:8888 + - ${APP_PORT}:8888 environment: ATUIN_HOST: "0.0.0.0" - ATUIN_OPEN_REGISTRATION: "true" + ATUIN_OPEN_REGISTRATION: ${ATUIN_ALLOW_REGISTRATION} ATUIN_DB_URI: "postgres://atuin:${ATUIN_DB_PASSWORD}@db/atuin" networks: - tipi_main_network @@ -54,4 +54,4 @@ services: POSTGRES_DB: atuin networks: - tipi_main_network - \ No newline at end of file + diff --git a/apps/atuin/metadata/description.md b/apps/atuin/metadata/description.md index b979e289..c846df6b 100755 --- a/apps/atuin/metadata/description.md +++ b/apps/atuin/metadata/description.md @@ -1,5 +1,7 @@ # Atuin Server +Once installed, [configure your client](https://docs.atuin.sh/self-hosting/usage/) to use `:8888` as sync address. + ## Making your shell magical Sync, search and backup shell history with Atuin diff --git a/apps/atuin/metadata/logo.jpg b/apps/atuin/metadata/logo.jpg index 229b3c0fe93226357340936e448298bcec5a4254..36fc4437a629ccc4cd450e59df8556b588f86437 100644 GIT binary patch literal 17376 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 z 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%0AssKii^+)=m zzHcma3;OBM-$-l?*8`lZ*)7qVF8#GLRmH8BrTLCvE z6&6V4V6p*$7NrRl#}&tjf26{!8t$C2Y*G)dI~>&}{GnO|J945zgTGO@?h3E`>iP3H z!&sMVFdiYa*_6*tA}`u0A}~6K$omo`l2uBss1r?eZ8z2JbmcBNj=kG1m7i^=3Z;mm zfRs8Gh<;wZVa|Vh$Wq5|D|C|jwjANSMk0&%g=I`bLzR!%XymK8!BlufOB@mCE-2Se zTAG=MhL9mvP^)rCT)!#(WN0bz$}40u3LF+;Z?d;%F^_&1TxN#~%m0oR#%L)tFfI1p zD1-w^*#18_M*sCIs97cmN#jV@=@!H5n85s!7`2vzy|0?1+b^P7k04Zbu%lHgEcpnk$Nh z-b?ccaD;%e?~M0KZnb)L6io(Cs7=yd5+LWfMc^sTHZh85Ziz2n&4X8Z{4?K~S||NR zq0n-=rX?7UVl+4Ew>6c6S}Bc{6gY=`z&5$85)8jsG*;78<7`o5*~d&RX!v=iG0nHQ@zVvcd!Dk%RF_Nt(i zIy@G@{*E8a0NA+dlrZ2mUisfEkH2=E0#}S|w4M=WIeiRES;?a*3wUB3?qb@5>9N%t zS`mdgIdJcqYy9F<{N-89VS^qxUtY$M(JpN9t0jRu506gmd!PiKS}ak7eJQBv585io<3>iC2Z_s*pR z_Z^A`9-vY?H=?3%dR`Kv90zOd*)p@(joVsbLGdSdk~4)*S5>84Ajujn^0GyRwd*8% zv?Y9k=x0{IGIq-QH1FN{oKY9 Date: Mon, 29 Jan 2024 20:02:15 +0100 Subject: [PATCH 38/40] chore(silverbullet): update logo --- apps/silverbullet/metadata/logo.jpg | Bin 22712 -> 19881 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/apps/silverbullet/metadata/logo.jpg b/apps/silverbullet/metadata/logo.jpg index f8a3fbdc3b90803b59297340f8c9a74d7a994456..35f3131d483d1ff6a887f9e8616485e55201bf33 100644 GIT binary patch literal 19881 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 A5C8xG literal 22712 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 From 41c3f0f3d118d15aea5e1caf8fd22ba92a23d9d2 Mon Sep 17 00:00:00 2001 From: Nicolas Meienberger Date: Mon, 29 Jan 2024 20:05:26 +0100 Subject: [PATCH 39/40] fix(silverbullet): add traefik labels and make auth fields mandatory --- apps/silverbullet/config.json | 8 ++--- apps/silverbullet/docker-compose.yml | 53 ++++++++++++++++++++-------- 2 files changed, 43 insertions(+), 18 deletions(-) diff --git a/apps/silverbullet/config.json b/apps/silverbullet/config.json index 75bfa869..7127ee1f 100644 --- a/apps/silverbullet/config.json +++ b/apps/silverbullet/config.json @@ -21,15 +21,15 @@ "label": "Username", "max": 50, "min": 3, - "required": false, + "required": true, "env_variable": "SB_USER" }, { "type": "password", "label": "Password", - "max": 50, - "min": 3, - "required": false, + "max": 50, + "min": 8, + "required": true, "env_variable": "SB_PASSWORD" } ], diff --git a/apps/silverbullet/docker-compose.yml b/apps/silverbullet/docker-compose.yml index ffc1df80..8df3ff80 100644 --- a/apps/silverbullet/docker-compose.yml +++ b/apps/silverbullet/docker-compose.yml @@ -1,16 +1,41 @@ -version: '0.5' +version: '3.9' services: - silverbullet: - image: zefhemel/silverbullet:0.6.0 - container_name: 'silverbullet' - restart: unless-stopped - volumes: - - /etc/localtime:/etc/localtime:ro - - ${APP_DATA_DIR}/space:/space - environment: - - SB_USER=${SB_USER}:${SB_PASSWORD} - ports: - - ${APP_PORT}:3000 - networks: - - tipi_main_network + silverbullet: + image: zefhemel/silverbullet:0.6.0 + container_name: 'silverbullet' + restart: unless-stopped + volumes: + - /etc/localtime:/etc/localtime:ro + - ${APP_DATA_DIR}/space:/space + environment: + - SB_USER=${SB_USER}:${SB_PASSWORD} + ports: + - ${APP_PORT}:3000 + networks: + - tipi_main_network + labels: + # Main + traefik.enable: true + traefik.http.middlewares.silverbullet-web-redirect.redirectscheme.scheme: https + traefik.http.services.silverbullet.loadbalancer.server.port: 3000 + # Web + traefik.http.routers.silverbullet-insecure.rule: Host(`${APP_DOMAIN}`) + traefik.http.routers.silverbullet-insecure.entrypoints: web + traefik.http.routers.silverbullet-insecure.service: silverbullet + traefik.http.routers.silverbullet-insecure.middlewares: silverbullet-web-redirect + # Websecure + traefik.http.routers.silverbullet.rule: Host(`${APP_DOMAIN}`) + traefik.http.routers.silverbullet.entrypoints: websecure + traefik.http.routers.silverbullet.service: silverbullet + traefik.http.routers.silverbullet.tls.certresolver: myresolver + # Local domain + traefik.http.routers.silverbullet-local-insecure.rule: Host(`silverbullet.${LOCAL_DOMAIN}`) + traefik.http.routers.silverbullet-local-insecure.entrypoints: web + traefik.http.routers.silverbullet-local-insecure.service: silverbullet + traefik.http.routers.silverbullet-local-insecure.middlewares: silverbullet-web-redirect + # Local domain secure + traefik.http.routers.silverbullet-local.rule: Host(`silverbullet.${LOCAL_DOMAIN}`) + traefik.http.routers.silverbullet-local.entrypoints: websecure + traefik.http.routers.silverbullet-local.service: silverbullet + traefik.http.routers.silverbullet-local.tls: true From 30056ef5b91643c8862afe11d2a54bf41194fd34 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 29 Jan 2024 19:08:09 +0000 Subject: [PATCH 40/40] chore(deps): update zefhemel/silverbullet docker tag to v0.6.1 (#2340) --- apps/silverbullet/config.json | 4 ++-- apps/silverbullet/docker-compose.yml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/apps/silverbullet/config.json b/apps/silverbullet/config.json index 7127ee1f..37346f32 100644 --- a/apps/silverbullet/config.json +++ b/apps/silverbullet/config.json @@ -5,8 +5,8 @@ "available": true, "exposable": true, "id": "silverbullet", - "tipi_version": 1, - "version": "0.6.0", + "tipi_version": 2, + "version": "0.6.1", "categories": [ "utilities" ], diff --git a/apps/silverbullet/docker-compose.yml b/apps/silverbullet/docker-compose.yml index 8df3ff80..afd66cfb 100644 --- a/apps/silverbullet/docker-compose.yml +++ b/apps/silverbullet/docker-compose.yml @@ -2,7 +2,7 @@ version: '3.9' services: silverbullet: - image: zefhemel/silverbullet:0.6.0 + image: zefhemel/silverbullet:0.6.1 container_name: 'silverbullet' restart: unless-stopped volumes: