7 der besten selbstgehosteten Alternativen zu Github

Nach der Übernahme von Github durch Microsoft haben viele Entwickler nach Alternativen gesucht, um ihren Code zu hosten. Microsoft (und viele andere große Unternehmen) haben die Angewohnheit, bewährte Technologien, Webseiten und Produkte zu kaufen, um ihre Reichweite zu erweitern. Skype ist ein Beispiel dafür, und nun auch Github.
Glücklicherweise gibt es viele andere Versionskontrollsysteme, aus denen Sie wählen können. Nicht alle haben die gesamte Funktionalität von Github, aber je nach Ihren Bedürfnissen sind die Auswahlmöglichkeiten ziemlich gut. Dieser Artikel wird einige der besten selbstgehosteten Alternativen zu Github durchgehen, die Sie noch heute auf Ihrem eigenen Rechner installieren können.
Inhaltsverzeichnis
- GitLab
- Gogs
- Trac
- GitBucket
- Gitea
- Mercurial
- Fossil
1. GitLab
Bereits bevor Microsoft Github übernahm, war GitLab eine beliebte alternative Plattform zur Codeverwaltung. Es ist ein Open-Source-DevOps-Lifecycle-Werkzeug mit Funktionen für Planung, Testen, Verpacken und Veröffentlichen. Es kommt auch mit einer Wiki- und Issue-Tracking-Funktion, die es unglaublich attraktiv für Nutzer macht, die ein selbstgehostetes „Github-ähnliches“ Erlebnis haben wollen.

Obwohl Sie GitLab als selbstgehostete Codeverwaltung verwenden können, bieten die Entwickler auch eine kostenpflichtige Premium-SaaS-Version an. Diese verfügt über zusätzliche Funktionen wie die Möglichkeit, mit einem LDAP-Server zu synchronisieren, und erweiterte CI/CD-Pipelines.
Das gesagt, können Sie GitLab kostenlos auf Ihrem Computer sowie auf ihrer gehosteten Plattform bereitstellen. Die Premium-Edition beginnt derzeit bei 29 $ pro Benutzer und Monat.
Tipp: Erfahren Sie, was GitLab von Github unterscheidet und bestimmen Sie, welches für Sie am besten geeignet ist.
2. Gogs
Gogs ist eine leichtgewichtige Git-Hosting-Plattform, die Sie auf fast jeder Hardware bereitstellen können. In Go geschrieben, haben die Entwickler das Programm so konzipiert, dass es so schnell wie möglich arbeitet und dabei auf kaum externe Abhängigkeiten angewiesen ist. Beispielsweise ist es möglich, Gogs auf einem System mit nur 512 MB RAM auszuführen.

Ein großes Verkaufsargument von Gogs ist, dass es unglaublich einfach ist, selbst auf virtuellen Servern zu betreiben. Standardmäßig bietet Gogs auch alle Tools, die Sie benötigen, um Ihren Code zu verwalten, Probleme zu verfolgen und Ihre Änderungen zu dokumentieren. Daher ist Gogs eine großartige Option, wenn Sie nach einer „stressfreien“ Github-Alternative mit dem besten „Leistungsgewicht“-Verhältnis suchen.
Gut zu wissen: Erlernen Sie die Grundlagen der Verwaltung eines Git-Repositories.
3. Trac
Trac ist eine einfache und hochflexible Plattform zur Codeverwaltung für Linux. Im Gegensatz zu GitLab und Gogs kann Trac sowohl mit Subversion als auch mit Git als Backend-Versionsverwaltungssystem arbeiten. Dies macht es nützlich, wenn Sie bereits ein Projekt haben, das auf einem dieser Systeme basiert.

Neben der Flexibilität ist Trac auch ein erweitertes Wiki- und Issue-Tracking-System für Ihr Projekt. Es kann verschiedene Tickets verwalten, unterschiedliche Rollen zuweisen sowie Prioritätsstufen für jedes Problem in Ihrem Repository erstellen.
Darüber hinaus bietet Trac auch eine Reihe von Plugins, mit denen Sie das Verhalten Ihres Systems standardmäßig ändern können. Beispielsweise verfügt es über ein Plugin, das es Ihnen ermöglicht, Trac in ein bestehendes Github-Projekt zu integrieren. Daher ist Trac eine gute Wahl, wenn Sie den Fortschritt von Projekten regelmäßig und genau überwachen müssen.
Tipp: Wenn Sie nur eine einfache Pastebin-Lösung mit Git benötigen, schauen Sie sich Opengist an.
4. GitBucket
GitBucket ist ein JVM-basierter Github-Klon, der in Scala geschrieben ist. Es hat nicht so viele Funktionen wie die anderen Apps in der Liste. Tatsächlich besteht der Hauptvorteil darin, dass es Github ähnlich ist. Mit anderen Worten, wenn Sie Github vermissen, können Sie immer auf GitBucket zurückgreifen.

