FROM node:22-bookworm-slim # tzdata lets the TZ env var control what counts as "today" when logging a dose RUN apt-get update \ && apt-get install -y --no-install-recommends tzdata \ && rm -rf /var/lib/apt/lists/* WORKDIR /app ENV NODE_ENV=production PORT=3000 DATA_DIR=/data COPY package.json package-lock.json ./ COPY scripts ./scripts RUN npm ci --omit=dev COPY server ./server COPY public ./public EXPOSE 3000 VOLUME ["/data"] CMD ["node", "server/index.js"]