| FROM python:3.11-slim | |
| ENV PYTHONUNBUFFERED=1 | |
| ENV PIP_NO_CACHE_DIR=1 | |
| WORKDIR /app | |
| RUN apt-get update && apt-get install -y --no-install-recommends \ | |
| build-essential \ | |
| curl \ | |
| && rm -rf /var/lib/apt/lists/* | |
| COPY requirements.txt . | |
| RUN pip install --upgrade pip && pip install -r requirements.txt | |
| # Wichtig: ALLES rein kopieren | |
| COPY . . | |
| ENV CHROMA_PERSIST_DIR=/data | |
| # Alle Korpora im Persist-Verzeichnis. Ohne CHROMA_COLLECTIONS laeuft die App im | |
| # Einzelkorpus-Betrieb und findet nur rv129 (SGB V, AMAbrV, AM-RL fehlen). | |
| ENV CHROMA_COLLECTIONS=rv129,sgb5,amabrv,amrl | |
| ENV CHROMA_COLLECTION=rv129 | |
| ENV DEFAULT_CONTAINER_ID=Vertrag | |
| # Vertragswerk wie rv129, daher "Vertrag"-Container (das SGB V hat keinen). | |
| ENV CORPUS_CONTAINER__amabrv=Vertrag | |
| # Richtlinie statt Vertragswerk: der Ingest legt die §§ in "Richtlinie". | |
| ENV CORPUS_CONTAINER__amrl=Richtlinie | |
| EXPOSE 7860 | |
| CMD ["uvicorn", "src.app:app", "--host", "0.0.0.0", "--port", "7860"] |