- 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>
2.1 KiB
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:
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
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)
# 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:
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.