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:
- Melden dich auf deinem Raspberry Pi an.
- Installiere das Git-Paket:
sudo apt update && sudo apt install git -y
- Erstelle einen dedizierten Benutzer für Git:
sudo adduser --disabled-password --gecos "" git
- 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
- 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
- SSH-Schlüssel generieren (falls noch nicht geschehen):
ssh-keygen -t ed25519 -C "Ihr Kommentar" -N "" -f ~/.ssh/id_ed25519
- 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"
- Login-Sitzungen und Passwort für den Benutzer
git
deaktivieren:sudo passwd -l git
git-shell
als eingeschränkte Shell für den Benutzergit
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:
- Installiere etckeeper:
sudo apt update && sudo apt install etckeeper -y
- Konfiguriere etckeeper für Git:Bearbeite die Datei
/etc/etckeeper/etckeeper.conf
und stell sicher, dassVCS="git"
gesetzt ist. - 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.