senn-techsenn-tech
Back to blog
Infrastruktur
Infrastruktur2026-04-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 — Repository-Oberfläche
Die Weboberfläche von Gitea: Repository mit Dateibaum, Branches und Commits — selbstgehostetes Git ohne GitHub.

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, 2022 aus Governance-Bedenken entstanden, seit dem Hard-Fork 2024 unter strikter Copyleft-Lizenz und mit eigenem Profil: Der Fokus liegt auf Community-Steuerung und Föderation (ActivityPub-basierte Vernetzung von Instanzen).

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 heute kaum eine Rolle. Beide laufen stabil, beide haben eine Weboberfläche, die an GitHub erinnert. Wer Wert auf eine reine Community-Governance legt, nimmt Forgejo; wer den grösseren kommerziellen Rückhalt sucht, Gitea.

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. Das /data-Volume gehört in die Backup-Kette — es enthält Repos, DB und Konfiguration.

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.

Weiterführende Quellen