Browse Source

ci: add healthcheck script

Signed-off-by: rare-magma <rare-magma@posteo.eu>
pull/3614/head
rare-magma 1 year ago
parent
commit
422a3ee9c2
Failed to extract signature
  1. 2
      Dockerfile
  2. 25
      docker/healthcheck.js

2
Dockerfile

@ -61,6 +61,8 @@ RUN apt update && apt install -y \
COPY --from=builder /ghostfolio/dist/apps /ghostfolio/apps COPY --from=builder /ghostfolio/dist/apps /ghostfolio/apps
COPY ./docker/entrypoint.sh /ghostfolio/entrypoint.sh COPY ./docker/entrypoint.sh /ghostfolio/entrypoint.sh
COPY ./docker/healthcheck.js /ghostfolio/healthcheck.js
WORKDIR /ghostfolio/apps/api WORKDIR /ghostfolio/apps/api
EXPOSE ${PORT:-3333} EXPOSE ${PORT:-3333}
CMD [ "/ghostfolio/entrypoint.sh" ] CMD [ "/ghostfolio/entrypoint.sh" ]
HEALTHCHECK --interval=15s --timeout=5s --start-period=2s --retries=3 CMD [ "node", "/ghostfolio/healthcheck.js" ]

25
docker/healthcheck.js

@ -0,0 +1,25 @@
import { request } from "node:http";
const options = {
host : "localhost",
path: "/api/v1/health",
port : "3333",
timeout : 2000
};
const healthCheck = request(options, (res) => {
if (res.statusCode === 200) {
process.exit(0);
}
else {
console.error(res.statusMessage)
process.exit(1);
}
});
healthCheck.on('error', (err) => {
console.error(err);
process.exit(1);
});
healthCheck.end();
Loading…
Cancel
Save