FROM node:22-alpine
ENV NODE_ENV=production
WORKDIR /app
COPY package.json package-lock.json ./
RUN npm ci --omit=dev --no-audit --no-fund
COPY src ./src
# Writable dirs for the log file and the file-backed "database" (named volumes inherit this owner).
RUN mkdir -p /var/log/app /data && chown node:node /var/log/app /data
USER node
EXPOSE 3000
CMD ["node", "src/index.js"]
