diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 0000000..4668622 --- /dev/null +++ b/.dockerignore @@ -0,0 +1,4 @@ +node_modules +.git +.env +webapp/node_modules diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..3617158 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,16 @@ +FROM node:22-alpine + +WORKDIR /app + +COPY webapp/package.json webapp/package-lock.json ./ +RUN npm ci --omit=dev + +COPY webapp/src ./src + +ENV NODE_ENV=production +EXPOSE 3000 + +HEALTHCHECK --interval=30s --timeout=3s --start-period=5s \ + CMD wget --no-verbose --tries=1 --spider http://localhost:3000/health || exit 1 + +CMD ["node", "src/server.js"]