From ab30b99b6e625f235db4d83396a92f1821b6d11f Mon Sep 17 00:00:00 2001 From: Victor Gomez Date: Thu, 21 May 2026 09:36:52 -0400 Subject: [PATCH 1/6] Add Healthchecks.io as a service --- public/svgs/healthchecks.webp | Bin 0 -> 5222 bytes templates/compose/healthchecks.yaml | 32 ++++++++++++++++++++++++++++ 2 files changed, 32 insertions(+) create mode 100644 public/svgs/healthchecks.webp create mode 100644 templates/compose/healthchecks.yaml diff --git a/public/svgs/healthchecks.webp b/public/svgs/healthchecks.webp new file mode 100644 index 0000000000000000000000000000000000000000..003f05f3f9d662904752815fa9cdde40d71b401f GIT binary patch literal 5222 zcmZWsXEYo@*WT4@^k|ESU0t;3ZH36L5=#(7l&Fg(T67lCqOTSudRc@-@3A373DMhX z(GsGQ=zQ{?_x<(FxpU6FXYS0MdCqfYp3#SEXqYns08bx2Ko}upjVS;C0PRg50RA&o zZ3HZl8~~sO5u@-h^5EI?U4Z%*qUp%jzpqjQ4{?U3b*L;%5kvoRfgtKxp)uDJei z)p2&cdHv5xh|rP;^ScKUq(b2voY*UaRRESKPxoT-$L{10S5ulJc61D32`kio#IKH1 z$Kf(7**&+^Ur^63(z#R@i^##;)jeJ}UiA?#J@3#u4t_%a5(db=k5~o7lR)yp*@kcj zCDX;T;n%$Pr5wkxdNTRs+p_H>0>pZZuWM}8^-jE5RSl3tsd;_1_a~ageKR2`1vnvh zIDZ+~%gElV3X%UHeDnQK`5e=j;vl|37%%-T=5yZEhNqldOYm*0syt8k1hyym;4Ds8=KWk$x|#e&HP>9koa$t(;Yedqhg%l5Xmwrr&dbmHXW zs(6=pm#c-ceL8N{;Gk7@nZI6wjaU-0a`%^i4=Bl~0{quDKIpG}Y4mMxxs9&aEP2j` zSLp~8T9_V=e@g^&!edeRRjt;sSkipM-86Lb8^QS&kX(*4$bfa8X>SVYw<~kLo8JG< z5ywLJa=K^?_Op`jNTQ?+k7c%WKNWbc%q3^RuiFnC0KU`teXFeT%(9wFYW9}wb`5qm zCEeY+xsE>1YXU_#_QVFVCurI50ykG|Z>v5>-HU2flLK4a>*pZ7*fDV`(XM+2U{M|l z463H$U!MSia_8GD1a}RT>;RcEcyFgiVpCtV&>OeIdYqMU;u9v&SATZi+FopuoO~Mh zly9`-0coFmMLv-PtTBtOJxOnoeOfvp!FehID6+_G&QO_MLH}hpH(%FT0^-JJlm`^)_0BBmt-WTlx4Mpjz z>{;ERh91W#BJK%thti2&y|nzq7B&3WSVqa?Q+o(iyFAL)MUr;8jj%7aULv39(9LOD zA4Q}O@)wCOQy#|i0}c?z6o9`?7pfa?;3yM*`qQ;63xxWY=&wc zWN_?}xoOF*A|Oz8^niHwD7FYZW!!Se4Y64MsFe?X5}1^-CG{m=`7AY=5AoBVCi{IK z&vWZyn-v>4=SF{DrebWWJf*$_B*8OPK1ne)@DY7|reaNal0c$;jX3>A*L0&X`B9Q{ z?ERyB4xSL@(bOau*Gwl&hpR_o^g=X^t{80EzsmDG{9Y1`H7l#0<|@w&IJymt{0e)d z1^$;*pnj15{JnZk5{71*B`JWPNHz3THKsbCjz0q~3a>MHy8cz+W@6 zBOrVbkb-vj8d(4lxzp31O;5Xhg0LxkaI;1NJuTCTgWg@>Nc=z7=J5mDXhkl_9l^aM z#AD4AaLP@fNnaicPWs7^5`f)fyzQ%;v#Lg%L8+-+mkegI8A=8dL%3EU@bHrX_;9+yq;2<j$ZKtFc&*dDFmsrW=$vWv})~-*Wbg`sbYjnAq)u_W0`Nh zcJ{IDPpkL68SO!8f%}mA#>iuyyHn)uO2#XiX~!lwkV{=lZ49dN_iC}>9-X9i?{{Cpdk1iWIGJxR+PeBsjamP z<1I!YZH?(3y{#LqjOH;g-5*L}{H@8}>^u5K$oe6htLkiVZbecLWwa^+fNaYz8l}-c zH;k8f0NuhcJMn3T&EoHDlkOAE{f;neh#u40VIH$T>Xx!5^VdSzbdvQm9@)sw|BNwMPy}4ce zgMS&T35_p*xICr_KhF@5RnF#oOwgLe>xj+we$QanrCXHE#|nhA1NlDFX^T&BzrRw-I<;9L%)0gp$}g?V&mr^H_QGw z8%xwc$W?yn?dy?EYZv$T6|Xirq6K&%+_^5iYWn&vAH@_XirB|S~e zxDAhrcq5HQ(ZdkD%1@4Z^@iHtAuD=>x~+M$Nu;n&q9Pb@!nsUyCy@mgV^L;WP>=OlPP<1j8GtV+XO%$AbdtgxsLI=yJsQVKV4*}gQKIgB0Nf=pK853rhmu61W3KZ z+EiF(EFYjif`Ki&a=k&Hn>l=WNT&02`~TKjg0Ey>Hkjs`6D+3$v;^Lc?d?3b|3u~b zGg30?`|dnxp`_1LB_oZlw>_T)4ZBFtNki3dd{)*+3vtW$b{Y>gzVf}+D9&hUk!?O9 zm6yZHP}3~VEi7L8d0!8v`-DG^j?;>wyh={I`oYW$BgON+J$PbY=J?b+u$>DABh$hPM8 zC9nDqT)|gmLC#;RIWt?Wly{FK4=%2_<-n1vO?a-s5s(i2gKU0tlhr#uypG53b5v$z z^Fs#tXU9HqG=pMCD33+g%SqRHSa!CY`X@~;CEsAafBr-!A2otxj z3VL%D@R!{Z1jZV9J@U9$xbB%-T`jRY61tbtgU=FV-oM*^-->I@2Ri0yFbw;BV-V8? ztdkpS00vH&$1Z3zm!)-sG5wPst^X57Hwx)pIq*iQ-ND{SHH1Cj9Z>Ka@EcG$36`%V zBdL;K#4bCqM^A3=a$(WTJeb?V;vk6=RypXuhBjw(4VX*{Q_dc4j9m_GS9#2HyS$^( zy~tP;^Nzh3yZlsr!jkS=Yy=+%76;WYfw{`NHmuy|`{cBN7< zc2=i5Z%!e;&M)EU9NJ?)B_dmyJPgmIuojFvb%LwCk34|J#K)e^;4Xa zm)<%%tw?a$wlQ+mqmlDTum4OB+OaRReie${v@`sJ5o*>9i}MFR3ab+)BnT;$Iqto5 zjg-%-=H*t&zV)5_!l}PgqiQMDoy{OSqfnm_uYlMcY;lkwYxKkcsTZew?c}{al6-fgEeUB=SDFuQ5^AD~d<){> zK3+BB;29Vc8USFkf5`cvXBJ&gb(oz;ubnvXU>QEFU$s(}!JSsP#g5y4N%W5{cAsnw zY@qrPllQJzeP)?jUaf!^-1&6vfZ#sHh(__Pj?JSPLmMO=X&x0O(#k=f2(@p6ON6tBrYld?)WEKZ%5)I`a z@BLbATsVGNU$${LZJyQy)e>B~HQyC+(Ym>9;;!-|;9P4txy1_u^Hy0x z-9nUOgQMdJr-cTkPuS3Wxc7$QY2ASqi>4hX^-%ItPi8i8$gn}bD`8Ax;4t^;+=3PS z($Ain_4NP`aD@M*&bMWixdmAO!vu4USJR{XvmekU+Pec$ABj(-ql|i#)bHuQwTW9u z99kKLA-^OO)rLn^?o^SC%Ad2Jr&fI|dVjKP)56BtzOkPF0i^!PV(-#9p~Dc-sVhqV zt=tH0N1-uYNmRx3o_0j6u7c;+h5{Gy^iGo919PF4vCa<^J01>kD%$L>TEqU&A}RR1 zL#?=Lu7_lZ!^C+tGnMYApvbIyIa|AZwhpE}jcUAJ`9N?#A}r8ToS9j#S(lS2pj`U= zq~dg!)8<2t=ol=y4Kwyvx4HA&gG~$0G*J!GJ>01R*=uK(yAxf(%HM3!1L@mV41Thtv_;;hKK&zVS`f6-m&i^jA>+!;D@WF^Ow@q||S~qI2$H2m9*kD1ZOqp0g#NX=o|9K-)ex5T;rWFAAt6ci`A zx+ne8a4d_o--%naaGFS?4g5rdQ+_L|+^jSXi&04Lc94Aqa6{h;H&?$t_0eV~_8A`# zbP}XiUF=(zMn+~wS3~MD+ND!Jzho|dk~;t<_Q2C>uOPTwk*+*yxl<`1>3D-c# zOq_CgX{|b>GGwBeTJT~NW8}7Qhf`YH?RwU$H{zS(e#C54MoWS%%)T~)ZFP4dSmTgX z0oVu)39D)%$$IrCgOHHL&SsR2Wh15_%A%hujQWrk2O70xPA8w`pJh2*Wej>b_a0s%tKbIvEFzUlk=H5OXFapEo4$?>Yc}j9p#daa1mPr`l zRWc2euWvLbOylCzPoLA>e&|x8$~+_QDHp`3G_U<+xp`6l*ZvPw66XZ~ literal 0 HcmV?d00001 diff --git a/templates/compose/healthchecks.yaml b/templates/compose/healthchecks.yaml new file mode 100644 index 000000000..b88c6ef40 --- /dev/null +++ b/templates/compose/healthchecks.yaml @@ -0,0 +1,32 @@ +# documentation: https://healthchecks.io/docs +# slogan: Healthchecks is a cron job monitoring service. It listens for HTTP requests and email messages from your cron jobs and scheduled tasks. +# category: monitoring +# tags: monitoring, status, performance, web, services, applications, real-time +# logo: svgs/healthchecks.webp +# port: 80000 + +services: + healthchecks: + image: "healthchecks/healthchecks:v4.2" + container_name: healthchecks + environment: + - SERVICE_URL_HEALTHCHECKS_8000 + - DB=sqlite + - DB_NAME=/data/hc.sqlite + - "REGISTRATION_OPEN=${REGISTRATION_OPEN:-True}" + - "DEBUG=${DEBUG:-False}" + - "SECRET_KEY=${SECRET_KEY:?${SERVICE_PASSWORD_64_HEALTHCHECKS}}" + - "SITE_ROOT=${SERVICE_URL_HEALTHCHECKS}" + - "DEFAULT_FROM_EMAIL=${DEFAULT_FROM_EMAIL:-fixme-email-address-here}" + - "EMAIL_HOST=${EMAIL_HOST:-my-smtp-server-here.com}" + - "EMAIL_PORT=${EMAIL_PORT:-465}" + - "EMAIL_HOST_USER=${EMAIL_HOST_USER:-my_username}" + - "EMAIL_HOST_PASSWORD=${EMAIL_HOST_PASSWORD:-mypassword}" + - "EMAIL_USE_SSL=${EMAIL_USE_SSL:-True}" + - "EMAIL_USE_TLS=${EMAIL_USE_TLS:-False}" + volumes: + - "healthchecks-data:/data" + restart: unless-stopped + +volumes: + healthchecks-data: null From aa4c229607048fe58c9e0ab41e1e28082d0c4b77 Mon Sep 17 00:00:00 2001 From: Victor Gomez Date: Thu, 21 May 2026 11:19:31 -0400 Subject: [PATCH 2/6] Ensure proper URL is being used in SITE_ROOT --- templates/compose/healthchecks.yaml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/templates/compose/healthchecks.yaml b/templates/compose/healthchecks.yaml index b88c6ef40..fd1168aaf 100644 --- a/templates/compose/healthchecks.yaml +++ b/templates/compose/healthchecks.yaml @@ -11,8 +11,10 @@ services: container_name: healthchecks environment: - SERVICE_URL_HEALTHCHECKS_8000 + - SERVICE_URL_HEALTHCHECKS - DB=sqlite - DB_NAME=/data/hc.sqlite + - "ALLOWED_HOSTS=${ALOWED_HOSTS:-*}" - "REGISTRATION_OPEN=${REGISTRATION_OPEN:-True}" - "DEBUG=${DEBUG:-False}" - "SECRET_KEY=${SECRET_KEY:?${SERVICE_PASSWORD_64_HEALTHCHECKS}}" From 85abbf2555eaf59b2aefe971253c3c2f4c403844 Mon Sep 17 00:00:00 2001 From: Victor Gomez <73703121+viticodotdev@users.noreply.github.com> Date: Thu, 21 May 2026 11:46:51 -0400 Subject: [PATCH 3/6] Update templates/compose/healthchecks.yaml Co-authored-by: ShadowArcanist <162910371+ShadowArcanist@users.noreply.github.com> --- templates/compose/healthchecks.yaml | 1 - 1 file changed, 1 deletion(-) diff --git a/templates/compose/healthchecks.yaml b/templates/compose/healthchecks.yaml index fd1168aaf..3de245ca2 100644 --- a/templates/compose/healthchecks.yaml +++ b/templates/compose/healthchecks.yaml @@ -11,7 +11,6 @@ services: container_name: healthchecks environment: - SERVICE_URL_HEALTHCHECKS_8000 - - SERVICE_URL_HEALTHCHECKS - DB=sqlite - DB_NAME=/data/hc.sqlite - "ALLOWED_HOSTS=${ALOWED_HOSTS:-*}" From 101926ca3577ac836e9cacdffbb9ff9ca52d42a4 Mon Sep 17 00:00:00 2001 From: Victor Gomez <73703121+viticodotdev@users.noreply.github.com> Date: Thu, 21 May 2026 11:47:04 -0400 Subject: [PATCH 4/6] Update templates/compose/healthchecks.yaml Co-authored-by: ShadowArcanist <162910371+ShadowArcanist@users.noreply.github.com> --- templates/compose/healthchecks.yaml | 2 -- 1 file changed, 2 deletions(-) diff --git a/templates/compose/healthchecks.yaml b/templates/compose/healthchecks.yaml index 3de245ca2..b6ff8cf4e 100644 --- a/templates/compose/healthchecks.yaml +++ b/templates/compose/healthchecks.yaml @@ -29,5 +29,3 @@ services: - "healthchecks-data:/data" restart: unless-stopped -volumes: - healthchecks-data: null From afe5a03aeb42dc268748e0334a202de026ffe84e Mon Sep 17 00:00:00 2001 From: Victor Gomez <73703121+viticodotdev@users.noreply.github.com> Date: Thu, 21 May 2026 11:47:21 -0400 Subject: [PATCH 5/6] Update templates/compose/healthchecks.yaml Co-authored-by: ShadowArcanist <162910371+ShadowArcanist@users.noreply.github.com> --- templates/compose/healthchecks.yaml | 1 - 1 file changed, 1 deletion(-) diff --git a/templates/compose/healthchecks.yaml b/templates/compose/healthchecks.yaml index b6ff8cf4e..15c284770 100644 --- a/templates/compose/healthchecks.yaml +++ b/templates/compose/healthchecks.yaml @@ -27,5 +27,4 @@ services: - "EMAIL_USE_TLS=${EMAIL_USE_TLS:-False}" volumes: - "healthchecks-data:/data" - restart: unless-stopped From 4ccec6b2101786fde966e2e8eed2ca27a21c9ea5 Mon Sep 17 00:00:00 2001 From: Victor Gomez <73703121+viticodotdev@users.noreply.github.com> Date: Mon, 25 May 2026 13:06:59 -0400 Subject: [PATCH 6/6] Fix typo in ALLOWED_HOSTS environment variable --- templates/compose/healthchecks.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/templates/compose/healthchecks.yaml b/templates/compose/healthchecks.yaml index 15c284770..246fabb7b 100644 --- a/templates/compose/healthchecks.yaml +++ b/templates/compose/healthchecks.yaml @@ -13,7 +13,7 @@ services: - SERVICE_URL_HEALTHCHECKS_8000 - DB=sqlite - DB_NAME=/data/hc.sqlite - - "ALLOWED_HOSTS=${ALOWED_HOSTS:-*}" + - "ALLOWED_HOSTS=${ALLOWED_HOSTS:-*}" - "REGISTRATION_OPEN=${REGISTRATION_OPEN:-True}" - "DEBUG=${DEBUG:-False}" - "SECRET_KEY=${SECRET_KEY:?${SERVICE_PASSWORD_64_HEALTHCHECKS}}"