| 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"] |