- Gitea ist eine ressourcenschonende Alternative zu GitLab und GitHub, die nur sehr wenige Systemressourcen verbraucht.
- Die Installation basiert auf einer ausführbaren Binärdatei, die als Dienst über SystemD verwaltet wird.
- Die Verwendung eines Reverse-Proxys mit Nginx ist unerlässlich, um einen sicheren Zugriff über HTTPS zu ermöglichen.
- Es ermöglicht die Migration bestehender Repositories von anderen Plattformen unter Beibehaltung von Issues und Tags.

Wenn Sie es leid sind, sich auf die Regeln, Kosten oder die Verfügbarkeit von Giganten wie GitHub oder GitLab zu verlassen, ist der Aufbau einer eigenen Infrastruktur der richtige Weg. Mit einem Git-Server zu Hause oder im Büro haben Sie die volle Kontrolle: absolute Kontrolle über den Code , umfassende Zugriffsverwaltung und die Gewissheit, dass Ihre privaten Repositories nicht durch Drittanbieter eingeschränkt werden.
Unter allen verfügbaren Optionen sticht Gitea als echtes Juwel hervor. Es ist in Go geschrieben und daher unglaublich schlank und schnell – ideal für alle, die keine 16 GB RAM für einen Git-Server reservieren möchten. Im Gegensatz zu GitLab, einem funktionsreichen, aber ressourcenintensiven Ozeandampfer, ist Gitea wie ein Schnellboot: Es kommt direkt zum Punkt, verbraucht kaum Ressourcen und bietet eine sehr vertraute Oberfläche für alle, die bereits mit GitHub gearbeitet haben.
Kurzer Vergleich: Gitea, GitLab und Forgejo

Bevor Sie mit der Installation beginnen, sollten Sie sich informieren. GitLab ist die ideale Enterprise-Lösung für große Teams, die eine integrierte CI/CD-Pipeline benötigen, erfordert aber leistungsstarke Hardware. Gitea hingegen ist aufgrund seines geringen Speicherbedarfs die beste Wahl für kleinere Server oder private Projekte. Schließlich gibt es noch Forgejo, einen Community-Fork von Gitea. Wenn Sie ein Verfechter freier Software sind und offene Governance ohne kommerzielle Einflüsse bevorzugen, ist dies die richtige Alternative für Sie.
Was Sie vor dem Start benötigen

Um einen reibungslosen Ablauf zu gewährleisten, benötigen Sie einen Linux-Server (Ubuntu, Debian oder Rocky Linux) mit Root-Zugriff. Außerdem ist die Installation von Git unerlässlich. Obwohl Gitea die Verwendung von SQLite ermöglicht, werden für Produktionsumgebungen PostgreSQL oder MariaDB dringend empfohlen , um die Datenstabilität zu gewährleisten.
Vorbereitung des Systems

Aus Sicherheitsgründen ist es nicht ratsam, Gitea als Root auszuführen. Es empfiehlt sich, einen dedizierten Benutzer anzulegen. Dies kann durch Ausführen des folgenden Befehls erfolgen: adduser --system --shell /bin/bash --group --home /home/gitea gitea. Es ist wichtig, /bin/bash als Shell Gitea muss über SSH mit der Git-Shell kommunizieren. Falls Git noch nicht installiert ist, genügt ein einfacher Befehl. apt install git wird das Problem schnell lösen.
Binäre Installation und Ordnerstruktur

