From b3dc56067226da24dc01327e41068748c3330826 Mon Sep 17 00:00:00 2001
From: Erik Michelson <github@erik.michelson.eu>
Date: Tue, 7 Mar 2023 15:52:55 +0100
Subject: [PATCH] feat(healthcheck): use /_health endpoint and decrease
 interval

Signed-off-by: Erik Michelson <github@erik.michelson.eu>
---
 alpine/Dockerfile         | 2 +-
 debian/Dockerfile         | 2 +-
 resources/healthcheck.mjs | 7 ++++++-
 3 files changed, 8 insertions(+), 3 deletions(-)

diff --git a/alpine/Dockerfile b/alpine/Dockerfile
index 34196ab..f3fae6d 100644
--- a/alpine/Dockerfile
+++ b/alpine/Dockerfile
@@ -39,7 +39,7 @@ COPY ["resources/config.json", "/files/"]
 
 # Healthcheck
 COPY --chown=$UID /resources/healthcheck.mjs /hedgedoc/healthcheck.mjs
-HEALTHCHECK --interval=5s CMD node healthcheck.mjs
+HEALTHCHECK --interval=15s CMD node healthcheck.mjs
 
 # For backwards compatibility
 RUN ln -s /hedgedoc /codimd
diff --git a/debian/Dockerfile b/debian/Dockerfile
index d73eed7..ea84cd7 100644
--- a/debian/Dockerfile
+++ b/debian/Dockerfile
@@ -43,7 +43,7 @@ COPY ["resources/config.json", "/files/"]
 
 # Healthcheck
 COPY --chown=$UID /resources/healthcheck.mjs /hedgedoc/healthcheck.mjs
-HEALTHCHECK --interval=5s CMD node healthcheck.mjs
+HEALTHCHECK --interval=15s CMD node healthcheck.mjs
 
 # For backwards compatibility
 RUN ln -s /hedgedoc /codimd
diff --git a/resources/healthcheck.mjs b/resources/healthcheck.mjs
index 6837156..31ed206 100644
--- a/resources/healthcheck.mjs
+++ b/resources/healthcheck.mjs
@@ -5,10 +5,15 @@ setTimeout(() => {
     process.exit(1)
 }, 5000)
 
-fetch(`http://localhost:${process.env.CMD_PORT || '3000' }/status`, {headers: { "user-agent": "hedgedoc-container-healthcheck/1.0"}}).then((response) => {
+fetch(`http://localhost:${process.env.CMD_PORT || '3000' }/_health`, {headers: { "user-agent": "hedgedoc-container-healthcheck/1.1"}}).then((response) => {
     if (!response.ok) {
         process.exit(1)
     }
+    return response.json()
+}).then((data) => {
+    if (!data.ready) {
+        process.exit(1)
+    }
     process.exit(0)
 }).catch(() => {
     process.exit(1)
-- 
GitLab