# Combined Frontend + Backend Dockerfile # Multi-stage build FROM node:20-slim AS frontend-build WORKDIR /app/frontend COPY client/kb-frontend/package*.json ./ RUN npm ci COPY client/kb-frontend ./ RUN npm run build FROM node:20-slim RUN apt-get update && apt-get install -y \ python3 \ make \ g++ \ && rm -rf /var/lib/apt/lists/* WORKDIR /app COPY server/package*.json ./ RUN npm ci --only=production COPY server/ ./ COPY --from=frontend-build /app/frontend/dist ./frontend/dist RUN mkdir -p /app/media EXPOSE 9000 CMD ["node", "server.js"]