FROM node:22-bookworm-slim AS ui WORKDIR /ui COPY frontend/package.json frontend/package-lock.json ./ RUN npm ci COPY frontend ./ RUN npm run build FROM nvidia/cuda:13.3.0-runtime-ubuntu24.04 ENV PYTHONUNBUFFERED=1 \ ELY_EYE_HOME=/data/ely-eye \ ELY_EYE_RUNTIME_BACKEND=sglang \ ELY_EYE_SGLANG_BASE_URL=http://127.0.0.1:8000/v1 \ ELY_EYE_UI_DIR=/srv/ely-eye/ui WORKDIR /app RUN apt-get update \ && apt-get install -y --no-install-recommends python3.12 python3.12-venv python3-pip ffmpeg \ && rm -rf /var/lib/apt/lists/* COPY backend ./backend COPY README.md ./ RUN python3.12 -m venv /opt/ely-eye \ && /opt/ely-eye/bin/pip install --upgrade pip setuptools wheel \ && /opt/ely-eye/bin/pip install ./backend COPY --from=ui /ui/dist /srv/ely-eye/ui EXPOSE 8765 CMD ["/opt/ely-eye/bin/ely-eye", "serve", "--host", "0.0.0.0", "--port", "8765"]