From dd79917e3a3928b8e54adf65a2e5a8254a51809b Mon Sep 17 00:00:00 2001 From: 100more <184098138+100more@users.noreply.github.com> Date: Thu, 21 May 2026 05:24:31 +0200 Subject: [PATCH] feat: add LubeLogger template --- blueprints/lubelogger/docker-compose.yml | 20 ++++++++++++++++++++ blueprints/lubelogger/lubelogger.png | Bin 0 -> 8262 bytes blueprints/lubelogger/template.toml | 18 ++++++++++++++++++ meta.json | 18 ++++++++++++++++++ 4 files changed, 56 insertions(+) create mode 100644 blueprints/lubelogger/docker-compose.yml create mode 100644 blueprints/lubelogger/lubelogger.png create mode 100644 blueprints/lubelogger/template.toml diff --git a/blueprints/lubelogger/docker-compose.yml b/blueprints/lubelogger/docker-compose.yml new file mode 100644 index 000000000..535b8e55e --- /dev/null +++ b/blueprints/lubelogger/docker-compose.yml @@ -0,0 +1,20 @@ +version: "3.8" + +services: + lubelogger: + image: ghcr.io/hargata/lubelogger:v1.6.5 + restart: unless-stopped + environment: + - LC_ALL=${LUBELOGGER_LOCALE} + - LANG=${LUBELOGGER_LOCALE} + - LUBELOGGER_DOMAIN=${LUBELOGGER_DOMAIN} + - EnableAuth=${LUBELOGGER_ENABLE_AUTH} + volumes: + - lubelogger-data:/App/data + - lubelogger-keys:/root/.aspnet/DataProtection-Keys + expose: + - 8080 + +volumes: + lubelogger-data: {} + lubelogger-keys: {} diff --git a/blueprints/lubelogger/lubelogger.png b/blueprints/lubelogger/lubelogger.png new file mode 100644 index 0000000000000000000000000000000000000000..b3713e8067a37d3e7a04f8d777add1d4c4c27d1b GIT binary patch literal 8262 zcmV-MAi3X(P)I>00001b5ch_0Itp) z=>Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>DAKOVpK~#8N?Oh3c z6h-!~o+C546B2TekN_SaUVubV!YYCnf`TaGq5`gnpr9!00pbN7tcobBhzO`CceoJ* z1SAnb5cw-0B8Lef2RX<^j=B2(zMAfFX1aQksO;)*=llIC-Bo=|cU8UjzW1uC!-5DR zh^9kQw!a(pob(;Exze4}V7ECl_i|-Fh#>y5FeuyK1rnB)w7J5a(?XWzjI>1KcS<&h zApWxWLj;Db5+7nXg9zeJiGUqc>A>$%I(BM(>IBML z_yI3anVB{>V1M0Lwb-o1A1|!KpWYc(7HX0D@e(i4^&ynT((bYP26@h;`=U+mBS8f5 z=Yy`mcnQl0N^!A~#+NE;hb}5^DjzK2anraxkXMC`v?rtvJ*DDd>|ss zz+M>@)92vARu`Zg_n>qa?fyvVElMq|7HQb!9W6fug(iqUD}(~$Ei872?0D*((`^4S z8;g!Gv2PPN_F zH$pZV`Lzcg85H?}dVJ062|osfCWt>9e8yp@qar_x61Ob<{&~vu#qRn#%HK)}R>9aZ z)^Ps=w?@7i6KRNf?UPD&>a?q#%9l`DL}@D}e(jQG<578kpqj$ou;>!RI_@U ze3Htar}QBu$6MoKpB&yd;?+=#fo<4Xcj&`)H5X-Vt>s*=Igq!eTOB6WP09MeWOf{p zx}D5dvVR!lohhjfyXjmd>j7zl`j8&EJC*EN1-*9+y>}-i>jRU+wqNR5SgK@$_zmz8 z7=VOkGi`d!T~p0QPA&Hq7H@=78bc|G(o{;tl$wJCN>5QbMG5{3e#e9TpSD`pKHc1B z`@VYC>*3w{?vE5<(gP9={0p+aNJPM~1CN!O0SP zPMZM*|D@fsE;RHEkJ2-|sbqa{*QDY>%eK}-sRf1RH$o&ZU1eF`-C$#^+lazN2aeg{ znE%H>zn?;zpXnJwGe;J&Zw}hFQ~qjxuo=+nyeEnstldBuHP(Yt4tD+sz@pjBtb{5w zLMifK=!+$6!NywnaRb~XXAe|=*|f=Y=YB=b|JAde4{^QLn$jO`UH@00ar(`fxqFJr zoExnci9LQ-)E!iW3jR+5^elAc_BtmC3#`f$ytEmRx3-L6l6qd;gDTJZU{GC z)5S7FDL(5U?bwkv!(A@fHSxXEM%qUw+l6Dzfzuq?Ut$t`CJmI1vy5l{K*$mssOE4v!3a4U)?39X#dK2qM5o+PhM4pWMPP@th?Do(6Qou3qE zynEe_TDkudC79OogZqdW)Y;q62J{V7N3}{PD1jm@BFlB0mjnRa1AayS*{iDM(XW-m z(Z7%qLf6fLEhlXS2~2+_>wz8}1AQZll&WMsAWHX+xqIF+TXx!bswqC3!5j1&IrLtW z8lz*?wXW=}R};!es=CrWQ^^}ULfvw+$&oik>d73+sUFyJT6d*;525pJBtdKg;g^|Q zPx&HAlGZv5&bLCZ%BOqy!k(S>9X+(h;ctwN$y<}-?IzO@y7ypNmM)=Z^au*+t|JB} zEjIVadqyep0S_{m*+eGGePu}^3n!P-b8a&`q){x?5n*>2=PRdrAj#4ZbB|n%?{V0& zTW2!K@FeXbNE0J5d5?>+IhM@44;pgP?x%Vk!cX*q+BQm-qai1~6IlSI-sE%L^+xq8 z%lWjw*+unc>7I|F4-e$6%w#vGt)X45f|aGG%?{fUyD8*u`n`cBljAO3fuYWehZ*?J zvMToI^wSuO)Qr*tbY3)VUZXUek}wQR{)nrr(zPT$#`qw0uu7#^1G?9A+B~v~D9r5> zN)WAkkRNCUK*#LnQ0lx|3-iW;O7_&d73eS?nh6?Xav6VCvOefMv|!i%qxRQHpx)#i z-49Q_TmI7<3#ymex2J!r7hqVlsfG={P9sMg3qG&;cIf0XbP|uy*t650Cn1?g4Wk=U zueZte^*heoJLs7*L?$@`y~o&TWo+j18Yl=T3LiMK+YEIv`E`1~c%?{)ydpfEu@$`ME!LCWYE64c4= zBfeOjUAw$rkFe`Sib!o6+Fb^LcbGz6Aq{rF`=}UBl76DcBL_WG`hijeCDWUv&p)We zN-G_p0K}QV-0gSnSq35a8bE4clB!t7xRn7c$tT@GegA99qY1iYg=)DJ?bLnRO-ivvG7f8^di9c*iSb(%7Q}T?DZ4k(C zu_}VV*Er}vw0X|q=jeb*v-`5is;Fca?w~2&BZ5!;8g-ddn%-M|z3t%)z zhRjY@L|uEkO91IkWyc3}|Bxk9;=4dtke|M|iuXs2z>pBYaeRT2F>7nBR8;0{p#7I| z%o~bj*+}X9gU4+Rm)=ugxc9|U2VL{&4@d2TC|yeXmkxcgY|u5Mi`MKrY?G5(7^6F+ zo4*~{GfXHnWPMIG*yJpOL1O0j-0Tw?~mBAi;m_2HHh$h z#n;(4;OcN;gzn4l>RD-(?6~hH>n6Pb1AY^YtB0c}xnW5Kr9-2Wpx?+3C_ral`&BL9 z`lDT{*^m-%{8-8AzK8mpwCkfN964!s%LWE2;sa_+mc36rl-4fAgxTg3v2Qnp-7lhl zc-9R&#m@|=?GPVDKApsb{&8WMgYEfIzuwfgAv*Po!z7cEkvi}LUf8_5PWTKhV~p(b zjv-624?0H5PD9;+Yr2H8#1S+!3|8W=q;}dagGp^`wM}p1OdRrmo|qJ$}XFFZc_C_v1M^zq4 z{wZg*Qse`piM6FoQlR%xpOcbj>;--YDV7=3xIUJw4J_% zcX@;t`r+}n%UQqiC63e8d_Y?RwH*rAr?n-4(G2pQu6D96_Y|xO@ zKO+*_w-#5jo5r1Dhx2Sg`tNYcF|_IGFs320*{F4e513y!G7gIVJ#b*QXy zIf+`ayPq#%o4(-OERN6XU73#k;W z!m*Q1mi0=@UqlrOVOZl16)&c06y5`VSkY-${hWz$pD0B>P&Mt4-r--99^~`!{4sBB zHBlS$3{o=6{kNzk)<(@b~%1}th{NWvvhrsZP``0IxTq7pl ze8Nc7s(kV0+68t8`#T*1?eYhrVWuTt)JkMoz;lr2&Q2g)`*88ziW=7{qfufvT^Wio z9%x7(5G}LQ?@uBscUS5y`3riDDXN@0->oRjCJB5Nvjc>nP9UrRFFNKMR+X8M_p2uV z`pd&KPBMT{F*RyEr(=xy&?pu2*71(9lC-jr$E%ul-g9wRii8}L0$Od+)Tem?xwS`bSp{Q?fo-;ePMsR*OLx;MwvmHyU5LWLa3xP!c3?HA^P9q*u}c zis;~R2OB*w92QSFUZnV$AH+l$HBm`GIlgD{%Pp@GS$6!!;XDUh_)^P!QN5xskRoF} zJ6lVr!wBh^KfFWo9*#!Tf#rPPFxBZ~f1_+7C2(R`7aJvi@Q$=9yA~CLd1Shl#UI2W zxyHTfVhes70x1G|_acXr4cY!(L)xSX=X~+;`WkEmbWBSLfM4mD zxI&eVwLy=Ll~g#{_PzD&-kZa~uZ8ovezkZKru}F@z9V~daO6SKl$e^N0fd&Yhu))& z-h0e)G4mTAZLp6|RikvZtQ4OE!E(yFw+Q)XU1qP_e+N zifHf8d*qQDj zjL5(;gVx>rSTXDVK%s|@;g3gP6kvWA{0mQ*QwKaOdpM74ZA|lT4*0lAN&@G@LM`J5 z*w02sr%xLE0XGD{7YVMoAn}_pq2ffIK{@#sBmojrhYp4-#1Y)KJLQDulxn3S&-d9h@bf1 zW`Y_H5O$W|0^-yG1%Tk=zsRzrnP&zN&BSKkwHcv3d4V6)k^7ha5vEJWmTckoSV?M`;5k&!pMkDlj~Xa(){3zqPTuz~H7f-|cuQauXPK_p$?BU|KzG0yP4tm}g`h zBg=Z4ec{F$787B}(yP#=Zh_h`et3MpM(9{}AUb9-vn5njs+9ynbx7nrmJ!)KHYs3c4VX%H{)gQ|$0 zxGP%tDX#rTZ2_$=Xp+a5&`}bNK^5wQ3tHg=6B;@Ot2}QFuPzL$pzbvA2+Xmp6m-m) zly0Vk>HC4eDG~-42^hR<4sOApulMtai!gi%&@)&m^`Z1GWpmx7V%Y5_p+*8!8o)CO z$QlW?sA}>zPERZpRVd80LUR_Aum~+$Q|Z{;iE(*!4=j)H0U9l~x9^vC{1edyoVrZ! zJ-lfnFHk`56o`)H-`Oi1bNMuYu#mNK?V6kH3Zx{)4~f$CJ)npPRBvJnrbN&7>seg{ zFsN-DZaSv@4G2_npFClGsp-LgA;`*BhK3r1$`C<|iZe2-vS%iMKOiu(3(4VYoyZjr zrlPEMIOWr|+tSuiXB9d{goT*yGN@NL27!dsMg+PaUi2=yRz~QWfRF$AfX)e{1iz?^ z5@bF*N`&s8@uL zW2;nZ{hM(e?Ad7_YEn-66grLi9UG_j9zr@6zzTzoSK zAX+GJsv`RL6EQh@Ru_uR8p4*!Ophw_{<2Mvj;RsBm+y~kuTyWBMkC2v)5qws2c=J< z&bUSr!9bGtK>C1_vol8)mcB^*?b|~Q%xIwcGf90$yi&S_&d~@BU30vw(zPtaEU|x& zkGtjCuGY@VAzjb|<38xPmXFt;aUCn5Dt52w_Xm83TS%tD_8qplCeN#2SKeR9Qg6*S zj+|PK0n|DCECra)L>plx((ho?WI6_u9~)^{rB|V96sX4)5jRnf)li$J&@rWB%x^3L z*Q;y9O>~c8{%QXD8gT2$_U!a)^xk9sXZ*c=>6qOp{Jo#a;=v#K^o96xx}Szw)YZGV zK&2<@)3MdrwJgNMRvQh5+ms?7sEX);eo;ba{&<0%E4EED63eMxH9nBfc#;ksQw8er zVX=SnuQMc4b`bX0oMsucRMV%?b{lu`u({7n5Pxt=MvmhHyAIeACeN+R=yre63$K4# z#Yd-mXM|?Z=34CgBRS>G*|@`^j^RzE^sMHT4=XTp91zkgujll6Z&Ct6>!3LM`ThSE zhMD0SWKn0gIauA^4^xB_T7ilhUT;x>6cK^^Lh;M(NbP51GmejqDT zLDuN%UkV-e3)_Z-Wn5s{Td+2DISI#YlrB~h_8}Np8o-66*O+2UMYRipf|&(ApmP!b zzuo1MI6l6WrhdDy+IvMmyQ{X5_@A@>`quAB|_9F9lM~d`8rrk0n`*zApZufyz0+g( zf;zqE7`=BwtZ}toNBZb9-VRxj5r&I+fdF65OlBD!t-^Zso>oG&FT6+QrB=4@<5nru zn8M?#^|&D;ygM)O!&l#X=onV#YTi?gDqhsqxSFy7gBFwm4yg#EWF!oE)wS|^P_8j| zM1cZe*{}w;K2fsosdrCbPTa4`K%(6;#t7aHM^l|ghW()=d?8fv&Mw0WEyoKS5SHsH ziRKDns)J=sPMw@vx(V7vSfTSb@J7?6W0(U4I`-Pbv4`lHG-CwNf~w;y>vSBIj%BnDxrZ0{0dva; zdvaH%wH8?@pl|mu_Vdz|u+D8m4&lAO`l(^iuA_zwJ!hS)H(N9%&PMms^aXsFaob)V zoS8?RT{y8SR@f)$#5ohNFGAMV+I{!FSeo8_WYN+WKB#bgzO#-U zIA-Gs`_F$+!8+VoAl?6RnM9UlE?okecZ^@G1s@!0+sb4xxM$J|mldc8w8GFI*NrKf zR8ynB+_`H93(J|E+^3NW{fHVwNQF#f%|;E3tQ$Khl7AZ49}q}Hd1#lEfF#snUD}7R zoLPxha(o|FiaeOLqKd7~;Z*A-x?V^-`~iB_drZ-+gU200I%Xnb{MNYGy39+g8td{) zp`DGIint38ylinAU5jcPv=b_!D6q~*1Re_B$_2*l7swJmn4-b9y>)ylkO;84O5{p+ zl`Mug7Eg|+YIDz|_QtX;XV}av9xQsJ33Lo@LqJgbYe52oDJ!2Al{xL_-Eq=fZx8f-?diOxC)~q3^8NgC_C}qiW>L=8XBg89N!=G z%(yo|3$Wtw)Mu$nW220i!`3X!SzV2gWa;r0i5aOat&Of6^#?j`=Ey?Kqk_pFK<|k) zAi@=lB4E1wfG0}OsP7TQ8fP~%OkWXN7;k*Cp@t2gQdV)O5Js!0Rx5XcvebXYNAOKbQtnn38*ZuH>`Xm9~86Xn*_9bzsHL~bC+#> zGkQe#jOapg7sus@Hrx^hiM%jZNMr{A(XjbjS35(`X{kb2HmOls9Zg${5B=tD)bu; z{bJ*qRs@vyrA8xR0Uw)$GSUE9b_cgM0Ras?b$$iA<7qA|po?Rak8Lz6EPxu-YZq(! zzQOL|=Atp69&Q>}tj;93hXk|^t3Z*aKi=Yo2M0vH6B%aM8Xa!jH*f8k>7@NfOc)v^ zTy|}6&JC+JPV-4m|IrqJdu`U zVk7!TB6hBMNq`<)XkJB7qckSF^unofr%#L>+8;}J6~|Ho?+Vq6T#Y2^GJJB`2{e>9 zcJ8ky%Tk2Shu?(a;OogPnYsH&`#-SvP=m|=8UW7(iqds>0efavrK8@?tvmcfhu$10 ze|Sa9vZS85^<|avZTpWl@X3Gvu-RSwQ^5C4Ddm=U^X__dGDNg;_(uUH_MDm$S{NU{ zt!H@8VSOVy-E^hZV$VrC$7C{SCR1YMe)V?#`*UQ2Jk z=G3$I#RzHcj3reFw7@d)@g!^a+(QdKufBWt!Fr)~g1-ZShc(AsFcKClc}KmIJ^cN2 z4Dg|3WL>cC0{%t(6aOwJXQ}!C?IVmSR-b1H_1n|N84c33@+v3G7+yFjuh_{go&e3E zHtGi;VlFzz{D19|O=(9?+WB;I0yG0?Cm>n{hzbR*z{wc26pj1zXy4ixn-p(a5gl$Y zdfglIkYFiAGrBX)MmGKYbW^AHX=YGN5k}U0-g!iVm_14hZ_j^utZY^jByYA zvn$nnb_=ygvsxz_FKI&xDI!c_`wrXLu>y~=0|kSE^n|3zk`E*0L{5LxffbWb6nRBX zJa=b%cG_;H6P(clI{tNIiqV;2mHpelYr7QVtTxH!E-5XIthmg{4&~YLdpL%7MYI?7 zhOIaFM^@asK4=mh1N;TXfPXoGujrqtbFrsqR?M8ayn3{9n1jy2Xf8RP{A-t!iAL$t z91-YxMBLzuT7@SIf#>GQ)am-H&JdMj(=fgh5UJ4*7e4 z5H3dXF@?UV_eNw#eI8gNTvJ5pYynmq{vi^c7te{rDTO!OU$8MCl-?vDod3}4<@f+2 zo*(nZej$OGM*<^UgX0fa+>eRbjDNdarBfKl)}yb8c%sg*#qU8W1q>AZUTBo)28@bPc*%hGne3mcyK}iP-ZQq}t76NOh3q-Ug&N_{;CI|?|?_eb~Lj2!^ zMqmJcp(!YJu0F4|8EfUkuq=7@sv3zLXzBKzVGOG$ft~vsmiKtD2;TzG2n`9si?ne& zyd)&cw${q!RW8Fn`b98u{)j`%PWqjNu~B>+$6HviOcevC|4~X9gcj$tGEUFzY#p7J zU@|ARFtD0BnSaD1x6r{rKl2Kmpii(;nCUATKTGP-$+EH2c_A0aMH^TuQ7L|X5nZ3} zpz9qf6-D?M^ceU0(?KXOfVa>fFUvBfQ8*{etT57x!g-wCKHZc$tWQM0@k62|IE|g} zErfHb`T`!1!0e?>XTwbBl-y%gbt3a9(_^)x(XjKjuNPp|Mh2+ik@9SXz+hpHqS_uFYg$Fa1K-emLz-T z^IUw6xoy=KX$>S4@_DHy&0;btPodYPWyrg;x7f#{^+>xQ$pBH_^-w5zf8j%GI`W(k?8EuJ|0l{NF2+0r6rC*BMHOA zgbXq=m>nGymLUG}(4}qw2?YM{rM&j_1PF!C#|fx>4UXYIjZv1z(;Gp+-wGm#|0e#B z&Pf81Kt2vWlr6j;{GasxCs|>c6R~dH)oeio@n?sAoUj=%XXc)=IT##!A-?^|24R7P z!6Kv}f(SwZz6b)r5Tzy$egzRk5J3bHL=ZvzFM+ZD2W@a2>P1@%KmY&$07*qoM6N<$ Eg0dmvRR910 literal 0 HcmV?d00001 diff --git a/blueprints/lubelogger/template.toml b/blueprints/lubelogger/template.toml new file mode 100644 index 000000000..4ff289634 --- /dev/null +++ b/blueprints/lubelogger/template.toml @@ -0,0 +1,18 @@ +[variables] +main_domain = "${domain}" +lubelogger_locale = "en_US.UTF-8" +lubelogger_enable_auth = "false" +lubelogger_domain = "https://${main_domain}" + +[config] +mounts = [] + +[[config.domains]] +serviceName = "lubelogger" +port = 8080 +host = "${main_domain}" + +[config.env] +LUBELOGGER_LOCALE = "${lubelogger_locale}" +LUBELOGGER_ENABLE_AUTH = "${lubelogger_enable_auth}" +LUBELOGGER_DOMAIN = "${lubelogger_domain}" diff --git a/meta.json b/meta.json index 8be7825d7..3ea190caa 100644 --- a/meta.json +++ b/meta.json @@ -3812,6 +3812,24 @@ "development" ] }, + { + "id": "lubelogger", + "name": "LubeLogger", + "version": "v1.6.5", + "description": "LubeLogger is a self-hosted vehicle maintenance and fuel mileage tracker for managing service records, reminders, fuel logs, and vehicle expenses.", + "logo": "lubelogger.png", + "links": { + "github": "https://github.com/hargata/lubelog", + "website": "https://lubelogger.com/", + "docs": "https://docs.lubelogger.com/" + }, + "tags": [ + "vehicle", + "maintenance", + "fleet", + "self-hosted" + ] + }, { "id": "macos", "name": "MacOS (dockerized)",