# 🌲 Crumbforest Pi4 Gateway Plan

## 🧠 Ziel

Der Raspberry Pi 4 dient als Gateway-Knoten im Crumbforest-Netzwerk. Er übernimmt Aufgaben wie Git-Verwaltung (Gitea), Firewall-Kontrolle, LTE-Modem-Anbindung und VPN-Tunnel zur Außenwelt oder zum Pi5 (Snakecam/TTYD-Node).

---

## 🔧 Komponentenübersicht

| Komponente     | Aufgabe                                        | Status        |
| -------------- | ---------------------------------------------- | ------------- |
| Gitea          | Lokales Git für Code, Markdown und Backups     | ⬜ geplant     |
| UFW/Nftables   | Einfache Firewall-Regeln für SSH, Web, Gitea   | ⬜ geplant     |
| LTE-Modem      | Autarke Verbindung über Mobilfunknetz          | ⬜ geplant     |
| WireGuard VPN  | Sicherer Tunnel Pi5 ↔ Pi4 oder externe Zugänge | ⬜ geplant     |
| USB-SSD        | Externe Sicherung (Snapshots, Repos, Logs)     | ⬜ vorbereitet |
| JSON-Logsystem | KrümelLogs, Systemstatus, Zugriffszahlen       | ⬜ geplant     |

---

## 🛠️ Setup-Notizen (1. Phase)

### 🔁 Gitea (Docker-Container)

```bash
docker run -d --name=gitea \
  -p 3000:3000 -p 222:22 \
  -v /srv/gitea:/data \
  gitea/gitea:latest
```

### 🔥 Firewall (UFW Beispiel)

```bash
sudo apt install ufw
sudo ufw allow 22,80,443,3000,222/tcp
sudo ufw enable
```

### 📶 LTE-Modem via USB

* SIM-Karte einlegen
* `ModemManager`, `nmcli` oder `wvdial` installieren
* Autostart-Skript prüfen

### 🔐 VPN mit WireGuard

* `sudo apt install wireguard`
* Konfigurationen für `wg0.conf` auf Pi4 + Pi5 generieren
* DynDNS- oder feste LTE-IP prüfen

---

## 🌐 Dienste & Ports (Konventionen)

| Dienst    | Port  | Beschreibung                |
| --------- | ----- | --------------------------- |
| Gitea     | 3000  | Weboberfläche für Repos     |
| SSH       | 22    | Terminalzugang              |
| Gitea-SSH | 222   | Git über SSH (Keys!)        |
| VPN       | 51820 | WireGuard Default-Port      |
| TTYD      | 7780  | (Nur Weiterleitung via Pi4) |

---

## 📦 Speicher & Systempflege

* `cron` für automatische Docker-Backups
* `rsync` für USB-Backup auf SSD-Stick
* optional: Gitea Webhooks → Pi5-Benachrichtigung bei Push

---

## 🌱 Reflexion / Weiteres Denken

* Kann der Pi4 auch Airgap-Nodes versorgen?
* Sind Offline-QR-Links zu Gitea-Repos sinnvoll?
* Wie sehen kindgerechte Statusanzeigen aus? (LED, Sound, ASCII)
* Welche Logs wollen wir extern sichern?

---

*„Jede Firewall ist auch eine Tür, die jemandem bewusst geöffnet werden muss.“*
– Crumbforest Crew
