From 58b8cf3bdc0940f56eb624c48ff42f93bf924f00 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Maciej=20P=C4=99dzich?= Date: Thu, 15 Jan 2026 09:41:02 +0100 Subject: [PATCH] Add healthcheck --- Dockerfile | 11 +++++++++-- index.mjs | 5 +++++ 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/Dockerfile b/Dockerfile index 39030d4..6bb9351 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,8 +1,15 @@ FROM node:lts-alpine USER node WORKDIR /app -ENV NODE_ENV production -ENV TZ Europe/Warsaw +ENV NODE_ENV=production +ENV TZ=Europe/Warsaw COPY --chown=node:node index.mjs ./ EXPOSE 3000 CMD ["node", "./index.mjs"] + +HEALTHCHECK \ + --interval=10s \ + --timeout=5s \ + --start-period=3s \ + --retries=3 \ + CMD ["wget", "http://localhost/health", "-O", "/dev/null", "-q"] diff --git a/index.mjs b/index.mjs index e1eb0c2..469ff20 100644 --- a/index.mjs +++ b/index.mjs @@ -15,6 +15,11 @@ const server = createServer((req, res) => { const host = req.headers['x-forwarded-host']; const endpoint = `${req.method} ${req.url}`; + if (endpoint === 'GET /health') { + res.statusCode = 200; + return res.end('OK\n'); + } + console.log( `[${dateText}] ${scannerIP} (${userAgent}) targeted ${host} on ${endpoint}` );