Git-Server selbst hosten mit Soft Serve

Februar 12, 2025

Soft Serve ist ein benutzerfreundlicher, selbstgehosteter Git-Server, der für die Befehlszeile entwickelt wurde. Er bietet eine intuitive textbasierte Benutzeroberfläche (TUI) über SSH, mit der Sie Repositories einfach verwalten, Dateien durchsuchen und gängige Git-Operationen ausführen können.

Soft Serve unterstützt eine Vielzahl von Protokollen, darunter SSH, HTTP und Git, was Ihnen Flexibilität beim Zugriff auf und der Verwaltung Ihrer Repositories bietet. Die Git LFS-Unterstützung sowohl für HTTP- als auch für SSH-Backends gewährleistet eine effiziente Verarbeitung grosser Dateien.

Soft Serve Oberfläche mit schmelzendem EisSoft Serve Oberfläche mit schmelzendem Eis

Mit Soft Serve können Sie:

  • Repositories über SSH, HTTP oder das Git-Protokoll klonen.
  • Repositories über SSH verwalten.
  • Repositories bei Bedarf über SSH oder git push erstellen.
  • Repositories, Dateien und Commits mit einer über SSH zugänglichen textbasierten Benutzeroberfläche durchsuchen.
  • Dateien über SSH mit oder ohne Syntaxhervorhebung und Zeilennummern ausgeben.

Soft Serve bietet eine einfache Zugriffskontrolle:

  • SSH-Authentifizierung mit Public Keys.
  • Anonymer Zugriff zulassen/verweigern.
  • Mitarbeiter mit SSH Public Keys hinzufügen.
  • Repositories können öffentlich oder privat sein.
  • Benutzerzugriffstoken.

Sie können Soft Serve über Paketmanager wie brew, winget, pacman, nix-env, apt und yum installieren oder Binärdateien direkt von der Release-Seite herunterladen. Sie können es auch mit go install installieren.

Um den Server einzurichten, führen Sie einfach soft serve aus. Dieser Befehl erstellt ein Verzeichnis data, das alle Repositories, SSH-Schlüssel und die Datenbank enthält. Sie können den Datenpfad mit der Umgebungsvariable SOFT_SERVE_DATA_PATH anpassen. Stellen Sie beim ersten Ausführen von Soft Serve sicher, dass die Umgebungsvariable SOFT_SERVE_INITIAL_ADMIN_KEYS auf Ihren autorisierten SSH-Schlüssel gesetzt ist.

Die Serverkonfiguration wird in der Datei config.yaml im Datenverzeichnis gespeichert. Sie können diese Einstellungen mit Umgebungsvariablen überschreiben. Soft Serve unterstützt sowohl SQLite als auch Postgres für seine Datenbank.

Soft Serve verwaltet die Serverauthentifizierung und -autorisierung über SSH. Es unterstützt sowohl HTTP- als auch SSH-Protokolle für Git LFS. Sie können Benutzer, Zugriff und Repositories über die SSH-Befehlszeilenschnittstelle verwalten.

Sie können Benutzer erstellen, Public Keys hinzufügen, Repositories erstellen, Mitarbeiter verwalten und Repository-Metadaten mit SSH-Befehlen ändern. Soft Serve unterstützt auch verschachtelte Repositories und Mirroring-Funktionen.

Darüber hinaus unterstützt Soft Serve Webhooks für Repositories, mit denen Sie Aufgaben basierend auf Repository-Ereignissen automatisieren können. Es bietet auch eine TUI zum Durchsuchen von Repositories über SSH und unterstützt serverseitige Git-Hooks für weitere Anpassungen. Sie können Text über SSH in der TUI in Ihre Zwischenablage kopieren.

Leave A Comment

Create your account