File size: 1,190 Bytes
f291c90
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
e1dc207
f291c90
 
 
 
70d4090
f291c90
 
 
 
 
 
 
 
 
70d4090
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
# Hugging Face Spaces — Streamlit dashboard only.
# HF Spaces run containers as UID 1000 on port 7860.
FROM python:3.12-slim

# System deps: git is needed by GitPython for the rare in-process trigger path.
RUN apt-get update && apt-get install -y --no-install-recommends \
        git ca-certificates \
    && rm -rf /var/lib/apt/lists/*

# Create the user HF will switch to at runtime.
RUN useradd -m -u 1000 user
WORKDIR /home/user/app

# Install Python deps first (cache-friendly).
COPY --chown=user pyproject.toml README.md ./
COPY --chown=user src ./src
RUN pip install --no-cache-dir --upgrade pip \
 && pip install --no-cache-dir -e ".[dashboard,webhook,anthropic,openai,ollama,google,groq]"

USER user
ENV HOME=/home/user \
    PATH=/home/user/.local/bin:$PATH \
    PYTHONPATH=/home/user/app/src \
    PYTHONUNBUFFERED=1 \
    STREAMLIT_SERVER_HEADLESS=true \
    STREAMLIT_BROWSER_GATHER_USAGE_STATS=false

EXPOSE 7860

# HF routes public traffic to app_port (7860). The dashboard reads
# DEEPAGENT_API_URL from the env (set in Space Settings → Variables).
CMD ["streamlit", "run", "src/gh_deepagent/dashboard/app.py", \
     "--server.address=0.0.0.0", "--server.port=7860"]