# The base arrives pinned from module.json's build.on (node 22.23.2 on alpine 3.24, the image
# the running deployment was built from); the mesh builds this image from this repository and
# a commit (novox/hq ADR 0069). The build context is the repository root.
ARG NODE_BASE
FROM ${NODE_BASE}

WORKDIR /app

COPY package.json package-lock.json ./
RUN npm ci --omit=dev

COPY server.mjs ./

EXPOSE 3000

CMD ["node", "server.mjs"]
