From 3a224aec9e5a622bede3cbe7c8736e893d5e0198 Mon Sep 17 00:00:00 2001 From: KI-Sparringpartner Date: Mon, 3 Aug 2026 14:22:11 +0200 Subject: [PATCH] =?UTF-8?q?=F0=9F=92=A5=20Fix:=20korrigierte=20Path=20f?= =?UTF-8?q?=C3=BCr=20Templates=20/=20main.py=20(relativer=20Pfad)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitea/workflows/build.yml | 28 ++++++++++++++++++++++++++++ app/main.py | 6 ++++-- docker-compose.yml | 1 + workflows/build.yml | 28 ++++++++++++++++++++++++++++ workflows/local-ci.sh | 34 ++++++++++++++++++++++++++++++++++ 5 files changed, 95 insertions(+), 2 deletions(-) create mode 100644 .gitea/workflows/build.yml create mode 100644 workflows/build.yml create mode 100644 workflows/local-ci.sh diff --git a/.gitea/workflows/build.yml b/.gitea/workflows/build.yml new file mode 100644 index 0000000..732f095 --- /dev/null +++ b/.gitea/workflows/build.yml @@ -0,0 +1,28 @@ +name: docker-build-and-push +on: + push: + branches: ["main", "master"] + workflow_dispatch: + +jobs: + build: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - name: Login registry + run: | + echo "${{ secrets.REGISTRY_PASSWORD }}" | docker login git.carabella.ch \ + -u "${{ secrets.REGISTRY_USER }}" --password-stdin + - name: Build + run: | + docker build -t git.carabella.ch/putschgi/gitea-sync-ai:${{ github.ref_name }} . + - name: Push + run: | + docker push git.carabella.ch/putschgi/gitea-sync-ai:${{ github.ref_name }} + - name: Tag latest + run: | + docker tag git.carabella.ch/putschgi/gitea-sync-ai:${{ github.ref_name }} \ + git.carabella.ch/putschgi/gitea-sync-ai:latest + - name: Push latest + run: | + docker push git.carabella.ch/putschgi/gitea-sync-ai:latest \ No newline at end of file diff --git a/app/main.py b/app/main.py index f80e889..4e900b4 100644 --- a/app/main.py +++ b/app/main.py @@ -19,8 +19,10 @@ def get_token(): app = FastAPI(title="Gitea Sync AI", version="1.0") -# Frontend ausliefern +# Frontend ausliefern - verwende relativen Pfad +TEMPLATES_DIR = Path(__file__).parent / "templates" + @app.get("/", response_class=HTMLResponse) async def dashboard(request: Request): - with open("/home/user/projects/gitea-cloner/app/templates/index.html") as f: + with open(TEMPLATES_DIR / "index.html") as f: return f.read() \ No newline at end of file diff --git a/docker-compose.yml b/docker-compose.yml index e5504a4..df60da1 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -8,6 +8,7 @@ services: volumes: - ./projects:/projects # Lokale Projekte sichtbar im Container - ./auth:/app/auth # Optional für Token-Speicherung + - ./workflows:/app/workflows # CI/CD Skripte (lokal nutzen) env_file: - .env # Lädt GITEE_URL, ACCESS_TOKEN, usw. environment: diff --git a/workflows/build.yml b/workflows/build.yml new file mode 100644 index 0000000..65270e7 --- /dev/null +++ b/workflows/build.yml @@ -0,0 +1,28 @@ +name: docker-build-and-push +on: + push: + branches: ["main", "master"] + workflow_dispatch: + +jobs: + build: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - name: Login registry + run: | + echo "${{ secrets.REGISTRY_PASSWORD }}" | docker login git.carabella.ch \ + -u "${{ secrets.REGISTRY_USER }}" --password-stdin + - name: Build + run: | + docker build -t git.carabella.ch/putschgi/gitea-sync-ai:${{ github.ref_name }} . + - name: Push + run: | + docker push git.carabella.ch/putschgi/gitea-sync-ai:${{ github.ref_name }} + - name: Tag latest + run: | + docker tag git.carabella.ch/putschgi/gitea-sync-ai:${{ github.ref_name }} \ + git.carabella.ch/putschgi/gitea-sync-ai:latest + - name: Push latest + run: | + docker push git.carabella.ch/putschgi/gitea-sync-ai:latest \ No newline at end of file diff --git a/workflows/local-ci.sh b/workflows/local-ci.sh new file mode 100644 index 0000000..8fac743 --- /dev/null +++ b/workflows/local-ci.sh @@ -0,0 +1,34 @@ +#!/bin/bash +# local-ci.sh – Lokales CI/CD für gitea-sync-ai (für Docker + Unraid) + +set -e + +echo "🚀 Starte lokalen Build-Prozess für gitea-sync-ai..." + +# 1. Registry-Login (via ENV oder Prompt) +REGISTRY="git.carabella.ch" +USER="${GIT_REGISTRY_USER:-putschgi}" +TOKEN="${GIT_ACCESS_TOKEN}" # muss im ENV gesetzt sein! + +if [ -z "$TOKEN" ]; then + echo "⚠️ Bitte GIT_ACCESS_TOKEN setzen!" + exit 1 +fi + +echo "🔐 Login bei $REGISTRY..." +echo "$TOKEN" | docker login "$REGISTRY" -u "$USER" --password-stdin + +# 2. Image bauen mit Tags +IMAGE="$REGISTRY/putschgi/gitea-sync-ai:local-latest" +echo "🏗️ Baue Image: $IMAGE" +docker build -t "$IMAGE" . + +# 3. Push zum Registry +echo "📤 Pushe zu $REGISTRY..." +docker push "$IMAGE" + +# Optional: Tag als latest markieren +docker tag "$IMAGE" "$REGISTRY/putschgi/gitea-sync-ai:latest" +docker push "$REGISTRY/putschgi/gitea-sync-ai:latest" + +echo "✅ Erfolgreich gebaut und gepusht!" \ No newline at end of file