FROM node:20-alpine AS client-builder WORKDIR /app/client COPY client/package*.json ./ RUN npm install COPY client/ ./ RUN npm run build FROM node:20-alpine WORKDIR /app COPY package*.json ./ RUN npm install --omit=dev COPY src/ ./src/ COPY --from=client-builder /app/client/dist ./client/dist ENV PORT=3001 ENV HOST=0.0.0.0 ENV DATA_DIR=/data VOLUME ["/data"] EXPOSE 3001 CMD ["node", "src/server.js"]