Gitea kann auf verschiedene Arten installiert werden, die Installation über die Binärdatei ist jedoch am einfachsten. Suchen Sie die neueste stabile Version auf der offiziellen Website und laden Sie sie mit [Methode/Methode] herunter. wget en /usr/local/bin/giteaspäter geben Ausführungsberechtigungen mit chmod +xDamit das Programm ordnungsgemäß funktioniert, müssen eine Reihe bestimmter Verzeichnisse erstellt werden: /etc/gitea für Konfiguration und /var/lib/gitea für benutzerdefinierte Daten, Protokolle und Dateien. Vergessen Sie nicht, die Einstellungen anzupassen. Eigentumsberechtigungen (chown) damit der Benutzer gitea ihnen schreiben kann.
Datenbankkonfiguration
Wenn Sie sich für PostgreSQL entscheiden, müssen Sie zusätzlich zur Datenbank das Paket installieren und eine spezielle Rolle mit einem sicheren Passwort erstellen. giteadb mit UTF-8-Kodierung. Wenn Sie MariaDB bevorzugen, ist der Vorgang ähnlich: Sie erstellen die Datenbank und den Benutzer und stellen sicher, dass die Die Speicher-Engine ist InnoDB. und dass der Server auf Port 3306 lauscht.
Automatisierung mit SystemD
Um zu vermeiden, dass Gitea bei jedem Serverneustart manuell gestartet werden muss, empfiehlt es sich, eine Laufwerksdatei zu erstellen in /etc/systemd/system/gitea.serviceDiese Datei teilt dem System mit, dass Gitea muss als Dienst ausgeführt werden.Benutzer, Gruppe und Binärpfad definieren. Nach der Erstellung einfach ausführen. systemctl enable --now gitea Der Server beginnt standardmäßig auf Port 3000 zu lauschen.
Der erste Kontakt mit der Weboberfläche
Bei der Einreise http://tu-ip:3000Anschließend gelangen Sie zum Einrichtungsassistenten. Hier stellen Sie die Verbindung zur Datenbank her (indem Sie Host, Benutzername und Passwort angeben) und definieren die... allgemeine Website-EinstellungenDazu gehören beispielsweise der Instanzname und die Basis-URL. Es ist auch an der Zeit, den SSH-Server zu konfigurieren und zu entscheiden, ob sich jeder registrieren können soll oder ob Sie … Öffentliche Protokollierung deaktivieren um die Privatsphäre des Servers zu wahren.
Sicherheit und professioneller Zugriff mit Nginx
Der Zugriff auf Gitea über Port 3000 ist ineffizient und unsicher. Die optimale Lösung ist die Einrichtung eines Reverse-Proxys mit Nginx . Dadurch können Nutzer die Website über eine Domain (z. B. git.yourdomain.com) erreichen, und der gesamte Datenverkehr wird mit Let's Encrypt SSL-Zertifikaten verschlüsselt . In der Nginx-Konfiguration leiten Sie den Datenverkehr einfach von Port 443 auf Port 3000 von Gitea um und fügen die X-Forwarded-For-Header hinzu, um die IP-Adresse des Clients zu schützen.
Benutzerverwaltung und Code-Migration
Wenn Sie die offene Protokollierung deaktiviert haben, können Sie den ersten Administrator über die Befehlszeile mit dem folgenden Befehl erstellen: gitea admin user createSobald Sie drin sind, können Sie Ihre hinzufügen öffentliche SSH-Schlüssel Im Benutzerprofil können Sie Repositories klonen, ohne jedes Mal das Passwort eingeben zu müssen. Wenn Sie bereits Code auf GitHub haben, bietet Gitea eine entsprechende Funktion. integriertes Migrationstool Es importiert automatisch nicht nur den Code, sondern auch die Probleme und Tags.
Wartung und Feinabstimmung
Die Wartung von Gitea ist denkbar einfach. Zum Aktualisieren laden Sie einfach die neue Binärdatei herunter, ersetzen die alte und starten den Dienst neu. Für Backups verwenden Sie den Befehl gitea dump ist dein bester Freund, da es ein komprimierte Datei mit allemDatenbank, Konfiguration und Repositories. Für E-Mails können Sie einen externen SMTP-Server (z. B. Gmail) konfigurieren oder Postfix auf dem Server installieren, um Benachrichtigungen über Pull Requests und Warnmeldungen zu erhalten.
Durch die Implementierung von Gitea erhalten Sie eine robuste, leichtgewichtige und vollständig private Versionskontrollplattform, die die Abhängigkeit von externen Diensten durch eine binärbasierte Installation, eine optimierte Datenbank und einen Reverse-Proxy, der die Sicherheit des Datenverkehrs über HTTPS gewährleistet, beseitigt.