FROM node:22-bookworm-slim AS frontend-build WORKDIR /app/frontend COPY frontend/package.json frontend/package-lock.json* ./ RUN npm install COPY frontend/ ./ RUN npm run build FROM python:3.12-slim-bookworm WORKDIR /app COPY . /app ARG DEBIAN_MIRROR=https://ftp.us.debian.org/debian ARG DEBIAN_SECURITY_MIRROR=https://security.debian.org/debian-security ENV DEBIAN_MIRROR=${DEBIAN_MIRROR} ENV DEBIAN_SECURITY_MIRROR=${DEBIAN_SECURITY_MIRROR} ENV PYTHONUNBUFFERED=1 ENV TOPOBENCH_FRONTEND_DIST=/app/frontend/dist RUN bash scripts/install.sh COPY --from=frontend-build /app/frontend/dist /app/frontend/dist EXPOSE 7860 CMD ["uvicorn", "space_app.main:app", "--host", "0.0.0.0", "--port", "7860"]