leafittome/docs/git-forgejo.md
cschlaefke 6e22d9c3aa Projekt-Gerüst: Flutter-App mit Heute-Checkliste, Pflanzenverwaltung, Stellplätzen und Einstellungen
- Flutter/Dart (iOS + Android), Riverpod, go_router, i18n via ARB (deutsch)
- Feature-Struktur: today, plants, locations, household (V2-Platzhalter), settings
- Intervall-Modell: Aufgaben werden aus lastWatered/lastFertilized + Intervall berechnet
- In-Memory-Demo-Daten, Firebase-Anbindung folgt im nächsten Block
- Doku: Architektur, Firebase-Einrichtung, Forgejo-Git-Hosting

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-18 21:13:18 +02:00

58 lines
2.1 KiB
Markdown

# 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://<vps-ip>: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@<vps-host>:2222/<dein-nutzer>/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.