diff --git a/backend/Dockerfile b/backend/Dockerfile index 807ef2ce..9d0c1e09 100644 --- a/backend/Dockerfile +++ b/backend/Dockerfile @@ -29,6 +29,10 @@ RUN npm run build # NOTE: Has to be alpine3.16 because newer versions have changed a dependency, causing Prisma to fail FROM node:20-alpine3.16 AS node-run +# healthcheck needs this +USER root +RUN apk --no-cache add curl + # following mkdir needs root (for some reason) RUN mkdir -p /usr/src/app/backend/prisma RUN chown node:node /usr/src/app -R diff --git a/backend/src/routes/test.ts b/backend/src/routes/test.ts index 05b0a1a7..270fd5a5 100644 --- a/backend/src/routes/test.ts +++ b/backend/src/routes/test.ts @@ -7,4 +7,8 @@ router.get('/create-test-users', async (_req, res) => { res.status(200).send() }) +router.get("/ping", async (_req, res) => { + return res.status(200).send() +}) + export default router diff --git a/docker-compose.anon.yml b/docker-compose.anon.yml index fbf19515..7f17cf0e 100644 --- a/docker-compose.anon.yml +++ b/docker-compose.anon.yml @@ -19,6 +19,13 @@ services: build: context: . dockerfile: ./backend/Dockerfile + target: node-run + healthcheck: + test: curl -f http://localhost:4000/test/ping || exit 1 + start_period: 10s + interval: 30s + retries: 3 + timeout: 15s db-anon: container_name: nowdb-db-anon