Spaces:
Paused
Paused
| # Stage 1: Build React client | |
| FROM node:20-alpine AS client-build | |
| WORKDIR /app/client | |
| COPY client/package.json client/package-lock.json* ./ | |
| RUN npm install | |
| COPY client/ ./ | |
| RUN npm run build | |
| # Stage 2: Production server | |
| FROM node:20-alpine | |
| WORKDIR /app/server | |
| COPY server/package.json server/package-lock.json* ./ | |
| RUN npm install --omit=dev | |
| COPY server/ ./ | |
| COPY --from=client-build /app/client/dist /app/client/dist | |
| EXPOSE 7860 | |
| CMD ["node", "index.js"] | |