File size: 2,201 Bytes
fdb2c4a
b7d860d
a8bb2ab
fdb2c4a
b7d860d
 
fdb2c4a
a8bb2ab
b7d860d
a8bb2ab
b7d860d
fdb2c4a
 
 
b7d860d
fdb2c4a
b7d860d
 
fdb2c4a
5fb98f8
 
 
 
 
 
 
fdb2c4a
 
 
a8bb2ab
 
 
fdb2c4a
b7d860d
fdb2c4a
 
 
a8bb2ab
5fb98f8
fdb2c4a
 
a8bb2ab
fdb2c4a
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
# ─────────────────────────────────────────────────────────────
# 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"]