# RoggioApp - CI/CD & GitOps (Von Gitea in die Produktion) ## Die Herausforderung Wie kommen wir von "Clara pusht Code ins Gitea" zu "Der Code läuft auf einer Subdomain als Docker-Container"? ## Die Lösungen ### 1. Gitea Actions (Der moderne Weg) Gitea hat "Gitea Actions" eingebaut (ein fast 1:1 Klon von GitHub Actions). * **Wie es funktioniert:** Wir starten einen zusätzlichen kleinen Container (`act_runner`) auf der Docker-VM. * **Ablauf:** Wenn ich einen Commit nach Gitea pushe, bemerkt der Runner das, baut ein neues Docker-Image für unseren Node.js-Server und startet den Container neu. ### 2. Coolify (Der UI-basierte Weg) Coolify ist eine Open-Source-Alternative zu Vercel/Heroku. * **Wie es funktioniert:** Man verbindet Coolify mit dem lokalen Gitea. Man sagt Coolify: "Deploye den Ordner `backend`". * **Ablauf:** Coolify kümmert sich um den Build, den Proxy und SSL. Es ist extrem komfortabel, aber ein recht "fetter" Service, den man hosten muss. ### 3. Docker Compose Watch / Watchtower (Der Lean-Weg) Wir bleiben ganz nah am Blech. * **Wie es funktioniert:** Ein Tool wie "Watchtower" oder ein einfaches Webhook-Skript auf der VM horcht auf Gitea. * **Ablauf:** Wenn ein Push kommt, macht das Skript `git pull` und `docker compose up --build -d`. ## Claras Empfehlung für uns **Gitea Actions!** Wir haben Gitea sowieso schon laufen. Wenn wir den kleinen `act_runner` daneben setzen, können wir im Repository einfach eine Datei `.gitea/workflows/deploy.yml` anlegen. Das ist der Industrie-Standard (GitOps) und kostet uns keine neuen riesigen Server-Dienste wie Coolify.