From ec94fe899b79689d62c22c5846940dd3297d9867 Mon Sep 17 00:00:00 2001 From: Jean-Luc Makiola Date: Mon, 4 May 2026 22:46:36 +0200 Subject: [PATCH] chore: dockerfile und compose-beispiel --- docker-compose.yml | 29 +++++++++++++++++++++++++++++ docker/Dockerfile | 24 ++++++++++++++++++++++++ 2 files changed, 53 insertions(+) create mode 100644 docker-compose.yml create mode 100644 docker/Dockerfile diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..2221bf3 --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,29 @@ +services: + ingestor: + build: + context: . + dockerfile: docker/Dockerfile + env_file: .env + ports: + - "8000:8000" + depends_on: + - qdrant + - ollama + + qdrant: + image: qdrant/qdrant:latest + ports: + - "6333:6333" + volumes: + - qdrant_data:/qdrant/storage + + ollama: + image: ollama/ollama:latest + ports: + - "11434:11434" + volumes: + - ollama_data:/root/.ollama + +volumes: + qdrant_data: + ollama_data: diff --git a/docker/Dockerfile b/docker/Dockerfile new file mode 100644 index 0000000..f08e2aa --- /dev/null +++ b/docker/Dockerfile @@ -0,0 +1,24 @@ +FROM python:3.12-slim AS builder + +RUN pip install --no-cache-dir uv + +WORKDIR /app +COPY pyproject.toml uv.lock* ./ +RUN uv sync --frozen --no-dev --no-install-project || uv sync --no-dev --no-install-project + +COPY app ./app +RUN uv sync --frozen --no-dev || uv sync --no-dev + + +FROM python:3.12-slim + +WORKDIR /app +COPY --from=builder /app/.venv /app/.venv +COPY --from=builder /app/app /app/app + +ENV PATH="/app/.venv/bin:$PATH" +ENV PYTHONUNBUFFERED=1 + +EXPOSE 8000 + +CMD ["uvicorn", "app.main:app", "--host", "0.0.0.0", "--port", "8000"]