Das gesagt, bietet GitBucket einen anständigen Repository-Viewer, ein Issue-Tracking-System, die Möglichkeit, Pull-Requests zu überprüfen und zu akzeptieren, sowie ein einfaches Wiki. Darüber hinaus können Sie die Funktionalität von GitBucket auch mit Hilfe von Plugins erweitern. Diese sind kleine Codefragmente, die entweder neue Funktionen hinzufügen oder bestehende für Ihr Repository ändern können. Beispielsweise können Sie ein GitHub Gist-Plugin zu Ihrem GitBucket installieren sowie benutzerdefinierte Webseiten ähnlich wie GitHub Pages.
Tipp: Überprüfen Sie einige der besten Git-Hooks, um Ihr Repository zu optimieren.
5. Gitea
Gitea ist eine leichtgewichtige und sicherheitsorientierte Plattform zur Codeverwaltung für Linux. Basierend auf Gogs zielt es darauf ab, eine umfassende Plug-and-Play-Github-Alternative bereitzustellen, während es nur wenig bis keine Systemressourcen verbraucht.

Einige der größten Vorteile von Gitea im Vergleich zu Gogs sind die integrierten RSS-Feeds, die Unterstützung für CI/CD-Workflows sowie mehrere Benutzerrollen für Ihr Repository. Darüber hinaus verfügt es auch über ein eigenes Erweiterungsframework, das es Ihnen ermöglicht, Funktionen wie benutzerdefinierte Webseiten ähnlich wie GitHub-Seiten hinzuzufügen. Gitea ist eine großartige Alternative, wenn Sie nach einem leichten, selbstgehosteten Github suchen, das zudem hochgradig erweiterbar ist.
FYI: Sind Sie ein Emacs-Benutzer? Erfahren Sie, wie Sie Git in Emacs mit Magit integrieren können.
6. Mercurial
Im Gegensatz zu den vorherigen Einträgen auf dieser Liste ist Mercurial eine völlig andere Plattform zur Codeverwaltung im Vergleich zu Github. Es bietet eine sauberere und konkretere Methode zur Verwaltung von Code, die leichter von neuen Softwareentwicklern erlernt werden kann. Ähnlich wie Subversion zielt Mercurial darauf ab, überflüssige Elemente zu vermeiden, indem es Ihnen Befehle anbietet, die bereits denen Ihres Linux-Systems ähnlich sind.

Ein Verkaufsargument von Mercurial ist, dass es plattformübergreifend und hochgradig modular ist. Infolgedessen enthält die Plattform viele Erweiterungen, die Sie verwenden können, um Ihren Mercurial-Workflow anzupassen. Beispielsweise ermöglicht die hgnested-Erweiterung, kleinere Unterrepositories innerhalb Ihres Hauptrepositories zu erstellen.
7. Fossil
Fossil ist ein nicht-Git-Quellcodeverwaltungssystem für Linux, das sich auf Einfachheit und Zuverlässigkeit konzentriert. Im Gegensatz zu Git und Mercurial bietet Fossil eine komplette, All-in-One-Plattform für die Entwicklung und den Austausch von Code mit anderen. Bereits ab Werk kommt jede Fossil-Installation mit einem Forum, einem Issue-Tracker und sogar einem einfachen IRC-Chat.

Ein einzigartiger Vorteil von Fossil ist, dass es einfach bereitzustellen ist und flexibel an die Anforderungen Ihres Rechners angepasst werden kann. Es ist möglich, Ihr Fossil-Repository aus einer einzigen Binärdatei ohne Sudo-Rechte zu erstellen und es auch als Container mithilfe von Docker und Docker Compose auszuführen. Dies macht es attraktiv für Benutzer, die bereits einen Server haben und eine anpassungsfähige Plattform zur Codeverwaltung benötigen, die in fast jeder Umgebung einfach bereitzustellen ist.
Einige der besten Github-Alternativen zu lernen, die Sie auf Ihrem Computer installieren können, ist nur der erste Schritt, um Ihre digitale Privatsphäre online zurückzugewinnen. Erkunden Sie diese wunderbare Welt des Selbsthostings, indem Sie Ihre eigene bit.ly-Alternative mit Shlink erstellen.
Bildnachweis: Yancy Min über Unsplash. Alle Änderungen und Screenshots von Ramces Red.