FROM node:24-bookworm-slim AS build
WORKDIR /app
COPY package*.json ./
RUN npm ci
COPY . .
RUN npm run build

FROM node:24-bookworm-slim
WORKDIR /app
ENV NODE_ENV=production HOST=0.0.0.0 DATABASE_PATH=/data/wp-pulse.sqlite BACKUP_DIR=/backups
COPY --from=build --chown=node:node /app/package*.json ./
RUN npm ci --omit=dev && mkdir -p /data /backups && chown node:node /data /backups
COPY --from=build --chown=node:node /app/server.js ./server.js
COPY --from=build --chown=node:node /app/dist ./dist
COPY --from=build --chown=node:node /app/backend ./backend
COPY --from=build --chown=node:node /app/src/types.ts ./src/types.ts
COPY --from=build --chown=node:node /app/scripts ./scripts
USER node
EXPOSE 3000
VOLUME ["/data", "/backups"]
CMD ["node", "server.js"]
