FROM node:22-bookworm-slim AS base WORKDIR /app COPY --chown=node:node package.json server.mjs ./ COPY --chown=node:node public ./public RUN mkdir /app/data && chown node:node /app/data FROM base AS test COPY --chown=node:node auth.test.mjs ./ USER node RUN npm test FROM base AS runtime USER node ENV PORT=3080 DATA_DIR=/app/data EXPOSE 3080 CMD ["npm", "start"]