Eigenes Git-Repository auf einem Raspberry Pi hosten

Während GitHub eine großartige Möglichkeit bietet, Projekte zu teilen und mit anderen zusammenzuarbeiten, gibt es oft Situationen, in denen man beispielsweise seinen Code oder Konfigurationsdateien unter Versionskontrolle haben möchte, ohne sie mit Dritten zu teilen.

Man könnte einen GitLab-Service zu Hause einrichten, um die volle Kontrolle über das zentrale Repository zu behalten.

Ich persönlich bevorzuge es, meine privaten Konfigurationsdateien und Skripte auf meinem Raspberry Pi zu speichern. So kann ich meine Einstellungen, Aliase und Skripte zwischen meinem Desktop, Laptop und Geräten synchronisieren. GitHub erlaubt zwar private Repositories, aber warum sollte ich Details über meine Systeme, Benutzer und Netzwerke mit einem Drittanbieter teilen?

 

Grundlegende Übersicht

Voraussetzungen

  • Ein Raspberry Pi
  • Ein laufender SSH-Daemon

Einrichtung eines privaten Git-Repositories

Das Einrichten eines privaten Git-Repositories ist überraschend einfach:

  1. Melden dich auf deinem Raspberry Pi an.
  2. Installiere das Git-Paket:
    sudo apt update && sudo apt install git -y
  3. Erstelle einen dedizierten Benutzer für Git:
    sudo adduser --disabled-password --gecos "" git
  4. Erstelle ein Bare-Repository, das dem Benutzer git gehört:
    sudo mkdir -p /srv/git/myrepo.git
    sudo chown -R git:git /srv/git
    cd /srv/git/myrepo.git
    git init --bare
  5. Von außen kannst du nun auf das Repository zugreifen:Angenommen, der Hostname, die IP oder die Domain deines Raspberry Pi lautet server:
    git clone ssh://git@server:/srv/git/myrepo.git

Sicherheit erhöhen

  1. SSH-Schlüssel generieren (falls noch nicht geschehen):
    ssh-keygen -t ed25519 -C "Ihr Kommentar" -N "" -f ~/.ssh/id_ed25519
  2. Den öffentlichen Schlüssel auf dem Server registrieren:
    ssh-copy-id git@server

    Alternativ:

    cat ~/.ssh/id_ed25519.pub | ssh git@server "cat >> ~/.ssh/authorized_keys"
  3. Login-Sitzungen und Passwort für den Benutzer git deaktivieren:
    sudo passwd -l git
  4. git-shell als eingeschränkte Shell für den Benutzer git verwenden:
    sudo usermod -s /usr/bin/git-shell git

Automatisierte Backups mit etckeeper (optional)

Mit etckeeper kannst du Änderungen im /etc-Verzeichnis unter Versionskontrolle halten:

  1. Installiere etckeeper:
    sudo apt update && sudo apt install etckeeper -y
  2. Konfiguriere etckeeper für Git:Bearbeite die Datei /etc/etckeeper/etckeeper.conf und stell sicher, dass VCS="git" gesetzt ist.
  3. Initialisiere etckeeper:
    sudo etckeeper init
    sudo etckeeper commit "Initial commit"

Fazit

Du hast jetzt ein sicheres, selbst gehostetes Git-Repository eingerichtet. Diese Methode ist einfach, effektiv und gibt dir die volle Kontrolle über deine Daten. Dein Raspberry Pi dient nicht nur als praktisches Backup, sondern auch als zentrale Versionskontrolle für deine persönlichen Projekte.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert