Bahn: aisupport, Analyse-O2C-C2S, awesome-bahn-mcp-servers, beam-mcp,
Confluence_Bot, db-planet-mcp-server, O2C-Harness, project-audit,
Projekt-KIQ-HP, teamlandkarte-mcp
Dhive: Jury-Voting
Privat: CV, NoteGraph (NOTE: NoteGraph needs complete redo after consolidation)
Shared: AI-Orchestrator, OrgMyLife, power_skills_and_more
Shared/references: symphony (read-only)
Bahn repos remain available as independent remotes - this monorepo
pulls them in via subtree, the originals are untouched.
34 lines
932 B
Docker
34 lines
932 B
Docker
FROM python:3.11-slim
|
|
|
|
# Install system dependencies for OCR
|
|
RUN apt-get update && apt-get install -y --no-install-recommends \
|
|
tesseract-ocr \
|
|
tesseract-ocr-deu \
|
|
git \
|
|
&& rm -rf /var/lib/apt/lists/*
|
|
|
|
WORKDIR /app
|
|
|
|
# Copy pyproject.toml first for dependency caching
|
|
COPY pyproject.toml .
|
|
|
|
# Install dependencies only (not the package itself yet)
|
|
RUN pip install --no-cache-dir \
|
|
click watchdog pytesseract pdfplumber python-docx litellm httpx \
|
|
pydantic pydantic-settings fastapi uvicorn python-multipart pyyaml python-slugify
|
|
|
|
# Copy source code into /app/ingestion/ so imports work
|
|
COPY . /app/ingestion/
|
|
|
|
# Set PYTHONPATH so "import ingestion" resolves to /app/ingestion/
|
|
ENV PYTHONPATH=/app
|
|
|
|
# Create inbox directory
|
|
RUN mkdir -p /app/inbox
|
|
|
|
# Expose upload server port
|
|
EXPOSE 8001
|
|
|
|
# Default: run the upload web server
|
|
CMD ["uvicorn", "ingestion.web.upload:app", "--host", "0.0.0.0", "--port", "8001"]
|