agentqq / Dockerfile
madDegen's picture
fix: use USER 1000 (numeric), ubuntu uid clash
5fb98f8 verified
# ─────────────────────────────────────────────────────────────
# Agent Q-Q (Agent Q-QAJAQS) — QLAWED-Q HF Space v3.2
# SDK: Docker | Public Port: 7860 (Ollama direct)
#
# Uses official ollama/ollama base — Ollama pre-installed, no
# install script needed. Much faster build.
#
# Endpoints at :7860:
# POST /v1/chat/completions (OpenAI-compatible)
# POST /api/generate (Ollama native)
# GET /api/tags
# GET /v1/models
# ─────────────────────────────────────────────────────────────
FROM ollama/ollama:latest
# ── System extras ─────────────────────────────────────────────
RUN apt-get update && apt-get install -y curl && rm -rf /var/lib/apt/lists/*
# ── HF Spaces: must run as uid 1000 ──────────────────────────
# Ubuntu 22.04 already has uid 1000 (user: ubuntu).
# Create /home/user dir and alias if needed, then switch by UID.
RUN mkdir -p /home/user && \
(id -u 1000 > /dev/null 2>&1 || useradd -m -u 1000 user) && \
chown 1000:1000 /home/user
USER 1000
# ── Environment ───────────────────────────────────────────────
ENV OLLAMA_MODELS=/home/user/.ollama/models
ENV OLLAMA_HOST=0.0.0.0:7860
ENV OLLAMA_KEEP_ALIVE=10m
ENV OLLAMA_NUM_PARALLEL=2
ENV HOME=/home/user
ENV PATH=/home/user/.local/bin:/usr/local/bin:/usr/bin:/bin:$PATH
WORKDIR /home/user
# ── Copy startup script ───────────────────────────────────────
COPY --chown=1000 startup.sh /home/user/startup.sh
RUN chmod +x /home/user/startup.sh
# ── Public port: Ollama API ───────────────────────────────────
EXPOSE 7860
CMD ["/home/user/startup.sh"]