Ask-PDFi / Dockerfile
EXOSHIVA's picture
fix(docker): replace CPU wheel with official CUDA wheel for GPU inference
3cbdf5b verified
Raw
History Blame Contribute Delete
1.59 kB
FROM python:3.10-slim
WORKDIR /app
# --- SYSTEM-ABHÄNGIGKEITEN ---
# Wir installieren die Werkzeuge sicherheitshalber mit (für evtl. Linking),
# aber WICHTIG: Wir kompilieren das LLM nicht selbst, um den Timeout zu verhindern!
RUN apt-get update && apt-get install -y --no-install-recommends \
curl gcc g++ make cmake libopenblas-dev \
&& rm -rf /var/lib/apt/lists/*
# String ändern, um den Docker-Cache gezielt zu invalidieren.
ENV CACHE_BUSTER="2026-03-18_v2_GPU"
# --- VOLUMES & CACHE ---
ENV MODEL_CACHE_DIR="/app/models"
ENV HF_HOME="/app/models"
# --- DER TIMEOUT-KILLER ---
# Wir installieren das schwere llama-cpp-python Paket direkt als fertiges Wheel.
# Das dauert nur Sekunden und verhindert den 45-Minuten-Absturz.
RUN pip install --no-cache-dir llama-cpp-python \
--extra-index-url https://abetlen.github.io/llama-cpp-python/whl/cu121
# 1. ZUERST nur die requirements.txt kopieren
COPY requirements.txt ./
# 2. PIP upgraden und restliche Pakete installieren
RUN pip install --upgrade pip setuptools wheel
RUN pip install --no-cache-dir -r requirements.txt
# 3. ERST DANACH den restlichen Code kopieren
COPY src/ ./src/
COPY assets/ ./assets/
COPY .streamlit .streamlit
# Streamlit-Theme
ENV STREAMLIT_THEME_PRIMARY_COLOR="#FF6600"
ENV STREAMLIT_THEME_BACKGROUND_COLOR="#0E1117"
ENV STREAMLIT_THEME_SECONDARY_BACKGROUND_COLOR="#262730"
ENV STREAMLIT_THEME_TEXT_COLOR="#FAFAFA"
EXPOSE 8501
HEALTHCHECK CMD curl --fail http://localhost:8501/_stcore/health
ENTRYPOINT ["streamlit", "run", "src/app.py", "--server.port=7860", "--server.address=0.0.0.0"]