senn-techsenn-tech
Zurück zum Blog
Infrastruktur2027-09-07

Git im Eigenbetrieb: Gitea und Forgejo

Der Agent schreibt Code — aber wo lebt der? GitHub und GitLab sind mächtig, aber sie sind SaaS. Gitea und Forgejo sind die quelloffenen Alternativen, die auf einem eigenen Server laufen und alles mitbringen, was ein Team braucht.

Gitea vs. Forgejo: Der kleine Unterschied

Gitea ist der etablierte Self-Hosted-Git-Dienst — eine einzelne Binary, ein Docker-Container, eine PostgreSQL-Datenbank. Forgejo ist ein Gitea-Fork, entstanden aus Governance-Bedenken, technisch nahezu identisch, mit Fokus auf Community- statt Firmensteuerung.

Beide können:

  • Git-Repositories mit Web-UI, Branches, Tags
  • Pull Requests mit Code-Review
  • Issues mit Labels, Meilensteinen, Boards
  • Actions/CI-Runner (Gitea Actions sind GitHub-Actions-kompatibel)
  • Package Registry (Docker, NPM, Maven)

In der Praxis spielt der Unterschied für KMU keine Rolle. Beide laufen stabil, beide haben eine Weboberfläche, die an GitHub erinnert.

Setup: Ein Container

docker run -d --name gitea \
  -p 3000:3000 -p 2222:22 \
  -v gitea-data:/data \
  gitea/gitea:latest

Einrichtung: Admin-Account anlegen, Domain setzen, Läuft. Der Reverse Proxy (Caddy) macht HTTPS davor, Keycloak übernimmt das SSO.

Warum on-prem?

Der Quellcode ist das intellektuelle Eigentum des Unternehmens — inklusive Konfigurationen, Skripte, Prompts, MCP-Server-Code. Das auf GitHub oder GitLab zu hosten ist bequem, aber:

  • NIS2: Code-Repositories fallen unter die zu schützenden Assets
  • Datenhoheit: Vertrauliche Konfigurationen, Secrets, Kundenprojekte
  • Ausfallsicherheit: Der eigene Git-Server läuft im eigenen Cluster, nicht in der AWS-us-east-1 während eines Ausfalls

CI/CD mit Gitea Actions

Gitea Actions sind GitHub-Actions-kompatibel. Ein Runner (ein Container) lauscht auf Jobs, führt sie aus, meldet zurück. Build, Test, Deploy — alles im eigenen Netz.

Für das Blog-Deployment: Push nach Gitea, Action baut das Next.js-Image, deployt auf den senn-next-Container. Keine externe CI, kein fremder Runner, der Zugriff auf interne Server hat.

Fazit

Gitea oder Forgejo sind die kürzeste Strecke zwischen „kein Git-Server" und „vollwertiges Code-Management im eigenen Haus". Ein Nachmittag Setup, dann jahrelang Ruhe — und jeder Agent, der Code schreibt, checkt ihn dorthin ein.