# Git-Hosting mit Forgejo auf dem Hetzner-VPS Forgejo ist ein leichtgewichtiger, quelloffener Git-Server mit Web-Oberfläche (Fork von Gitea): Repositories, Issues, Releases — wie ein privates GitHub auf deinem eigenen Server. ## 1. Forgejo per Docker Compose installieren (auf dem VPS) Auf dem VPS z. B. unter `/opt/forgejo/docker-compose.yml`: ```yaml services: forgejo: image: codeberg.org/forgejo/forgejo:12 container_name: forgejo restart: unless-stopped environment: - USER_UID=1000 - USER_GID=1000 volumes: - ./data:/data - /etc/timezone:/etc/timezone:ro - /etc/localtime:/etc/localtime:ro ports: - "3000:3000" # Web-UI (dahinter Reverse-Proxy mit HTTPS setzen) - "2222:22" # SSH für git push/pull ``` ```bash cd /opt/forgejo && docker compose up -d ``` Dann `http://:3000` öffnen → Ersteinrichtung durchklicken (SQLite als Datenbank reicht völlig) → Admin-Konto anlegen. **Empfohlen:** Wie bei deinen anderen Diensten einen Reverse-Proxy (Caddy/Traefik/nginx) mit HTTPS davorschalten, z. B. `git.deine-domain.de`, und Port 3000 nicht öffentlich lassen. In den Forgejo-Einstellungen die Registrierung deaktivieren (`Site Administration → Configuration`), da nur du den Server nutzt. ## 2. SSH-Schlüssel hinterlegen (auf dem Mac) ```bash # Vorhandenen Schlüssel anzeigen (oder mit ssh-keygen -t ed25519 neu erzeugen) cat ~/.ssh/id_ed25519.pub ``` Inhalt in Forgejo unter **Einstellungen → SSH-Schlüssel** einfügen. ## 3. Repository anlegen und Planty pushen In der Forgejo-Web-UI: **Neues Repository** → Name `planty` → **ohne** README/Lizenz initialisieren (das Repo existiert lokal schon). Dann auf dem Mac: ```bash cd ~/Documents/Projekte/Planty git remote add origin ssh://git@:2222//planty.git git push -u origin main ``` Ab dann genügt nach jedem Arbeitsstand ein `git push`. ## 4. Backup nicht vergessen Der Ordner `/opt/forgejo/data` enthält alles (Repos + Datenbank). Nimm ihn in dein bestehendes VPS-Backup auf — zusammen mit der lokalen Kopie auf dem Mac hast du dann immer zwei vollständige Stände.