From 63a57dcb7c2953c0b581f8411f68eda76bc0a617 Mon Sep 17 00:00:00 2001 From: Pepe Ziberi Date: Sun, 26 Apr 2026 19:40:57 +0200 Subject: [PATCH] ci: switch to Portainer auto-build (like mein118.ch) --- .gitea/workflows/deploy.yml | 36 +++++++-------------------------- docker-compose.portainer.yml | 39 +++++++++++++++++++++++++++--------- 2 files changed, 37 insertions(+), 38 deletions(-) diff --git a/.gitea/workflows/deploy.yml b/.gitea/workflows/deploy.yml index 68b833d..cf93dc3 100644 --- a/.gitea/workflows/deploy.yml +++ b/.gitea/workflows/deploy.yml @@ -1,29 +1,7 @@ -name: Build and Deploy - -on: - push: - branches: [main] - -jobs: - deploy: - runs-on: ubuntu-latest - steps: - - name: Checkout - uses: actions/checkout@v4 - - - name: Login to Registry - run: | - echo "${{ secrets.REGISTRY_TOKEN }}" | docker login 192.168.1.183:3100 -u ${{ secrets.REGISTRY_USERNAME }} --password-stdin - - - name: Build Docker Image - run: | - docker build -t 192.168.1.183:3100/adminpepe/lageplan:latest . - - - name: Push to Registry - run: | - docker push 192.168.1.183:3100/adminpepe/lageplan:latest - - - name: Redeploy via Portainer - if: ${{ secrets.PORTAINER_WEBHOOK != '' }} - run: | - curl -sf -X POST "${{ secrets.PORTAINER_WEBHOOK }}" || echo "Portainer webhook failed (optional)" +# Deployment wird von Portainer erledigt (nicht Gitea Actions). +# Portainer Stack zeigt auf dieses Repo und baut bei Push automatisch neu. +# Siehe docker-compose.portainer.yml für Details. +# +# Dieses File ist leer damit keine pending Jobs mehr entstehen. +name: disabled +on: workflow_dispatch diff --git a/docker-compose.portainer.yml b/docker-compose.portainer.yml index 44e6946..3d0b94d 100644 --- a/docker-compose.portainer.yml +++ b/docker-compose.portainer.yml @@ -1,18 +1,23 @@ ############################################## -# Lageplan — Portainer Stack Configuration -# -# Verwendung in Portainer: -# 1. Stacks → Add Stack -# 2. "Upload" oder diesen Inhalt einfügen -# 3. Environment-Variablen setzen (siehe unten) -# 4. Deploy +# Lageplan — Portainer Stack (Auto-Deploy) +# +# Setup in Portainer: +# 1. Stacks → Add Stack → "Repository" +# 2. Git-URL: https://git.purepixel.ch/adminpepe/Lageplan.git +# 3. Compose-Pfad: docker-compose.portainer.yml +# 4. "GitOps updates" aktivieren + Webhook kopieren +# 5. Webhook in Gitea eintragen (Repo → Einstellungen → Webhooks) +# 6. Environment-Variablen setzen (siehe unten) +# 7. Deploy +# +# Danach: Push auf main → Portainer baut automatisch neu # # Benötigte Environment-Variablen: # POSTGRES_USER (default: lageplan) # POSTGRES_PASSWORD (ÄNDERN!) # POSTGRES_DB (default: lageplan) # NEXTAUTH_SECRET (ÄNDERN! — z.B. openssl rand -base64 32) -# NEXTAUTH_URL (z.B. https://lageplan.example.com) +# NEXTAUTH_URL (z.B. https://lageplan.ch) # MINIO_ROOT_USER (default: minioadmin) # MINIO_ROOT_PASSWORD (ÄNDERN!) # MINIO_PUBLIC_URL (z.B. https://s3.example.com) @@ -77,7 +82,10 @@ services: # ─── Lageplan Web App ────────────────────── web: - image: 192.168.1.183:3100/adminpepe/lageplan:latest + build: + context: . + dockerfile: Dockerfile + image: git.purepixel.ch/adminpepe/lageplan:latest restart: unless-stopped environment: DATABASE_URL: postgresql://${POSTGRES_USER:-lageplan}:${POSTGRES_PASSWORD:-lageplan_secret}@db:5432/${POSTGRES_DB:-lageplan} @@ -100,6 +108,19 @@ services: networks: - lageplan + # ─── Watchtower (Auto-Restart bei neuen Images) ─ + watchtower: + image: containrrr/watchtower + restart: unless-stopped + volumes: + - /var/run/docker.sock:/var/run/docker.sock + environment: + WATCHTOWER_POLL_INTERVAL: 60 + WATCHTOWER_CLEANUP: "true" + WATCHTOWER_LABEL_ENABLE: "false" + networks: + - lageplan + volumes: postgres_data: minio_data: