Website-Suche

Ich habe GitHub links liegen lassen und meine eigene private Alternative selbst gehostet


Ich liebe GitHub und habe es viele, viele Jahre genutzt. GitHub ist allerdings nicht immer die beste Wahl für die Versionskontrolle von Code. Als ich anfing, einige private Apps zu entwickeln, beschloss ich, nach Alternativen zu suchen, und habe schließlich meinen eigenen, selbst gehosteten, privaten Git-Server eingerichtet.

GitHub ist großartig für große oder öffentliche Projekte

Ich liebe es, kostenlose Open-Source-Software auf GitHub zu finden.

Hör zu, GitHub ist großartig. Es ist eine fantastische Ressource für Open-Source-Projekte und auch ein tolles Repository für kostenlose Open-Source-Software. Ich nutze GitHub seit nahezu 15 Jahren in verschiedenen Funktionen.

Von der Erstellung von Android-ROMs bis hin zur Bereitstellung vollständig Open-Source-Projekten, die ich in meinem Homelab nutze, hat GitHub einen besonderen Platz in meinem Herzen. Es ist eine einfache Plattform, bietet den Menschen einen zentralen Ort, um nach Software zu suchen, und ist zu einem Standard für Code-Revisionen und die Bereitstellung von Open-Source-Software geworden, selbst für große Unternehmen wie Apple oder Microsoft.

GitHub bietet „private“ Projekte an, aber Privatsphäre ist nicht garantiert

Private Projekte sind nur so privat wie dein GitHub-Konto.

Als ich vor einigen Jahren den Großteil meiner GitHub-Beiträge geleistet habe, verlangte GitHub tatsächlich Gebühren für private Repositories. Es war einer der Hauptgründe, einen kostenpflichtigen GitHub-Plan abzuschließen - die Möglichkeit, private Repositories zu haben. Im Jahr 2019 hob GitHub diese Einschränkung auf und erlaubte es kostenlosen Nutzern, private Repositories zu erstellen.

Dies ist ein riesiges Feature, falls du nicht wusstest, dass GitHub kostenlose private Repositories anbietet. Eine so große Plattform wie GitHub für die Verwaltung deiner Projekte zu haben, ist fantastisch, und das Hinzufügen von Mitwirkenden ist super einfach. Allerdings sind Projekte auf GitHub nicht immer „100% privat.“

GitHub mag zwar selbst ein Privatunternehmen sein, aber es gehört tatsächlich Microsoft. Das kann für manche Leute ein Problem darstellen. Alle auf GitHub gespeicherten Codes sind beim Hochladen durch TLS-Verschlüsselung geschützt, aber darüber hinaus nicht weiter verschlüsselt. Technisch gesehen könnten GitHub und das Mutterunternehmen Microsoft jederzeit auf Ihren Code zugreifen, selbst wenn ein Repository als privat markiert ist.

Dies mag für viele kein großes Problem sein, aber wenn Sie Code haben, auf den wirklich niemand sonst zugreifen soll, könnte es ein Problem darstellen, ihn auf Servern zu speichern, auf die andere Leute zugreifen könnten - sei es aus eigenem Antrieb oder aufgrund einer rechtlichen Anordnung. Deshalb befindet sich ein Teil meines Codes einfach nicht auf GitHub.

Apps, die ich schreibe und bei denen ich von Anfang bis Ende 100 % Eigentum am Code behalten möchte, weigere ich mich, auf GitHub zu stellen. Es gibt einfach zu viele Risiken, den Code dort zu hosten. Öffentlicher Code, den ich mit der Welt teilen möchte? Der gehört auf GitHub, und ich werde ihn gerne für alle sichtbar veröffentlichen.

Die eigene GitLab-Instanz selbst zu hosten gibt mir die vollständige Kontrolle über die Projekte.

Ich bin dafür verantwortlich, wie sicher mein Heimserver ist.

Der Code, den ich sicher und geschützt aufbewahren möchte, lebt auf meinem eigenen Server in meinem eigenen Haus. Ich habe mich entschieden, GitLab als meine Git-Oberfläche auf dem Server zu verwenden, und ich bereue diese Entscheidung überhaupt nicht. Während GitLab gehostete und verwaltete Pläne anbietet, bietet es auch die Möglichkeit zur Selbst-Hosting. GitLab hat viele der gleichen Funktionen wie GitHub, einschließlich Fehlerverfolgung, CI/CD-Funktionalität, Webhooks und mehr.

Mit GitLab kann ich technisch gesehen auch öffentliche Repositories hosten, aber ich entscheide mich, alles privat für meinen einzigen Nutzer auf der Plattform zu halten. Da der Dienst bei mir zu Hause gehostet wird, könnte ich wählen, den externen Netzwerkzugriff zu blockieren, ihn über etwas wie Tailscale oder Cloudflare Tunnels zu öffnen oder ihn hinter einem Reverse-Proxy zu platzieren. Ich bin derjenige, der entscheidet, wie sicher die Daten sind.

Also, ich bin der Einzige mit den Verschlüsselungsschlüsseln und dem physischen Zugang zum Server. Die Daten, die ich darauf speichere, gehören mir und nur mir. Das mag etwas paranoid klingen, aber einige der Programme, an denen ich arbeite, möchte ich nicht, dass jemand anderes den Quellcode sieht. Ich investiere viel Zeit in die Entwicklung bestimmter Programme und möchte, dass sie mein Eigentum bleiben.

Könnte jemand die von mir veröffentlichten Apps rückentwickeln, um den Quellcode zu finden? Ich bin mir sicher, aber das erfordert viel mehr Detektivarbeit und Aufwand, als einfach auf ein Repository zu stoßen, das jemand vergessen hat, als privat zu markieren. Oder noch schlimmer, in das jemand eingedrungen ist, weil ein Online-Konto kompromittiert wurde.


Wenn es um meine privaten Repositories geht, möchte ich einfach selbst bestimmen, wie sicher sie sind, und nicht jemand anderes. GitHub funktioniert für viele Menschen gut, und die privaten Repositories könnten genau das tun, was du brauchst.

Am Ende des Tages ist Ihr Code jedoch nur so sicher wie Ihr GitHub-Konto (oder GitHub selbst ... oder sogar Microsoft selbst), wobei Sie nur wenig tun können, wenn etwas kompromittiert wird.

Verwandte Artikel