name: Deploy # Baut die Seite und startet den nginx-Container (Port 8066) bei jedem Push auf main neu. # Nutzt das vorhandene Dockerfile (Hugo-Build im Container) + docker-compose.yml. on: push: branches: [main] workflow_dispatch: {} concurrency: group: deploy-${{ github.ref }} cancel-in-progress: true jobs: deploy: # Der Runner MUSS Zugriff auf Docker haben und auf dem Host laufen, der die # Seite ausliefert (bzw. Zugriff auf dessen Docker-Socket haben). # Ggf. das Label an deinen Gitea-Act-Runner anpassen (z. B. self-hosted). runs-on: ubuntu-latest steps: - name: Checkout inkl. Git LFS uses: actions/checkout@v4 with: lfs: true # ZWINGEND: sonst kommen LFS-Pointer statt Bilder/Fonts an fetch-depth: 1 - name: LFS-Dateien sicherstellen run: git lfs pull - name: Container bauen & neu starten run: | docker compose up -d --build --remove-orphans docker image prune -f - name: Healthcheck run: | for i in $(seq 1 15); do if wget -qO- http://localhost:8066/ >/dev/null 2>&1; then echo "OK: Seite antwortet auf :8066"; exit 0 fi echo "warte auf Container … ($i)"; sleep 2 done echo "FEHLER: Seite antwortet nicht auf :8066"; exit 1