blob: 8dad65e513ff00b13f74bdfe274f0f0c28f59740 [file]
FROM python:3.12-slim
COPY --from=ghcr.io/astral-sh/uv:latest /uv /bin/uv
WORKDIR /app
COPY pyproject.toml uv.lock README.md main.py ./
COPY config.yaml.example litellm.yaml.example model_list.yaml.example ./
COPY pages.py api.py ./
COPY llmao/ ./llmao/
COPY templates/ ./templates/
COPY static/ ./static/
RUN uv sync --frozen --no-dev --no-editable \
&& cp config.yaml.example config.yaml \
&& cp litellm.yaml.example litellm.yaml \
&& cp model_list.yaml.example model_list.yaml
ENV PATH="/app/.venv/bin:$PATH"
EXPOSE 8443
# Mount real config.yaml, litellm.yaml, model_list.yaml in production (eyaml secrets).
# Hypercorn: python -m hypercorn main:llmao_app
CMD ["python", "main.py"]