| FROM node:20-alpine AS build | |
| WORKDIR /frontend | |
| COPY frontend/package.json frontend/package-lock.json ./ | |
| RUN npm ci | |
| COPY frontend/public/ public/ | |
| COPY frontend/src/ src/ | |
| RUN npm run build | |
| FROM --platform=linux/amd64 ghcr.io/astral-sh/uv:python3.12-bookworm | |
| RUN useradd -m -u 1000 user | |
| ENV HOME=/home/user \ | |
| PATH=/home/user/.local/bin:$PATH \ | |
| UV_CACHE_DIR=/home/user/.cache/uv | |
| RUN mkdir -p ${UV_CACHE_DIR} && chown -R user:user ${HOME} | |
| USER user | |
| WORKDIR $HOME/app | |
| COPY --chown=user pyproject.toml uv.lock ./ | |
| RUN uv sync --frozen --no-dev | |
| COPY --chown=user evals/ evals/ | |
| COPY --chown=user --from=build /frontend/build /home/user/app/frontend/build | |
| COPY --chown=user results.json datasets.json models.json languages.json ./ | |
| EXPOSE 8000 | |
| CMD ["uv", "run", "--no-dev", "evals/backend.py"] | |