FROM node:20-slim AS frontend WORKDIR /frontend COPY frontend/package.json frontend/package-lock.json* ./ RUN npm install COPY frontend/ ./ RUN npm run build FROM python:3.11-slim WORKDIR /app RUN mkdir -p /data/loop_logger COPY requirements.txt . RUN pip install --no-cache-dir -r requirements.txt COPY . . COPY --from=frontend /static ./static ENV PYTHONUNBUFFERED=1 CMD uvicorn app.main:app --host 0.0.0.0 --port ${PORT:-7860}