Zum Inhalt

🏠 Homelab Architekturübersicht

✅ Basis

  • Ubuntu Server 24.04 auf Mini-PC mit 2 SSDs:
  • SSD 1: System
  • SSD 2: Datenlaufwerk gemountet unter `/data

🌐 Konzept

  • Nginx Proxy steuert zentral alle öffentlich erreichbaren Dienste per Subdomain.
  • Nginx Proxy ist über den port 81 ausschliesslich im LAN erreichbar.
  • Portainer ist über den port 9000 ausschliesslich im LAN erreichbar.
  • mit der Portainer WebGui werden die Docker Container gesteuert
  • mit dem WebGui von Nginx Proxy werden die Zertifikate und die subdomains gesteuert

1. 🔧 Dienste & Konfiguration

Dienst Art Docker Netzwerk Extern erreichbar Adresse Port
Nginx Proxy Docker homelab ❌ Nur LAN lokale_Server_IP:81 80, 443, 81
MkDocs Docker homelab ✅ Ja https://pinguinbox.de Nginx Proxy
Nextcloud Docker homelab ✅ Ja https://cloud.pinguinbox.de Nginx Proxy
Immich Docker homelab ✅ Ja https://foto.pinguinbox.de Nginx Proxy
Plex Docker homelab ✅ Ja https://media.pinguinbox.de Nginx Proxy
SearXNG Docker homelab ✅ Ja https://search.pinguinbox.de Nginx Proxy
Portainer Docker homelab ❌ Nur LAN http://<server-ip>:9000 9000
Netdata Docker homelab ❌ Nur LAN http://<server-ip>:19999 19999
Gotify Docker homelab ✅ Ja https://mylogs.pinguinbox.de Nginx Proxy

2. 📂 Verzeichnisstruktur (/data)

/data/

/data/
├── core_config/
│   ├── docker-compose-core.yml       # nginx & portainer   ├── docker-compose-nextcloud.yml       ├── docker-compose-plex.yml
│   └── ...                           # alle weiteren YML-Dateien hier
├── portainer/
│       └── daten/
├── nginx-proxy/
│       └──  daten/
│             └── letsencrypt/
├── nextcloud/
│       └── daten/
├── plex/
│       └── daten/
├── MkDocs/
│       └── daten/
│             └── docs/
├── immich/
│       └── daten/
├── searxng/
│       └── daten/  
└── .....
...



## 3. 📁 Zentrale Dateidrehscheibe mit Nextcloud
/data/nextcloud/ └── daten/ ├── bilder/ → Zentrale Quelle für Immich & Plex (Uploads von Mobilgeräten, bearbeitbar am PC) ├── videos/ → Zentrale Quelle für Plex └── sicherung/ → Persönliche Dateien, nicht zur Veröffentlichung bestimmt ```

🔄 Ablauf der Datennutzung

  • Upload:
    Bilder & Videos werden per Nextcloud-App von Mobilgeräten hochgeladen nach:
  • nextcloud/bilder/
  • nextcloud/videos/

  • Sync:
    Nextcloud-Client auf Linux-PCs synchronisiert diese Ordner
    → Bearbeitung, Ordnung & Pflege direkt am Desktop möglich

  • Zugriff durch Dienste:

  • Immich:
    /data/nextcloud/daten/bilder/
    → immer aktuelle Bilder
  • Plex:
    /data/nextcloud/daten/bilder/ und /data/nextcloud/daten/videos/
    → zeigt Medien lokal im Netzwerk an

5. 🛡️ Backup-Konzept für das Homelab

🔁 Zwei getrennte Backup-Strategien

  1. System-Backup (SSD1)
  2. Ziel: Wiederherstellung des Systems bei OS-Ausfall
  3. Tools: rsync, borg, Clonezilla, Systemkonfiguration sichern

  4. Daten-Backup (SSD2 /mnt/data)

  5. Ziel: Schutz vor Datenverlust durch Bedienfehler oder Beschädigung
  6. Tools: rsync, restic, Snapshots, tägliche Sicherung von nextcloud/, docker/ etc.

Empfohlene Ergänzungen

Maßnahme Sinnvoll wofür
Fail2Ban Schutz vor Brute Force-Angriffen
Geo-IP-Blocking Zugriff aus bestimmten Ländern blockieren
HTTPS-Redirect Automatisch von HTTP auf HTTPS
VPN (z. B. Tailscale) Absicherung von LAN-only Services remote
Watchtower / Autoupdate Für Container-Updates (vorsichtig einsetzen!)