Gitea selbst hosten: Git-Server im Homelab mit Reverse Proxy betreiben

Gitea selbst hosten im Homelab

Ein eigener Git-Server passt sehr gut in ein Homelab, besonders wenn private Projekte, CI-nahe Workflows oder vollständige Kontrolle über die Infrastruktur wichtig sind. Gitea ist dafür eine schlanke Lösung, die sich sowohl direkt auf Linux als auch containerisiert betreiben lässt.

Warum einen eigenen Git-Server betreiben?

Self-Hosting bedeutet vor allem Kontrolle über Repositories, Benutzer, Backups und Verfügbarkeit. Für eigene Entwicklungsprojekte kann außerdem die direkte Integration in interne Dienste und Automatisierungen interessant sein.

Gitea hinter einem Reverse Proxy

In meinem Setup ist der Git-Dienst über einen eigenen Hostnamen erreichbar und wird über einen Reverse Proxy an den internen Gitea-Dienst weitergeleitet. Dadurch können HTTPS und öffentliche Erreichbarkeit zentral verwaltet werden, während Gitea intern auf einem eigenen Port läuft.

Wichtig: externe URL korrekt konfigurieren

Gitea sollte wissen, unter welcher öffentlichen URL es erreichbar ist. Das ist unter anderem für generierte Links, Webhooks und einige Redirects relevant. Wenn der Dienst intern beispielsweise auf Port 3000 läuft, öffentlich aber über HTTPS ohne Port erreichbar ist, muss diese Trennung sauber konfiguriert sein.

Fehler 521 oder Bad Gateway

Wenn der Reverse Proxy erreichbar ist, aber das Backend nicht, sollte zuerst der interne Dienst geprüft werden. Typische Ursachen sind ein gestoppter Gitea-Dienst, ein falscher Upstream-Port, eine geänderte interne IP-Adresse, eine Firewall-Regel oder ein Protokoll-Mismatch zwischen HTTP und HTTPS.

Ein sinnvoller Test ist, vom Reverse-Proxy-Host direkt den internen Gitea-Port aufzurufen. Funktioniert dieser Test nicht, liegt der Fehler bereits zwischen Proxy und Backend und nicht bei DNS oder dem Browser.

Repositories sind nicht das einzige Backup

Für eine vollständige Wiederherstellung sollten neben den Repository-Daten auch Datenbank, Konfiguration und gegebenenfalls Anhänge, Releases oder LFS-Daten gesichert werden. Ein Backup ist erst dann wirklich hilfreich, wenn die Wiederherstellung getestet wurde.

Updates kontrolliert planen

Vor Versionsupdates empfiehlt sich ein aktuelles Backup. Bei containerisierten Installationen sollte außerdem nachvollziehbar sein, welche Image-Version verwendet wird, damit im Fehlerfall ein Rollback möglich bleibt.

Mehr zu meiner Infrastruktur findest du unter Homelab & Self-Hosting und im Artikel Reverse Proxy im Homelab. Meine öffentlichen Repositories liegen unter git.pepe44.dev.

Passende Homelab Guides

Docker im Homelab · Reverse Proxy im Homelab · Homelab & Self-Hosting Einstieg · Homelab Übersicht