| FROM node:18-bullseye AS frontend-build |
| WORKDIR /app/frontend |
| COPY frontend/package.json . |
| RUN npm install |
| COPY frontend/ . |
| RUN mkdir -p public |
| RUN npm run build |
|
|
| FROM python:3.10-slim |
| RUN apt-get update && apt-get install -y --no-install-recommends \ |
| nodejs npm curl \ |
| && rm -rf /var/lib/apt/lists/* |
| WORKDIR /app |
| COPY backend/requirements.txt ./backend/ |
| RUN pip install --no-cache-dir -r backend/requirements.txt |
| COPY --from=frontend-build /app/frontend/.next ./frontend/.next |
| COPY --from=frontend-build /app/frontend/public ./frontend/public |
| COPY --from=frontend-build /app/frontend/package.json ./frontend/ |
| COPY --from=frontend-build /app/frontend/node_modules ./frontend/node_modules |
| COPY --from=frontend-build /app/frontend/server.js ./frontend/ |
| COPY --from=frontend-build /app/frontend/next.config.js ./frontend/ |
| COPY --from=frontend-build /app/frontend/next-i18next.config.js ./frontend/ |
| COPY --from=frontend-build /app/frontend/locales ./frontend/locales |
| COPY backend/ ./backend/ |
| COPY config/ ./config/ |
| COPY run.sh . |
| RUN chmod +x run.sh |
|
|
| |
| RUN mkdir -p /app/data/datasets /app/data/output /app/data/hf_cache /app/data/civitai_cache |
|
|
| ENV NODE_ENV=production |
| EXPOSE 7860 |
| CMD ["./run.sh"] |