From 77266b3bd160963a93d8af99f60b300494ab8036 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jainil=20Prajapati=20=F0=9F=AA=90?= <86187588+jaainil@users.noreply.github.com> Date: Thu, 28 Aug 2025 11:52:23 +0530 Subject: [PATCH] ATTENTION IS ALL YOU NEED (#313) * Add blueprints for wanderer and yamtrack applications with Docker configurations and templates * Add Vikunja blueprint * Add Tor Browser blueprint with Docker configuration and template * Add Picsur image hosting blueprint with Docker configuration and template * Create new blueprint for deploying Pastefy with MariaDB and OAuth support * Added Morsphs * Add KitchenOwl blueprint with Docker Compose configuration and template * Add Kokoro Web blueprint with Docker Compose configuration and template * added HortusFox * added gitingest * Add Etherpad blueprint with Docker Compose configuration and template * Add drawnix blueprint with Docker Compose configuration and template * arranged Meta --- blueprints/drawnix/docker-compose.yml | 5 + blueprints/drawnix/image.png | Bin 0 -> 3468 bytes blueprints/drawnix/template.toml | 17 ++ blueprints/etherpad/docker-compose.yml | 39 ++++ blueprints/etherpad/image.png | Bin 0 -> 48092 bytes blueprints/etherpad/template.toml | 28 +++ blueprints/gitingest/docker-compose.yml | 9 + blueprints/gitingest/image.png | Bin 0 -> 16806 bytes blueprints/gitingest/template.toml | 13 ++ blueprints/hortusfox/docker-compose.yml | 43 ++++ blueprints/hortusfox/image.png | Bin 0 -> 31494 bytes blueprints/hortusfox/template.toml | 50 +++++ blueprints/kitchenowl/docker-compose.yml | 37 ++++ blueprints/kitchenowl/image.png | Bin 0 -> 17061 bytes blueprints/kitchenowl/template.toml | 33 +++ blueprints/kokoro-web/docker-compose.yml | 14 ++ blueprints/kokoro-web/image.png | Bin 0 -> 54316 bytes blueprints/kokoro-web/template.toml | 14 ++ blueprints/morphos/docker-compose.yml | 15 ++ blueprints/morphos/image.png | Bin 0 -> 19169 bytes blueprints/morphos/template.toml | 19 ++ blueprints/pastefy/docker-compose.yml | 39 ++++ blueprints/pastefy/image.png | Bin 0 -> 19642 bytes blueprints/pastefy/template.toml | 43 ++++ blueprints/picsur/docker-compose.yml | 29 +++ blueprints/picsur/image.png | Bin 0 -> 5140 bytes blueprints/picsur/template.toml | 23 +++ blueprints/tor-browser/docker-compose.yml | 14 ++ blueprints/tor-browser/image.png | Bin 0 -> 44440 bytes blueprints/tor-browser/template.toml | 20 ++ blueprints/vikunja/docker-compose.yml | 39 ++++ blueprints/vikunja/image.png | Bin 0 -> 14130 bytes blueprints/vikunja/template.toml | 33 +++ blueprints/wanderer/docker-compose.yml | 72 +++++++ blueprints/wanderer/image.png | Bin 0 -> 11372 bytes blueprints/wanderer/template.toml | 46 +++++ blueprints/yamtrack/docker-compose.yml | 26 +++ blueprints/yamtrack/image.png | Bin 0 -> 9401 bytes blueprints/yamtrack/template.toml | 19 ++ meta.json | 234 ++++++++++++++++++++++ 40 files changed, 973 insertions(+) create mode 100644 blueprints/drawnix/docker-compose.yml create mode 100644 blueprints/drawnix/image.png create mode 100644 blueprints/drawnix/template.toml create mode 100644 blueprints/etherpad/docker-compose.yml create mode 100644 blueprints/etherpad/image.png create mode 100644 blueprints/etherpad/template.toml create mode 100644 blueprints/gitingest/docker-compose.yml create mode 100644 blueprints/gitingest/image.png create mode 100644 blueprints/gitingest/template.toml create mode 100644 blueprints/hortusfox/docker-compose.yml create mode 100644 blueprints/hortusfox/image.png create mode 100644 blueprints/hortusfox/template.toml create mode 100644 blueprints/kitchenowl/docker-compose.yml create mode 100644 blueprints/kitchenowl/image.png create mode 100644 blueprints/kitchenowl/template.toml create mode 100644 blueprints/kokoro-web/docker-compose.yml create mode 100644 blueprints/kokoro-web/image.png create mode 100644 blueprints/kokoro-web/template.toml create mode 100644 blueprints/morphos/docker-compose.yml create mode 100644 blueprints/morphos/image.png create mode 100644 blueprints/morphos/template.toml create mode 100644 blueprints/pastefy/docker-compose.yml create mode 100644 blueprints/pastefy/image.png create mode 100644 blueprints/pastefy/template.toml create mode 100644 blueprints/picsur/docker-compose.yml create mode 100644 blueprints/picsur/image.png create mode 100644 blueprints/picsur/template.toml create mode 100644 blueprints/tor-browser/docker-compose.yml create mode 100644 blueprints/tor-browser/image.png create mode 100644 blueprints/tor-browser/template.toml create mode 100644 blueprints/vikunja/docker-compose.yml create mode 100644 blueprints/vikunja/image.png create mode 100644 blueprints/vikunja/template.toml create mode 100644 blueprints/wanderer/docker-compose.yml create mode 100644 blueprints/wanderer/image.png create mode 100644 blueprints/wanderer/template.toml create mode 100644 blueprints/yamtrack/docker-compose.yml create mode 100644 blueprints/yamtrack/image.png create mode 100644 blueprints/yamtrack/template.toml diff --git a/blueprints/drawnix/docker-compose.yml b/blueprints/drawnix/docker-compose.yml new file mode 100644 index 00000000..ed2b72ac --- /dev/null +++ b/blueprints/drawnix/docker-compose.yml @@ -0,0 +1,5 @@ +version: "3.8" +services: + drawnix: + image: pubuzhixing/drawnix:latest + restart: unless-stopped diff --git a/blueprints/drawnix/image.png b/blueprints/drawnix/image.png new file mode 100644 index 0000000000000000000000000000000000000000..4bfc1847f59af566f02f6c2e4f566b6b057195c9 GIT binary patch literal 3468 zcmV;74Ri8|P)-!m*T3PvKpS{ny z_kQ0#-?Z#n#&0hRHNUkY)cp49P;>sPp_Vt^4256I4~18+ zMSLd|UbQ|HUir^Zc*RGd@bZ6!!hiiF)VOR@sCmhj;$us;)f~O$-6M4~LIw4UcFb(r zb#!1?1a&CDsVdFJ&3gkvIQVp=5Oz1fFNB2%NPx#wZ)=Piufe=y`Gsx!gc2!zT52NK zHEgMQ>hP0ae7o=N&ptoAvUFB>XSgq((y5;g1z7b*bNOyeK1IaHgA9!&#VCYOYy&he z-Fe6M3)@Knc~dCI6cKfomQX*)k13Wy%9&t>u;MUlz7W6G03^8~81Wzcz#WCX+&KrsU19GR>s zBG?6*Q?Y20u*}_SYL|TSX!&F9aOZNz0_u(rCNk7zCYIcF664n5^L`Pfbtw|AS6Z0knn&`gCkp%KQu8DxSB7p?QkcYmBJhX0B)dFsL(nq@j zoP!5@O51;$fREb)=7pZ~2?t%b(M3x?R9GNlAy+^wa!m`f9E#WpH!4Icb}i}{(;8by zL8#i>GNWjH!;h2rV^wm+&8_<57m{@t=qyL~Ak&x+D(vF`QFL8f#zZ%b*1#i(oQDVm z=`pQM1YKuBxJO>{IJOfIvhi>Ai(sYhE=3OQ?m$b?o*%JQh3MQI2!Kvf*V0nVJ8^4m!h2D*20Y<@73AWbC|jN(XIe#rwkWK_K_?^ zzyGymQa}I?2T6+`;&#x@bO#e(d<{_txu2~v376Tw!XrqF$3khqtT_Rga4JdbXhI{=^ggxxI<5Ja3nV+UT3!ZIEK{a_Qj zV2WsZ_b;<=95iCs>dSHm&lx#!_)`~NGU~N4XXf0JGur6Y{qIVcQMxWdWDxI0 zSLm_^8iJZ0OWYqht|P&;JCzmAEmc(x{ho%ZCnX_9cI?F$nBOnaeY_eg&B6T^`X}c8 zD)r7$KTipsb%!xH>t#!r-w`21p`yltGiHpK)a#nFzD~Fe4|A^UyJg(syq^u6+V@%| zj3XA=3y-x3AjuKLi5QQmMxwZ8;0**Iw}IFiVWbpoXqrF|Fz6#0PG!?Tqfho~|4rk9 znM-fTNq_Ltds2TnVpX@%ee(mi<}K|#cg(c@D=+VBhENCow;F zYM=ENFB+D6#@LLx$}z$~tg{ftW8MuCmVma_QLTKReL3B~O#$7n9l1U*@0y!aFFm_Z zN=d(q(%M!)J!<#x*DG|?cFZ={w7LLEcD8J|_}>11xZt+lSD~8?fY2~vzu2|14Z5y# z%zL6xqieQru}9;UsM6MA7^F#Ho{328~HCy7sYN=NmoD%?gAFL`ZS&@qbGjxVYBok-q0a7rr>_6dK<(t&fore>B}|sc6X6&P zp^1Yq)zEL{!x&#h%I}D%VV>0`0iK2IsOfR)bnJI-pl0&DSwV<6V1XnFVK|0s8L2I0 zAO~^F=LmxG;Za7kSC<4tqSEb9mu@4@yCm(;%KLj3(>|BAtk+;k0x~0Ch;=3@C`` zjDWqxjXCRW?(aUWiv*K?ZImnW-w?&p=lDg}9 z2ZSp~2%S5kcOT!bE(svwAb_v?llR{#cT%6bqc*?j^XA2tkZCsTXAv9&hg52KuSk%m zgG!xF1|42^?r>fodAw5sYD=BKo`2N+v^c-!p^xU3FDeZ+T&F;ww#?2uw6keITQaK4 z!u{4St-t+`vud{1)kdcfY1%dRIq4`4*X~$R{a#Ui-IIsDY5q-pwRHgzs;N|W6+Cj}z@MicJoenw@~@tr zS`nH*wQ}PVQx28Ac<-^wO&_!@J>KXH=Yxp@N|qtw7LC2GGg-&Ahe)yuZ5Ca4`$2!jWb*R^|2ogx3d4h>KBIQSC-S;~Yr0&LnIo=uU0M?RFnoG|V zUtclAx2;_P+n+6)_SH*AHZ~p?Lo_Lgu1ldUV7L)^GD(Qw9RfinjhwFmaqm8yqw7Q@ zLgYPyi2CgUvKZ5^3bZB>-u%@={d1+1{PlCf8KBOWZ92Xj1PlP(mP}rc4V{A+S-}QT zo5mhM)I!bja*ABTJ!lNeSU!x=O@*#oh#si>-k9u^nA4bqP`!7i_~Q3tQ`b`W39ST> z=ZjvieFfbz6uz9a6^L{Kh!6pU6v#4=^I9*b=+?9#To20-3EkNQYjC#{yN)>$Ms-BG zhJ=w|l_Hw%ADcQ2-FJvQp_PE*=MO&9+$e_dLtziyNduN4NWrhZMB+3CQC<(ydcAD5 zW1eLqOa|nLSeuB?Mew&{&n_guv)WIF_!eF@s9O;c_Yf1Xb6s6tb!p3OOoGW9unPf% zK$I+#Owo91G`dekgWjKsCD3|WA-pE^mMX&v33h_tCWvj>DS3|aK!z+? zH7Rw%**#^wN8F1npn7+>Uu}iDp1Y5S>kbl8bP%~FDj^KO?&#dW4oR+AsOf8HJz%2F zHc24Pxe#%CoH(cLB82J|pUX&>C2vp695e3p?%#T(6C(?#C~BHS1T--`oH|Kh^2jM7 zPu>Y{cVgGUGK#v+ug5qE#oY!mL~W%u=2#%v1#?(OVgl)M(`yqluNaUek0z2%9J2uY z`FfltVc-A)iJk^|-C>Dt8!j+L*ZF{Ap0DM%4C)}CcmRn=9FCwl+J$%x!d&uH^X5kN zOU#-x!ei8@&ZB5ZD*XQ~kd~agbfJZJ& zTP9C|Jc%&&?{~Vx3a0~X4^0wXPu>mW`g_3Ob&3xv1P}p+V0$n@k0|P78LyT&Cc&sT z49qrOo;jx5xP3SGJZHh!^!fBVJ`p=r7|q``q=9syCCoxw$U^v?$CfY<38+PlLL6Ak zA$I^%7UElxf&V=rBKK)nhy--K5SA#ke4-G4)Gh?s!eKe)+6hB_OKuqH|LuZ_X&3GO zb=GO`Uza&;`p_O5PnB@;I%DYQK<&)8`Uf9;t6y*yFn3Mg;G=8$1Rn?fv?e?F^qStm z=L&iSUnuAqTwIV9Tv8ASF3%4HUw%ChT)ip~e0@bAn7=F#ELa=}zPm6GeD9e+@Pqk* z;Kz?=1qI+5SZYNkmVqN7n{a_8=9aC!dPj^LYa~+V=Sx5lw@q2DP^Ye=Dm6EY4=|I#vI@J z*7`SlpK~+q6a?qHV~sWEn9Vm=^WV)mH*X&PFMs|A!5{e1AN+%V;g9^mzwkrv3V$g1 zKlVd^FrWj*6ftlC#sn@n%KW2$=*NJY{GlKFA>eK#`~@qvo!|CeL7YI}1KsX=Ik*$F z#fF{mL%vwMKQwm1o)`&f@<+A=baKKNCqSQ=A-2N~V+3*GnU9gs36q0z#69qB`A+^J zUm6KP6mwq)BK8EG2X<96x;LCgPB%Hye`vcuKlVd^;79++Km8-Y5B}3XV(@~YzyWsa zeHv8wlLTm*vWL~-~TaO8%44^MZZWkB4^bS=dx<|Xn^5I?3yB9=UN+RsH+Aayj>U?n}*Z?c=2f$X>H@RzX z%3jzoz#xlWq=Ye000zLYP9b~XNOrYb^CRX_5-d&=ok}Ofz#T@kusub;zMh3Vu$B zG`m{G!rH(E0@rhLdrnp4Na8)FeMENmcAWMQ+77rWg{#se;iC_U+&OI-DrrZ1Io2al zTtxzVhC3p!13I(XBuZkltB|l86antE#91t4a#w@%K#c_Az#{$SgIkbiPj5OA4U>Z% zW{?(rMg-^vs<>K8RTxJ1)XAbEus$-&B^>LyLt8`kqOIA1KHP!?z|g+TUDV=TlTh0| zpqQ{nEr}DX>VI(M<$KaS$>ZE$9*2D3Gk`fWgdHJ?k`mpHpbLvca^R}MP`DGTS)4$6 zlE;Q{@9em3B<@Do+U~G8I?$v<`x&KlIeKdyta1{xrtv;j)#`blg{G*@*0C992aEDn zRcqmez19$gbmYO&$2}=bs1E3}12;e{8ci0dkzLTW4&(SlRG5B>Y#|@WRy3N@-YOwZ zrCJ$-s+I>?DJPUxW;^l$l4Mn0Y=PF?qivR>`-8|HgqH5YBcY{vLF2xd=Rt_+4LRFx zCV_DztMcmVzC?Qr)rh^ZvwS${`qg%ZXDIh8^%#k1UDcs5yURJG7^VHP;{JU@5Q>@lSN4%2psq=8~d zCJr=Z(YxVKixr%87a9YLYY@A-6s~FuiKJ!mk3hR8h`gbyRCa6J_i6iX;p8sBoxpBr zN=auF&TcS`g^X1s@)=-?FvdB^3#w0MlCZ;~M~=bBK->zZ;?$tZ=t&r|6G|dh)YmwB zV(tXdi|8zfij~R33}XO#0gOF*l3XL-ph*vtf~{RY%-r!LpARFhi$f%ewQWVCKqDkp zhv(Z#oGXM|=7G}QHv@&-6$y$iSk&G+31NA04(!aM3Q?*mAEkBi2nN`iai)IkA~RNi zEv+4pG#1i8u_O}*nzGnPR-p-g}y5D+lHVS4MsTCYh`-MnEr=Mw9$FrK(KgA=gPng0jjd zXn;UqSwhvFE6HKH&)nP}xZGn*qID8y_KnfHs*PsIpeI@w<08t^tk%tqqwIZntZd_hQ_jRa7wG$V=|$k8r= z!Vbs;u|=feIVeaShO*eJ!`ddH7IX?xqg3s38Pppo4p$LXu_P=Y2@hk1zx3+PMgEL? z)EsQc4Ojz3yLOp?c}QU!=Igj)HWu+az$#ksF)H`+MH>-_w(QgWZBlKBJ$oSTPQad| zH;|#!3z#@w?f&2h{55gNDdGN7P`4@IbmTNbg9O|Sb;vH!(OOmDzkbm z1V$fnTUx0@Le28Mb0(uO$6^<~LE3~15y@IQTUle+c5D;FUPg95Go(OH;L22f z*VWyc6<(|`L$KIIDMv+FjIMR)bP`e~yb%X!bQUEA?S^3z6w(PTi?G8OAkz+Jo1O=~ zprKA1EP=1c zD#JuXSyoovkvimK&^Cc$9j+kkfp$@fUn6ZFDy{ZR`0DCV2hOKaJ{x4h9+aEo=`1+4 zwqz3I`TN#kRS`RIS(H%%ThQf2!WJkM+fZo;&$Zo}J;0W^yM4Z4^Jtwy`h+RLfG;BV zI-CUT0GHhZIt0uB*v%kgf;?<0350RwOYkH)@U*U4jUE_>qT))mgrgv?5IY1U1fGQQ zzJsJuVvxkiJ^=#{q{M@$3F!vVRlEz*GPQ|1b7G+!vDdyTw z(m@kJZ@JKPU~!d06ak_;E_UU!aaDX6K#kSu)G;+5J4)PE1Ur!L=cw&9mDE21#qlFy z6P1h%;8t`DkO&odByeg#626?{3^v6+M~T#i38$Rn3RkMVsy-1wrxDYxu*NiN95*PH zS96rGt9b+x2|8XVTS+^P_l{j5*EqvhYQ??QIeG>ha&)}hNiI{#&{$Ms!L?VBgztQG zPB?~ot;1NC%&WrI6DoOyZS|cLa+QiDR&j6<)DOll6^w80qf|zXWz7}cu*?Jy&0GmL zp?RCcF^&~oTj>c`InYEMb{NCxWE)b6)P@PC#7Y8;x2)o-GlS>j&0UZTN;$z*6kv`x z&OqzfRPZB^!_}Y5&h>5K0{hegS)7}lMt~QCZC5CrVA6y~*gZ)!s*u2%?lU?k?HB#I zD{S1xh?FQa)D0&~RlN&DqZQia7f!b#$acoXl5DEoTB}?*)>$#i^=P+MuzjP*r92Geln64dVvH`4Sd;awb(X95Y{LYtEy+fBGx#&C#ZxsR22=X%vP%jSE_19 zy-wit3h!alru|@5TV-sl}xX^p=FXSkVQZnHQm$32lZMbBwVdi?iH%FnWQ>5Ei6~)T5Jx*CtbM#)Yb&Mc2$ML`2{YQ>N;EOF@Bvt= zk`yK-9WV?B^YS5E=)wH;HdeL@Urai0LVq%ID`O`oOlV>so#G|q`IDr1 zcy>tt{UiyUq#=?CqK6Uh05=3&Oh|cnCeS>X3dTte3OTejbHaZCBr!bG(>XlF7&M=V z0w*(!3&_C@*9+%))5 z$b5HL)CM82NT?Hbbhb!B3uBNCpW`;YGw%%Q!oC*^GDBFpP^DfMYcaS%nSkU9()Jzj}ne?uo=H~7&!Ue0AruO*<<5P_%bX$udcdv4+o!ryx=6a zG|J|l1Pk1f_Chj~1TU0*A&LC~Uyuf7iq+}7n873@hB4kHd_(+uWtZ)D-`gF$i?Vz8 zuDrWqnZ!4QtUGr1N5BVJ7eE9Ru2PMKp#v^~fw5P-;`(Eq?}{>!95~fs+<-KUFb2RL zSd=|r^m8m{Qj`=Skl*SUBS#sK7;V`=G}TOLF-82)-<3(Ub-Y}Xv3 z1Oqnwr3dfAFbqZlu`mXR9mWlCCs44>eHt^wMm?Scfylt(8OUc}^e_g%Ub+y*oj7sP zQ6_K$dSZkzf~3U`M=>uwiOkYqt!wE?R!>!+dP$|MDghF!3YNlrR}hQu05ricumDzh zaUP&zSnCO8V%0?Flxw$0!-L0$B5MU|yV@-}fCwFrIXKD*;|3$CuaZ5g1g2Q%i<%c0 z9VQ`+dye^>$RT>ph!aGEsq76l!X+V`&fJr!V2}ey*kfsjd=fCj7$9~SH^7}h!G?X= zKKaNN(P26R2jnaig9Eo&>)KC31gsICPh2FF3ETmsVQnWgfX@wq0qy`Nc`)r3lK=#Q z0Amj>u&NFmjT!3Z1#`WCAR+%n7^f4^lnjHH<|KCJj=hyd#qggPwF2 z+i5OzY?u+6k0wFsE!H1ONu9W5k{Q2fxEnJpVw*)`Q>_a(Km@Bi&MsvB1`?U@z~8Y+ z*rkd|$3D1NcT7Tp(L;6`bn<9A4$(;C^4Xzk-DMHq0d%qshZ6q;!tCd=) zu=npMMgvl50B7l_WJMAsDuuPKk~WlxHu&JGy4-zw7~yijxXqm@7NA-T%IHq+0+kV@fazO*xWNLVG&&x*EQKi$u4#r@qx$*9w;TJ_^V$o z`~;+OE5eI28K%lU#CEaL-lV21d8( z8S-9jlk9bBam}2{8>#RHFgKKF+kjN;vo-e?RcI9Y!OhFZC&sm(eE^c|_|ZX=fEo-M zv6U}|uLp}-aXyMqIZ$H^Uiutv6N(pRbULG%*n8c@Wr&h=@`zyQInl&~DuT%=&r z0A7I?v=Ec#F@KC;f*7YZ2~mr83e>K|vv%zy{aniGS)0(1;#?p}{ph|EcB`)2idkmvFy!_5f+ zW5;wh5N`o{1tU)FviqbJOKe@L(+>dB;#=Vb3L@Z?nm9 zk%3IeydZTqWwB3X;UAAty-V1^#f`c)0S0c#Ekuk=psa<>+QRTT5mLK~;NnS8f#ae< z1Anox?1r(1*xSmrPQXCt%dI5{Rn>@c0t*La%>*Tf<>iO!LsSH)#S)6YfRTAJ zNg>g!cT5NY5zt8q$)T0q{78Yq=E`K}ed_t-S@#&r^DzMA)0j^MnGB&*bx%2R@P|f6FUR0j=MosSY+auF*meEI$(H;;3JUQ zIoT6$L~Z4ubld|TCQ>_MTW1oasU2CORb%U>qeVJC4~Qa{ck(a@G`89i<)S(usm!x)aus!GM0nKT;E(*HWNRO{%B5wl7Y+SVF( z`?hndJ=iX(+n@BoW$wY;9XeE(gxlN^;lSGQB5I8=x{uV#lFM5IzW;$C6O$JQ3kr)mxB>FrM$FXMZR3j7-B1MIB{BT4&5gJ5X4swh-d|L*~&?xN}3ZqUp@&y-upGs6LvMd!vy%Uv;}lHl)U zoQSeLMzxHK-AtbeG$T2-E*_+#yBI6LS0=$%#vC&sFasL5%r;h44}sO7Q$XE{4oLe% za&)rjXUrR7NAwPy++W)+OyZbSy);*EF-wqX2pdIDpT|Ka7*0<1=Ojpr@_yc|xkFhUGOX#z{gCP~^hGU66YSXt79S zfat`KNa~!K*@Eu^35YNlRaF?cvx0;G9ithd+?gocS$Lvr2ay*Hzc)V0Ji8}kx}<95 zHN9&Q@pp`w3fO~?MFPMN?=xasCvRRMsXGu2NH(fqRq?t}!Hei^B*Y-e@TR4CSY91< z2@X~89z=t^h>aL7mIS4CPC^1eoWK=RlG~h783Y{=3TA%XFbNYVRGB%vaZ!SKjQRHf z9i7E7NTp^1cMo)2^VnziB6xIyjqco*oGh63lf{aTA>^(l;{@bPNS$}g>gB4;)9w-V zBs4+n2S5|jVT8f9jt?>>h+xxU0%Z^M&FwKDN)W>s#@Qr&(H)T|NuMsU*#;li4XB9l zgm!B$l9qR9@Gi~fI!Q`;3@U)fAORh2*mPi*6qhKm0DBKaTr)QUE8HFMF2c!TclTZ& zlUUI)7J}VjIb(7r$i$wEAubl!T8}!Ee+TGBXtMwVpu8ZG49}Uc2X>zeqBIO+1f*ev z*Fg{l(1YPW@04ViT_$jio&=E|d&Ui%Bf+|~qK7ZVFK8qOY=;phkMHj=?qrM;kl#qw z2%=!^8TW3?WEx@b*@f#pK@Tjh2l<#Q6UQ4s42J&#C-TXHX*3xFpidADrh<{2m5HMb zAWjVF>~vgE;$u)=PUKI42*- zC5#aeJx4;hEsT={3NiMK8z4?Z*)!d6!=z!uxaS}=K@=M{7~=Sr5}Hl0_dpN!B294j zoE#YO93)S0A4p&X6!ItH^2ea6Qjwy;1oqGitXaM<#7-&E;9NnE2xF5U#y~j-`UO_@D!sUPN3X{Dr%E}5scdYa*IL~Mw}c47hnUTL6mTm$)r6O zRW9YADohD)1B@FG0w^F#7#9%24dY_NxO+r_Cx}ivMhamRk3o}{ZSk_JQ02bI%(l-^=m}9Ye?9{uE#|*3R838oMT2YT#}w)c_WFxE@3l1 ztIfTIdW~+DN6t{>Lb~C?fp)7TLMPbb**)Cb(P1Vd8>^lwq8R-2;!MKw0EhwN9y(sh zDOT&aeQxSj&@69tZBBqO!m=p&K1gOtXmt*Bqljp(IIvL#&rl4PtQ*xpM~fE z#Oe_CInrl2-iU@bk%uUB2J3$t zlyf)g76b;Wm&U!O5-6)PX@obL(k|F<*$O#EO0eiEK@sR zi+}{>0>>oylGR*n_t#wX3?#;2uP_FQ=2Yp@>dxc`Bx8g%Lp0x&l0XC|ZDPbbGm|GF z>@-GM$G{!=oVtYb*pAjxs?6=G88@9ZS9G|WBl|JoVg;>JWnFRynC}3ZqZGe(lhv3a zM%BnBLUt=W3>ul`7lq3hIr5se_ag})IWi9NvC_}X5zrj4A&3H_$P=?8ZK&mD*-G|a;A*^j7;dGEcAvCZN4Q2?Cm?13hvQ*KAoH>aQNSNp}a)6}CYYFEI zlUVJId{JqI3(`D{O9<|^#cF%hRw?M5j91B&7d9u@`OfjV8z66R1a(<&Nc&EuId(w8 z3K|X&ikQr>?s`e6@HSjCEwnAR!y!5tE7{tIA&3nZ%a%>f0AWJwVhnXHR|80p7d`#dP&xtIDnA0z zj=_4A4tB&jcutY$t1`=p&LoV|T!>X>+!ftJh#LqYz*UI61PtUIQ0PcwqGq%``VYSm z*af&$3R6fvj7vflZIy-C@EC+7LIxr>OfGsABAc(1&`w#14Uz&nAvC*4+A|FU#742S zt`2pj*lqw({gA5EsNNj85l6ikfSUjZ>C{Xi8DWeRrJmd>deYpCNCJ!wB*cLhLrO(Q zon=*CzI4v5vGV|@{=!WJP#a*+Nl<7~#a=Wwn!VH+2+K~N8tY8k1193lewxb(FrU#1I0>0|J$H+$8&G?BiqRcAo=v3@Fvc5 z8d0C(!c~+QR^5cg8;B+ci3Av>yeQ!n99!TF&;j%2yBpRzEAQmM7g#p`5pkOz1ExcP~PFfhF z!7c-yMIKA6>^3|SkR~SOKv<}wiP#H z99WALI-^V^8y+ZCBMBr^1h-q^DvV;a+eBj^>+OedV>rhCIB7K)e}Zi^>M5gnm4cDn z39&m-B3@(ZXq6O5HYD>lgL=_wpxuo~TuxsSv5ybhj>J*hC;t-c1UW_fwfJkV8}`-5 z=s1lG9}+AL*1Ebg^?u4UCkG&wKmE&|NeXIRYmehI#k(;Wro(hKeCTurkxx~CEwKZI zB%{>}Oj1Rzw#A@06n8gT1!xkPhL6?JZc!AFKvnU@Os+w!Qh?py%g~0Zl1MOXu3IM| z&F~??(qOHtw=fYkdJ;ymwD{4mA!v7uQRFOw=@G^lSp1S;FS~n!E4ep3PV&O`X+3%i z6FP0pG_l~Lb`L0R5M~59cM&mv+VxLdwAU9peq8y%K=d&TuCX=&a-H8;E z&1-Bn!LZhuouF{*&<3aV!Dhi0!zwh_Vg{YNQup@^5_#2EL`=sErTG3Rb%I#j)5#bC zX%p2_nEv+4Ua4&NF_UeqlaO322}0Mp&@oZ0E79?u>C$p0Jr_S9;$zq9a~O36$pe%$ z$YaOq8xme~{k4e@`Nb5ViqO*UGmJe!4mM0i7&mYStghu8kh7u3Ag!1|-iA>6XkA1R z&2oZd&J1C#i!@A_4gu~4_HZeYp^-Vz_jss%a;}_x=m~v06pND_NX7{0uEidNVRi=C z7eNAg7~?kNM!-p63=sRd!%$@`eqAn3!tJloQOf6aB=cLlAw8 z5r;sGJ9%#8-vOBEB$@EQ*+(at-ctQJ(YDwc;1`hw_QXj^%|IJ*!z~ONWAx+UISsW> zG~^6Z72pPp0b-X5qna_m#S-+1(k@$Ga|{gplSxp(Y>T}|N>Hl14z99N#VNo&2O-2T z2B6yn?m3Dj@06-=?goYB2uJC7QG^7L!x(#_bToqf=fU3Ddyk z6vlWF(26vessQ&KOoAB30Ouw9Nu02LGd$4=-GSNmww%l`I3HalahgwaW`NPEz>!1KhFQ9ijAnUP5LFr{XTYquZ^awfC(F+lFiE zrrc`X*6lXkjn?+3Is6FZ@KiJD+uX{wB}QIBR;la7VMV(Bbr}e=@?`7TYJtTB2e5{#n82DDZ^U^+3c7V+3)- zQTBYU^YfZT{*-u^XJwsX%7_z)*l-X#90iUW#yvswu=;L{Nsjj=VPbZe3I^giBc5QN zb1^i;o`iYG4~E_+6wYA`fIWdb5plYEgAi^QBZwQ0V$Lw@4M{ZY=$TF^NHmOs5ylAO zhNJBHTpy2SeMyoK-WOu~e-pfpjcddW+t0C9M}IDp5Tts~=&S4B1LKBQeLG*!7aq6o zeIU*&&Ll|l!J?P=)oKmw=?;m_W78IP8>(>_A-gTp;3M@6`dKv zNx*L7@+5>v2(VumOajIvlCLAGiUNfYv;78<%eg z`9#AQFO19(cF{=(+=&;TBqeV5E{-w7uJ+*Hf$5Nq!?++x&CY4VH>eFa;`6e|cd7z$C!Uk87Qf-Suto}|T2-f~)F$H4cE3VNBTp*9&BGo-vV{vwR0(Ix|tyw)g5%~hN_XGiqM z3wvWb)Hkr@24c~+;U0@%N(RJVLewG^|8NS_t8LQM2Jr!(IEo}6oY-*A+^#8A%}ImZ z%_lK~+j89$rd%S@Kt)=iVa!_cstQ&gI$op!H)rcLC7_^`{Yds0?BW_c5#bcJMhOi_zyKvO zf+`%HEV`kD>4Sa5a;X(sHQb{FQ!*fC-d>Ut+jBH}4ARuKA{N-8so>RwW^Z$aLp*5|UdM zdZ6LU29=#jh#LbRO(HpGpI@8cOnK46CnB`MDq#lP6NUjv9+5tIuQt}q1%pg12=Bv*$;wm96B_pCQw>*Hv*oV9apMuKT& z(0#4LE%|B+1t(BTD~pgsLJ%v7M`Nh--~rNyHBU&vQMvChS5D(Rztty6@^CAwcSwh@ zF5Zyj!2{$DYkxuwd=+%|ZCOy*w#J)uI!T712{}RG6jO*Jio4M&j-Ios<1p!F3U`yB zR8K-r-yo7YAKFh+l!*O(U}KSJ(5>NG?U%FmK6WISLNkTkmNV|eev-@(ro$){`}ff` zhz4DJ8XdJQk~Sw6QjiLM2VnmGSnxO&cTX6mUpiwC^b0}KLaZSijm4}^;}}ApcJ5kr zv>i#LWFxZ=Gy^?A!w6#-nWSe(TkR*oAxT-Qm2)$#x+;@!~IXwaG+07OHPEXaWKqcMGEJGWF}`~#MXN=Mo`>nW4M^UH$W_kTn*PL58f72FOJerxi!L&lnji zO4&}eDx71N5;C(-!~MEVkv74VBEqfa(cn2AJ#2p-NYiek*6n)smLx>UTxJXgpfkXb zEJ)4iM}W*QeXzx85B?&ouY?@8NEu0;)8|uiCeh9uk0E`VTb8dG7f{{(l>n~MpU9q* z4vusVodYMM0w)j8r*?IoWyrmY=r1W&Q_;ap(&q6DZcg4rr$7ksMBFV| zzACm7i&H>n40eWNual4^S4c3ufO?U(1J~{?h|C1K;U0q^AbCJEl^6SRg6RoQn`{)^ z4GDL5qUa>-Fgp_=H7VHEeHusf%$!H#j}1X;=sg(&klkAxH_4+R%nxZD=^T0nmMElW z0~54)L?q*fGs(CqZcIe|pGMRWeJU}lq1~E$OC>K7IAzOp4?9|(ct2l}3OLaRV?6#P zy^zu130#NTXCuQ>AESfY6Svf-#g;{%FjcJy+(YkzqyzgoPllRAMnna{`g! z34#ul*k!;{AB@4dnS4wV;B2+s4J4@!jFl{5?Xa52fE0rR2Xr%gfOo7OSJyN`<=uc>pya)HCps5<I=Oi?t%F*ucz-k!C)pp%?(gJI+e#vZk8`LsIJ$(+obA<%O+xmUJqh#lF!TVvAyQbZjuu9#;1$UI z9e`b1?u+zGNh@M#ppz}4aDq|HYb?oOv<)Ny?j^AXA!_~6q7oy2000mGNkl8a@eLbHL7Ms-;h?_mS}3t zbmZhrrqOPt5#cT&NKUlA@cEUEZhk`uxtJuMe4uQg-mR2Ln%UO1r1Dcj*SRMuHbCEF zS3-&l-Q0P0>5XYc9l}x8>7!xzZk0(c)TR{;h{1FTV>Fg7Ul7?Yj6vHGrM_WNcRd

BBd>i6)st< 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%0AS{N5# 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 G!T$$*@TIo^ literal 0 HcmV?d00001 diff --git a/blueprints/gitingest/template.toml b/blueprints/gitingest/template.toml new file mode 100644 index 00000000..e96eaa83 --- /dev/null +++ b/blueprints/gitingest/template.toml @@ -0,0 +1,13 @@ +[variables] +main_domain = "${domain}" + + +[config] +[[config.domains]] +serviceName = "gitingest" +port = 8000 +host = "${main_domain}" + +[config.env] +SOFTWARE_VERSION_TAG = "latest" +ALLOWED_HOSTS = "${main_domain}" diff --git a/blueprints/hortusfox/docker-compose.yml b/blueprints/hortusfox/docker-compose.yml new file mode 100644 index 00000000..c9079cfc --- /dev/null +++ b/blueprints/hortusfox/docker-compose.yml @@ -0,0 +1,43 @@ +version: "3.8" + +services: + app: + image: ghcr.io/danielbrendel/hortusfox-web:latest + restart: unless-stopped + volumes: + - app_images:/var/www/html/public/img + - app_logs:/var/www/html/app/logs + - app_backup:/var/www/html/public/backup + - app_themes:/var/www/html/public/themes + - app_migrate:/var/www/html/app/migrations + environment: + APP_ADMIN_EMAIL: ${APP_ADMIN_EMAIL} + APP_ADMIN_PASSWORD: ${APP_ADMIN_PASSWORD} + APP_TIMEZONE: ${APP_TIMEZONE} + DB_HOST: db + DB_PORT: 3306 + DB_DATABASE: ${DB_DATABASE} + DB_USERNAME: ${DB_USERNAME} + DB_PASSWORD: ${DB_PASSWORD} + DB_CHARSET: utf8mb4 + depends_on: + - db + + db: + image: mariadb:11 + restart: unless-stopped + environment: + MARIADB_ROOT_PASSWORD: ${MARIADB_ROOT_PASSWORD} + MARIADB_DATABASE: ${DB_DATABASE} + MARIADB_USER: ${DB_USERNAME} + MARIADB_PASSWORD: ${DB_PASSWORD} + volumes: + - db_data:/var/lib/mysql + +volumes: + db_data: + app_images: + app_logs: + app_backup: + app_themes: + app_migrate: diff --git a/blueprints/hortusfox/image.png b/blueprints/hortusfox/image.png new file mode 100644 index 0000000000000000000000000000000000000000..50eb07e83540b4e5da56a35e9d6b7bbf1e66b841 GIT binary patch literal 31494 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 X!If{uUqFnJX8>~2N>b$#hJpVBk361T literal 0 HcmV?d00001 diff --git a/blueprints/hortusfox/template.toml b/blueprints/hortusfox/template.toml new file mode 100644 index 00000000..19706ecd --- /dev/null +++ b/blueprints/hortusfox/template.toml @@ -0,0 +1,50 @@ +[variables] +main_domain = "${domain}" +APP_ADMIN_EMAIL = "${email}" +APP_ADMIN_PASSWORD = "${password:16}" +APP_TIMEZONE = "UTC" + +DB_DATABASE = "hortusfox" +DB_USERNAME = "hortususer" +DB_PASSWORD = "${password:20}" +MARIADB_ROOT_PASSWORD = "${password:24}" + +[config] + +[[config.domains]] +serviceName = "app" +port = 80 +host = "${main_domain}" + +[config.env] +APP_ADMIN_EMAIL = "${APP_ADMIN_EMAIL}" +APP_ADMIN_PASSWORD = "${APP_ADMIN_PASSWORD}" +APP_TIMEZONE = "${APP_TIMEZONE}" +DB_DATABASE = "${DB_DATABASE}" +DB_USERNAME = "${DB_USERNAME}" +DB_PASSWORD = "${DB_PASSWORD}" +MARIADB_ROOT_PASSWORD = "${MARIADB_ROOT_PASSWORD}" + +[[config.mounts]] +name = "app_images" +mountPath = "/var/www/html/public/img" + +[[config.mounts]] +name = "app_logs" +mountPath = "/var/www/html/app/logs" + +[[config.mounts]] +name = "app_backup" +mountPath = "/var/www/html/public/backup" + +[[config.mounts]] +name = "app_themes" +mountPath = "/var/www/html/public/themes" + +[[config.mounts]] +name = "app_migrate" +mountPath = "/var/www/html/app/migrations" + +[[config.mounts]] +name = "db_data" +mountPath = "/var/lib/mysql" diff --git a/blueprints/kitchenowl/docker-compose.yml b/blueprints/kitchenowl/docker-compose.yml new file mode 100644 index 00000000..a9366efc --- /dev/null +++ b/blueprints/kitchenowl/docker-compose.yml @@ -0,0 +1,37 @@ +version: "3.8" + +services: + web: + image: tombursch/kitchenowl:v0.7.1 + restart: unless-stopped + environment: + - JWT_SECRET_KEY=${JWT_SECRET_KEY} + - DB_DRIVER=postgresql + - DB_HOST=db + - DB_NAME=${DB_NAME} + - DB_USER=${DB_USER} + - DB_PASSWORD=${DB_PASSWORD} + volumes: + - kitchenowl_files:/data + depends_on: + - db + + db: + image: postgres:17 + restart: unless-stopped + environment: + - POSTGRES_DB=${DB_NAME} + - POSTGRES_USER=${DB_USER} + - POSTGRES_PASSWORD=${DB_PASSWORD} + volumes: + - kitchenowl_db:/var/lib/postgresql/data + healthcheck: + test: ["CMD-SHELL", "pg_isready -d $${POSTGRES_DB} -U $${POSTGRES_USER}"] + interval: 30s + timeout: 60s + retries: 5 + start_period: 80s + +volumes: + kitchenowl_files: {} + kitchenowl_db: {} diff --git a/blueprints/kitchenowl/image.png b/blueprints/kitchenowl/image.png new file mode 100644 index 0000000000000000000000000000000000000000..17fb9b0967fc0eaaa268afff265e66653d9da10a GIT binary patch literal 17061 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

Y)s+4<&5Q+PlSf8snGa z(nA8Na)@B86_tMYOx88@C|nB6CY3`d?HIPjNtlz#3;2x06Qvn9j)&-a;1h~M#m0*ru&Wk8~LtYZeRUNv^kB8Ip%t;$}bOPhCa)UBS#`o91G o0RR7yyXp!6000I_L_t&o0O>O!Ovue9O#lD@07*qoM6N<$f+79VbpQYW literal 0 HcmV?d00001 diff --git a/blueprints/kokoro-web/template.toml b/blueprints/kokoro-web/template.toml new file mode 100644 index 00000000..aadff30a --- /dev/null +++ b/blueprints/kokoro-web/template.toml @@ -0,0 +1,14 @@ +[variables] +main_domain = "${domain}" +api_key = "${password:32}" # Secure random API key for Kokoro Web +no_track = "false" # Set to "true" to opt out of analytics + +[config] +[[config.domains]] +serviceName = "kokoro-web" +port = 3000 +host = "${main_domain}" + +[config.env] +KW_SECRET_API_KEY = "${api_key}" +KW_PUBLIC_NO_TRACK = "${no_track}" diff --git a/blueprints/morphos/docker-compose.yml b/blueprints/morphos/docker-compose.yml new file mode 100644 index 00000000..21fa6872 --- /dev/null +++ b/blueprints/morphos/docker-compose.yml @@ -0,0 +1,15 @@ +version: "3.8" +services: + morphos-server: + image: ghcr.io/danvergara/morphos-server:latest + restart: unless-stopped + expose: + - 8080 + volumes: + - ../files/morphos-upload:/upload:rw + healthcheck: + test: timeout 10s bash -c ':> /dev/tcp/127.0.0.1/8080' || exit 1 + interval: 10s + timeout: 5s + retries: 3 + start_period: 90s diff --git a/blueprints/morphos/image.png b/blueprints/morphos/image.png new file mode 100644 index 0000000000000000000000000000000000000000..973e5aa1c09df91837d7ea22251f8b3cfd0ebc3e GIT binary patch literal 19169 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 Uu#I}!2z&!^a&RM8*##y34_@Ov@c;k- literal 0 HcmV?d00001 diff --git a/blueprints/pastefy/template.toml b/blueprints/pastefy/template.toml new file mode 100644 index 00000000..58a66cc7 --- /dev/null +++ b/blueprints/pastefy/template.toml @@ -0,0 +1,43 @@ +[variables] +main_domain = "${domain}" +db_root_password = "${password:32}" +db_password = "${password:32}" +db_user = "pastefy" +db_name = "pastefy" +http_server_cors = "*" +server_name = "https://${main_domain}" +oauth2_interaapps_client_id = "NONE" +oauth2_interaapps_client_secret = "" +oauth2_github_client_id = "NONE" +oauth2_github_client_secret = "" +oauth2_google_client_id = "NONE" +oauth2_google_client_secret = "" +oauth2_discord_client_id = "NONE" +oauth2_discord_client_secret = "" +oauth2_twitch_client_id = "NONE" +oauth2_twitch_client_secret = "" + +[[config.domains]] +serviceName = "pastefy" +port = 80 +host = "${main_domain}" + +[config] +env = [ + "DB_ROOT_PASSWORD=${db_root_password}", + "DB_NAME=${db_name}", + "DB_USER=${db_user}", + "DB_PASSWORD=${db_password}", + "HTTP_SERVER_CORS=${http_server_cors}", + "SERVER_NAME=${server_name}", + "OAUTH2_INTERAAPPS_CLIENT_ID=${oauth2_interaapps_client_id} # Interaapps API Key (optional)", + "OAUTH2_INTERAAPPS_CLIENT_SECRET=${oauth2_interaapps_client_secret} # Interaapps API Secret (optional)", + "OAUTH2_GITHUB_CLIENT_ID=${oauth2_github_client_id} # GitHub API Key (optional)", + "OAUTH2_GITHUB_CLIENT_SECRET=${oauth2_github_client_secret} # GitHub API Secret (optional)", + "OAUTH2_GOOGLE_CLIENT_ID=${oauth2_google_client_id} # Google API Key (optional)", + "OAUTH2_GOOGLE_CLIENT_SECRET=${oauth2_google_client_secret} # Google API Secret (optional)", + "OAUTH2_DISCORD_CLIENT_ID=${oauth2_discord_client_id} # Discord API Key (optional)", + "OAUTH2_DISCORD_CLIENT_SECRET=${oauth2_discord_client_secret} # Discord API Secret (optional)", + "OAUTH2_TWITCH_CLIENT_ID=${oauth2_twitch_client_id} # Twitch API Key (optional)", + "OAUTH2_TWITCH_CLIENT_SECRET=${oauth2_twitch_client_secret} # Twitch API Secret (optional)" +] \ No newline at end of file diff --git a/blueprints/picsur/docker-compose.yml b/blueprints/picsur/docker-compose.yml new file mode 100644 index 00000000..c19df6e6 --- /dev/null +++ b/blueprints/picsur/docker-compose.yml @@ -0,0 +1,29 @@ +version: "3.8" + +services: + picsur: + image: ghcr.io/caramelfur/picsur:latest + restart: unless-stopped + environment: + PICSUR_DB_HOST: picsur_postgres + PICSUR_DB_PORT: 5432 + PICSUR_DB_USERNAME: picsur + PICSUR_DB_PASSWORD: ${POSTGRES_PASSWORD} + PICSUR_DB_DATABASE: picsur + PICSUR_ADMIN_PASSWORD: ${ADMIN_PASSWORD} + PICSUR_JWT_SECRET: ${JWT_SECRET} + expose: + - 8080 + + picsur_postgres: + image: postgres:17-alpine + restart: unless-stopped + environment: + POSTGRES_DB: picsur + POSTGRES_USER: picsur + POSTGRES_PASSWORD: ${POSTGRES_PASSWORD} + volumes: + - picsur-data:/var/lib/postgresql/data + +volumes: + picsur-data: {} diff --git a/blueprints/picsur/image.png b/blueprints/picsur/image.png new file mode 100644 index 0000000000000000000000000000000000000000..ce2486b0166c9558a2e25c279d64ebae16dee9e6 GIT binary patch literal 5140 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 QY~To>siv)pQ#KF&51ElhW&i*H literal 0 HcmV?d00001 diff --git a/blueprints/picsur/template.toml b/blueprints/picsur/template.toml new file mode 100644 index 00000000..89fcc143 --- /dev/null +++ b/blueprints/picsur/template.toml @@ -0,0 +1,23 @@ +[variables] +main_domain = "${domain}" +postgres_password = "${password:32}" +admin_password = "${password:32}" +jwt_secret = "${jwt:jwt_secret}" + +[config] + +[[config.domains]] +serviceName = "picsur" +port = 8080 +host = "${main_domain}" + +[config.env] +"PICSUR_DB_PASSWORD" = "${postgres_password}" +"PICSUR_ADMIN_PASSWORD" = "${admin_password}" +"PICSUR_JWT_SECRET" = "${jwt_secret}" +"POSTGRES_PASSWORD" = "${postgres_password}" + +[[config.mounts]] +name = "picsur-data" +serviceName = "picsur_postgres" +mountPath = "/var/lib/postgresql/data" diff --git a/blueprints/tor-browser/docker-compose.yml b/blueprints/tor-browser/docker-compose.yml new file mode 100644 index 00000000..ea1eff4c --- /dev/null +++ b/blueprints/tor-browser/docker-compose.yml @@ -0,0 +1,14 @@ +version: "3.9" + +services: + tor: + image: domistyle/tor-browser + restart: always + expose: + - 5800 + - 5900 + environment: + DISPLAY_WIDTH: ${DISPLAY_WIDTH} + DISPLAY_HEIGHT: ${DISPLAY_HEIGHT} + KEEP_APP_RUNNING: ${KEEP_APP_RUNNING} + TZ: ${TZ} diff --git a/blueprints/tor-browser/image.png b/blueprints/tor-browser/image.png new file mode 100644 index 0000000000000000000000000000000000000000..af03d828d6f04849b6cc65c8521ac6348d5042a9 GIT binary patch literal 44440 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�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 WeN+99hnW#i0Lt>}a@8`Hq5lWV_eJ^u literal 0 HcmV?d00001 diff --git a/blueprints/tor-browser/template.toml b/blueprints/tor-browser/template.toml new file mode 100644 index 00000000..5b7263fc --- /dev/null +++ b/blueprints/tor-browser/template.toml @@ -0,0 +1,20 @@ +[variables] +main_domain = "${domain}" +display_width = "1920" +display_height = "1080" +keep_app_running = "1" +timezone = "Europe/Vienna" + +[config] +[[config.domains]] +serviceName = "tor" +port = 5800 +host = "${main_domain}" + +[config.env] +DISPLAY_WIDTH = "${display_width}" +DISPLAY_HEIGHT = "${display_height}" +KEEP_APP_RUNNING = "${keep_app_running}" +TZ = "${timezone}" + +[[config.mounts]] diff --git a/blueprints/vikunja/docker-compose.yml b/blueprints/vikunja/docker-compose.yml new file mode 100644 index 00000000..11b744b0 --- /dev/null +++ b/blueprints/vikunja/docker-compose.yml @@ -0,0 +1,39 @@ +version: "3.8" + +services: + vikunja: + image: vikunja/vikunja + environment: + VIKUNJA_SERVICE_PUBLICURL: http://vikunja.local + VIKUNJA_DATABASE_HOST: db + VIKUNJA_DATABASE_PASSWORD: ${VIKUNJA_DATABASE_PASSWORD} + VIKUNJA_DATABASE_TYPE: postgres + VIKUNJA_DATABASE_USER: vikunja + VIKUNJA_DATABASE_DATABASE: vikunja + VIKUNJA_SERVICE_JWTSECRET: ${VIKUNJA_SERVICE_JWTSECRET} + expose: + - 3456 + volumes: + - vikunja-files:/app/vikunja/files + depends_on: + db: + condition: service_healthy + restart: unless-stopped + + db: + image: postgres:17 + environment: + POSTGRES_PASSWORD: ${VIKUNJA_DATABASE_PASSWORD} + POSTGRES_USER: vikunja + POSTGRES_DB: vikunja + volumes: + - vikunja-db:/var/lib/postgresql/data + restart: unless-stopped + healthcheck: + test: ["CMD-SHELL", "pg_isready -h localhost -U $$POSTGRES_USER"] + interval: 2s + start_period: 30s + +volumes: + vikunja-files: {} + vikunja-db: {} diff --git a/blueprints/vikunja/image.png b/blueprints/vikunja/image.png new file mode 100644 index 0000000000000000000000000000000000000000..7a70b8370ebdd503acc4cfaf020896149a57fcc6 GIT binary patch literal 14130 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 o0O0v~rZK+l(k$rz0BR;hi~s-t literal 0 HcmV?d00001 diff --git a/blueprints/vikunja/template.toml b/blueprints/vikunja/template.toml new file mode 100644 index 00000000..0a4e88f9 --- /dev/null +++ b/blueprints/vikunja/template.toml @@ -0,0 +1,33 @@ +[variables] +main_domain = "${domain}" +db_password = "${password:32}" +jwt_secret = "${jwt:db_password}" + +[config] +[[config.domains]] +serviceName = "vikunja" +port = 3456 +host = "${main_domain}" + +[config.env] +VIKUNJA_SERVICE_PUBLICURL = "https://${main_domain}" +VIKUNJA_DATABASE_HOST = "db" +VIKUNJA_DATABASE_PASSWORD = "${db_password}" +VIKUNJA_DATABASE_TYPE = "postgres" +VIKUNJA_DATABASE_USER = "vikunja" +VIKUNJA_DATABASE_DATABASE = "vikunja" +VIKUNJA_SERVICE_JWTSECRET = "${jwt_secret}" + +POSTGRES_PASSWORD = "${db_password}" +POSTGRES_USER = "vikunja" +POSTGRES_DB = "vikunja" + +[[config.mounts]] +serviceName = "vikunja" +volumeName = "vikunja-files" +mountPath = "/app/vikunja/files" + +[[config.mounts]] +serviceName = "db" +volumeName = "vikunja-db" +mountPath = "/var/lib/postgresql/data" diff --git a/blueprints/wanderer/docker-compose.yml b/blueprints/wanderer/docker-compose.yml new file mode 100644 index 00000000..c0712e40 --- /dev/null +++ b/blueprints/wanderer/docker-compose.yml @@ -0,0 +1,72 @@ +version: "3.8" + +services: + search: + image: getmeili/meilisearch:v1.11.3 + environment: + MEILI_URL: http://search:7700 + MEILI_MASTER_KEY: ${MEILI_MASTER_KEY} + MEILI_NO_ANALYTICS: "true" + volumes: + - search-data:/meili_data/data.ms + restart: unless-stopped + healthcheck: + test: curl --fail http://localhost:7700/health || exit 1 + interval: 15s + retries: 10 + start_period: 20s + timeout: 10s + + db: + image: flomp/wanderer-db + depends_on: + search: + condition: service_healthy + environment: + MEILI_URL: http://search:7700 + MEILI_MASTER_KEY: ${MEILI_MASTER_KEY} + POCKETBASE_ENCRYPTION_KEY: ${POCKETBASE_ENCRYPTION_KEY} + ORIGIN: ${ORIGIN} + volumes: + - db-data:/pb_data + restart: unless-stopped + healthcheck: + test: wget --spider -q http://localhost:8090/health || exit 1 + interval: 15s + retries: 10 + start_period: 20s + timeout: 10s + + web: + image: flomp/wanderer-web + depends_on: + search: + condition: service_healthy + db: + condition: service_healthy + environment: + MEILI_URL: http://search:7700 + MEILI_MASTER_KEY: ${MEILI_MASTER_KEY} + ORIGIN: ${ORIGIN} + BODY_SIZE_LIMIT: Infinity + PUBLIC_POCKETBASE_URL: http://db:8090 + PUBLIC_DISABLE_SIGNUP: "false" + UPLOAD_FOLDER: /app/uploads + UPLOAD_USER: ${UPLOAD_USER} + UPLOAD_PASSWORD: ${UPLOAD_PASSWORD} + PUBLIC_VALHALLA_URL: https://valhalla1.openstreetmap.de + PUBLIC_NOMINATIM_URL: https://nominatim.openstreetmap.org + volumes: + - uploads:/app/uploads + restart: unless-stopped + healthcheck: + test: curl --fail http://localhost:3000/ || exit 1 + interval: 15s + retries: 10 + start_period: 20s + timeout: 10s + +volumes: + search-data: {} + db-data: {} + uploads: {} diff --git a/blueprints/wanderer/image.png b/blueprints/wanderer/image.png new file mode 100644 index 0000000000000000000000000000000000000000..826da321786125ae8d4ec8e7f3e8a646adb18599 GIT binary patch literal 11372 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 literal 0 HcmV?d00001 diff --git a/blueprints/yamtrack/template.toml b/blueprints/yamtrack/template.toml new file mode 100644 index 00000000..bc8d119b --- /dev/null +++ b/blueprints/yamtrack/template.toml @@ -0,0 +1,19 @@ +[variables] +main_domain = "${domain}" +SECRET = "${password:64}" + +[config] +[[config.domains]] +serviceName = "yamtrack" +port = 8000 +host = "${main_domain}" + +[config.env] +SECRET = "${SECRET}" +TZ = "Europe/Berlin" +REDIS_URL = "redis://redis:6379" + +[[config.mounts]] +serviceName = "yamtrack" +volumeName = "yamtrack-db" +mountPath = "/yamtrack/db" diff --git a/meta.json b/meta.json index 91353592..82d5c6ba 100644 --- a/meta.json +++ b/meta.json @@ -1509,6 +1509,22 @@ "diagrams" ] }, + { + "id": "drawnix", + "name": "Drawnix", + "version": "latest", + "description": "Drawnix is an application for generating and managing visual content, powered by pubuzhixing/drawnix Docker image.", + "logo": "image.png", + "links": { + "github": "https://github.com/pubuzhixing/drawnix", + "website": "https://hub.docker.com/r/pubuzhixing/drawnix", + "docs": "https://hub.docker.com/r/pubuzhixing/drawnix" + }, + "tags": [ + "visualization", + "content-generation" + ] + }, { "id": "drizzle-gateway", "name": "drizzle gateway", @@ -1647,6 +1663,23 @@ "hrms" ] }, + { + "id": "etherpad", + "name": "Etherpad", + "version": "latest", + "description": "Etherpad is a real-time collaborative text editor that allows multiple users to edit documents simultaneously.", + "logo": "image.png", + "links": { + "github": "https://github.com/ether/etherpad-lite", + "website": "https://etherpad.org/", + "docs": "https://github.com/ether/etherpad-lite/wiki" + }, + "tags": [ + "collaboration", + "text-editor", + "real-time" + ] + }, { "id": "evolutionapi", "name": "Evolution API", @@ -1981,6 +2014,25 @@ "self-hosted" ] }, + { + "id": "gitingest", + "name": "Gitingest", + "version": "latest", + "description": "Gitingest is an application that supports Prometheus metrics, Sentry integration, and S3-backed storage.", + "logo": "image.png", + "links": { + "github": "https://github.com//gitingest", + "website": "https://gitingest.com", + "docs": "https://github.com//gitingest#readme" + }, + "tags": [ + "analytics", + "s3", + "monitoring", + "sentry", + "metrics" + ] + }, { "id": "gitlab-ce", "name": "GitLab CE", @@ -2242,6 +2294,26 @@ "server" ] }, + { + "id": "hortusfox", + "name": "HortusFox", + "version": "5.0", + "description": "HortusFox is an open source task and photo management app, designed for photographers and creatives to manage projects, tasks, and images effectively.", + "logo": "image.png", + "links": { + "github": "https://github.com/danielbrendel/hortusfox-web", + "website": "https://www.hortusfox.com", + "docs": "https://github.com/danielbrendel/hortusfox-web#readme", + "discord": "https://discord.gg/kc6xGmjzVS" + }, + "tags": [ + "productivity", + "photo", + "task-management", + "php", + "mariadb" + ] + }, { "id": "huly", "name": "Huly", @@ -2488,6 +2560,42 @@ "finance" ] }, + { + "id": "kitchenowl", + "name": "KitchenOwl", + "version": "v0.7.1", + "description": "KitchenOwl is a self-hosted grocery list and recipe manager.", + "logo": "image.png", + "links": { + "github": "https://github.com/TomBursch/kitchenowl", + "website": "https://kitchenowl.org/", + "docs": "https://github.com/TomBursch/kitchenowl/wiki" + }, + "tags": [ + "self-hosted", + "recipes", + "grocery", + "personal" + ] + }, + { + "id": "kokoro-web", + "name": "Kokoro Web", + "version": "latest", + "description": "Kokoro Web provides an interface for text-to-speech using advanced AI voice synthesis. It allows model caching and API integration with authentication.", + "logo": "image.png", + "links": { + "github": "https://github.com/eduardolat/kokoro-web", + "website": "https://github.com/eduardolat/kokoro-web", + "docs": "https://github.com/eduardolat/kokoro-web#readme" + }, + "tags": [ + "text-to-speech", + "ai", + "voice", + "web" + ] + }, { "id": "kutt", "name": "Kutt", @@ -2854,6 +2962,23 @@ "storage" ] }, + { + "id": "morphos", + "name": "Morphos", + "version": "latest", + "description": "Morphos is a lightweight service for distributed operations and orchestration.", + "logo": "image.png", + "links": { + "github": "https://github.com/danvergara/morphos-server", + "website": "https://github.com/danvergara/morphos-server", + "docs": "https://github.com/danvergara/morphos-server#readme" + }, + "tags": [ + "server", + "orchestration", + "lightweight" + ] + }, { "id": "movary", "name": "Movary", @@ -3222,6 +3347,24 @@ "open-source" ] }, + { + "id": "pastefy", + "name": "Pastefy", + "version": "latest", + "description": "Pastefy is an open-source pastebin with support for syntax highlighting and OAuth2 authentication.", + "logo": "image.png", + "links": { + "github": "https://github.com/interaapps/pastefy", + "website": "https://pastefy.app", + "docs": "https://github.com/interaapps/pastefy/wiki" + }, + "tags": [ + "pastebin", + "text-sharing", + "collaboration", + "oauth2" + ] + }, { "id": "penpot", "name": "Penpot", @@ -3304,6 +3447,24 @@ "database" ] }, + { + "id": "picsur", + "name": "Picsur", + "version": "latest", + "description": "Picsur is a simple, self-hosted image hosting service with an admin interface and Postgres backend.", + "logo": "image.png", + "links": { + "github": "https://github.com/CaramelFur/picsur", + "website": "https://github.com/CaramelFur/picsur", + "docs": "https://github.com/CaramelFur/picsur#readme" + }, + "tags": [ + "image-hosting", + "media", + "self-hosted", + "postgres" + ] + }, { "id": "pinchflat", "name": "Pinchflat", @@ -3969,6 +4130,24 @@ "self-hosted" ] }, + { + "id": "tor-browser", + "name": "Tor Browser", + "version": "latest", + "description": "A Dockerized Tor Browser accessible via web VNC (noVNC) and VNC client.", + "logo": "image.png", + "links": { + "github": "https://github.com/DomiStyle/docker-tor-browser", + "website": "https://www.torproject.org/", + "docs": "https://hub.docker.com/r/domistyle/tor-browser" + }, + "tags": [ + "privacy", + "security", + "browser", + "tor" + ] + }, { "id": "triggerdotdev", "name": "Trigger.dev", @@ -4161,6 +4340,24 @@ "open-source" ] }, + { + "id": "vikunja", + "name": "Vikunja", + "version": "0.23.0", + "description": "Vikunja is a self-hosted, open-source to-do list application to organize tasks, projects, and notes.", + "logo": "image.png", + "links": { + "github": "https://kolaente.dev/vikunja/", + "website": "https://vikunja.io/", + "docs": "https://vikunja.io/docs/" + }, + "tags": [ + "productivity", + "tasks", + "self-hosted", + "project-management" + ] + }, { "id": "wallos", "name": "Wallos", @@ -4180,6 +4377,24 @@ "spending" ] }, + { + "id": "wanderer", + "name": "Wanderer", + "version": "1.0.0", + "description": "Wanderer is a self-hosted mapping and geolocation platform powered by Meilisearch, PocketBase, and a web frontend.", + "logo": "image.png", + "links": { + "github": "https://github.com/flomp/wanderer", + "website": "https://wanderer.app", + "docs": "https://github.com/flomp/wanderer#readme" + }, + "tags": [ + "mapping", + "geolocation", + "search", + "self-hosted" + ] + }, { "id": "web-check", "name": "Web-Check", @@ -4281,6 +4496,25 @@ "cms" ] }, + { + "id": "yamtrack", + "name": "Yamtrack", + "version": "latest", + "description": "Yamtrack is a self-hosted anime and manga tracker with Redis backend support.", + "logo": "image.png", + "links": { + "github": "https://github.com/fuzzygrim/yamtrack", + "website": "https://github.com/fuzzygrim/yamtrack", + "docs": "https://github.com/fuzzygrim/yamtrack" + }, + "tags": [ + "media", + "anime", + "manga", + "tracker", + "redis" + ] + }, { "id": "yourls", "name": "YOURLS",