FROM node:24-bookworm-slim
WORKDIR /app
COPY package*.json ./
RUN npm ci --omit=dev --include=optional
COPY src ./src
COPY app.cjs ./app.cjs
COPY scripts ./scripts
COPY migrations ./migrations
COPY docs ./docs
COPY assets ./assets
RUN mkdir -p /app/uploads && chown node:node /app/uploads
USER node
ENV NODE_ENV=production HOST=0.0.0.0 PORT=3000
EXPOSE 3000
CMD ["node", "src/server.js"]
