| FROM python:3.10-slim |
|
|
| ENV DEBIAN_FRONTEND=noninteractive \ |
| PYTHONDONTWRITEBYTECODE=1 \ |
| PYTHONUNBUFFERED=1 \ |
| CONFIG_FILE=/app/conf.yaml |
|
|
| |
| RUN apt-get update && apt-get install -y --no-install-recommends \ |
| ffmpeg git git-lfs curl ca-certificates \ |
| nodejs npm \ |
| && rm -rf /var/lib/apt/lists/* && git lfs install |
|
|
| |
| |
|
|
| COPY --from=ghcr.io/astral-sh/uv:latest /uv /uvx /usr/local/bin/ |
|
|
| WORKDIR /app |
|
|
| |
| COPY . /app |
| COPY mcp_servers.json /app/ |
| COPY local_tools.py /app/ |
|
|
| |
| RUN mkdir -p /app/frontend/live2d-models \ |
| /app/frontend/backgrounds \ |
| /app/frontend/music |
|
|
| RUN git clone https://huggingface.co/datasets/NopePrime/Open-LLM-Dataset /tmp/assets && \ |
| cp -r /tmp/assets/live2d-models/* /app/frontend/live2d-models/ && \ |
| cp -r /tmp/assets/backgrounds/* /app/frontend/backgrounds/ && \ |
| cp -r /tmp/assets/music/* /app/frontend/music/ || true && \ |
| rm -rf /tmp/assets |
|
|
| |
| RUN uv pip install --system . |
|
|
| |
| RUN useradd -m -u 1000 user || true && \ |
| chown -R user:user /app && \ |
| chmod -R 775 /app |
|
|
| USER user |
| EXPOSE 7860 |
| CMD ["python", "run_server.py"] |