|
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 ./ |
|
EXPOSE 8000 |
|
CMD ["uv", "run", "--no-dev", "evals/backend.py"] |
|
|