FROM node:20-slim AS frontend WORKDIR /app/frontend COPY frontend/package*.json ./ RUN npm install COPY frontend/ ./ RUN npm run build FROM python:3.11-slim ENV PYTHONDONTWRITEBYTECODE=1 ENV PYTHONUNBUFFERED=1 ENV PORT=7860 WORKDIR /app RUN apt-get update \ && apt-get install -y --no-install-recommends libgl1 libglib2.0-0 \ && rm -rf /var/lib/apt/lists/* COPY requirements.txt . RUN python -m pip install --no-cache-dir --upgrade pip \ && python -m pip install --no-cache-dir -r requirements.txt COPY . . COPY --from=frontend /app/frontend/dist ./frontend/dist CMD ["sh", "-c", "uvicorn backend.app.main:app --host 0.0.0.0 --port ${PORT:-7860}"]