diff --git a/docker/Dockerfile b/docker/Dockerfile new file mode 100644 index 0000000..5d8f94c --- /dev/null +++ b/docker/Dockerfile @@ -0,0 +1,27 @@ +FROM python:3.8-slim + +WORKDIR /app + +# System-Abhängigkeiten installieren (falls nötig) +RUN apt-get update && apt-get install -y --no-install-recommends \ + build-essential \ + && rm -rf /var/lib/apt/lists/* + +# Pip-Requirements mit vertrauenswürdigen PyPI-Hosts installieren +COPY requirements.txt . +RUN pip install --no-cache-dir \ + --trusted-host pypi.org \ + --trusted-host pypi.python.org \ + --trusted-host files.pythonhosted.org \ + -r requirements.txt + +# Quellcode kopieren +COPY src/ /app/src/ + +# Python-Pfad setzen, damit Imports wie `from endpoint_compare import ...` funktionieren +ENV PYTHONPATH=/app/src/API:/app/src + +EXPOSE 8000 + +# Standard-Startbefehl +CMD ["uvicorn", "fastAPI:app", "--host", "0.0.0.0", "--port", "8000"] diff --git a/docker/docker-compose.yml b/docker/docker-compose.yml new file mode 100644 index 0000000..3075b4a --- /dev/null +++ b/docker/docker-compose.yml @@ -0,0 +1,19 @@ +version: '3.8' + +services: + sap-api-service: + build: + context: .. + dockerfile: docker/Dockerfile + container_name: sap_endpoint_api + ports: + - "8000:8000" + environment: + - PYTHONUNBUFFERED=1 + - PYTHONPATH=/app/src/API:/app/src + volumes: + # Code-Mounting für Hot-Reloading während der Entwicklung + - ../src:/app/src + - ./logs:/app/logs + command: uvicorn fastAPI:app --host 0.0.0.0 --port 8000 --reload + restart: unless-stopped