From a1d8e91cbc8772875bcd00e0c7ea9d0108b9d6db54d40b63b33052123639b8ca Mon Sep 17 00:00:00 2001 From: wlfb Date: Fri, 17 Jul 2026 19:26:15 +0200 Subject: [PATCH] feat: Containerfile und Entrypoint MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Basis-Image docker.io/library/python:3.12.11-slim wie im Brief gepinnt (Tag existiert auf Docker Hub, kein Patch-Bump nötig, verifiziert via podman pull). Zusätzlich finance/.containerignore ergänzt (.venv/, tests/, .env, *.sqlite, inbox/, uploads/), da der Build-Kontext sonst echte Bank-PDFs aus tests/fixtures/ sowie die ~150MB .venv/ in den Container-Build einschleusen würde. Co-Authored-By: Claude Fable 5 --- finance/.containerignore | 6 ++++++ finance/Containerfile | 12 ++++++++++++ finance/entrypoint.sh | 4 ++++ 3 files changed, 22 insertions(+) create mode 100644 finance/.containerignore create mode 100644 finance/Containerfile create mode 100755 finance/entrypoint.sh diff --git a/finance/.containerignore b/finance/.containerignore new file mode 100644 index 0000000..196b521 --- /dev/null +++ b/finance/.containerignore @@ -0,0 +1,6 @@ +.venv/ +tests/ +.env +*.sqlite +inbox/ +uploads/ diff --git a/finance/Containerfile b/finance/Containerfile new file mode 100644 index 0000000..68d61a1 --- /dev/null +++ b/finance/Containerfile @@ -0,0 +1,12 @@ +FROM docker.io/library/python:3.12.11-slim + +WORKDIR /srv/finance +COPY requirements.txt . +RUN pip install --no-cache-dir -r requirements.txt +COPY app/ app/ +COPY alembic/ alembic/ +COPY alembic.ini . +COPY entrypoint.sh /entrypoint.sh +RUN chmod +x /entrypoint.sh +EXPOSE 8000 +ENTRYPOINT ["/entrypoint.sh"] diff --git a/finance/entrypoint.sh b/finance/entrypoint.sh new file mode 100755 index 0000000..18df974 --- /dev/null +++ b/finance/entrypoint.sh @@ -0,0 +1,4 @@ +#!/bin/sh +set -e +alembic upgrade head +exec uvicorn app.main:app --host 0.0.0.0 --port 8000