homelab
v0.5
[ OK ]Mounting filesystems … [ OK ]Starting Docker daemon … [ OK ]FortiGate VPN tunnel established [ OK ]Pi-hole DNS resolver online — 3 blocklists active [ WRN ]Double-NAT detected on FritzBox / Deco segment [ OK ]Home Assistant Green — 47 entities loaded [ INF ]Navidrome music server — 12.430 tracks indexed

Nicht
Homelab.
Heiminfrastruktur.

Dokumentation, Configs und Notizen aus einem echten Netz — kein Demo-Setup, keine Cloud-Ausweichmanöver. Alles läuft on-premise, alles ist self-hosted, das meiste ist irgendwann schiefgegangen.

3 Server
1 FortiGate
12+ Container
Basteldrang
docs

Guides & Anleitungen

hardware

Kein Budget für teure Hardware? Kein Problem.

Alles was hier dokumentiert ist läuft auf Gebrauchtware. Keine teuren Mini-PCs, kein NAS für 500€, keine Spezialhardware. Thin Clients aus Büroauflösungen, ein ausgemusterter Desktop — zusammen für unter 100€ auf eBay Kleinanzeigen. Die Leistung reicht für ein vollständiges Self-Hosted-Setup locker aus.
🖥
Dell Wyse 5070
Server1 & Server3 — Always-on
~15–25 €
CPUIntel Pentium Silver J5005 / Celeron J4105
RAM8 GB DDR4
StorageeMMC 16–32 GB + M.2 SSD nachrüstbar
Netzwerk1 GbE Onboard
Verbrauch~6–10 W idle — always-on kein Problem
Server1: Pi-hole · Nginx · Navidrome · Homepage · Uptime Kuma
Server3: Joplin · AliasVault · Linkwarden · Release Tracker
Perfekter Always-on Server. Geräuschlos, winzig, stromsparend. M.2-Slot für SSD-Upgrade vorhanden — das eMMC reicht für das OS, Daten auf externe Platte oder SSD auslagern.
🖥
Dell OptiPlex (7xxx / 9xxx)
Server2 — On-demand
~30–60 €
CPUIntel Core i5 (6./7. Gen)
RAM8 GB DDR3/DDR4
StorageHDD / SSD je nach Ausstattung
Netzwerk1 GbE Onboard
Verbrauch~25–40 W idle — nur bei Bedarf an
Läuft: Nextcloud · Paperless-ngx · Portainer
Mehr Power als der Wyse — gut für rechenintensivere Sachen wie OCR in Paperless. Wegen höherem Verbrauch nur on-demand einschalten, nicht dauerhaft laufen lassen.
🛡
FortiGate 30E
Firewall & Gateway
~40–80 €
Throughput950 Mbps Firewall, 200 Mbps VPN
Ports5× GbE
OSFortiOS 6.4 (ohne aktive Lizenz)
Verbrauch~10 W
Läuft: Stateful Firewall · VIPs / Port-Forwarding · DHCP · DNS-Relay
Gebraucht ohne Lizenz voll nutzbar — Firewall, VIPs, DHCP, Routing funktionieren alle ohne Support-Vertrag. Nur UTM-Features (IPS, AV, Web-Filter) brauchen Lizenz. Für ein Homelab reicht das vollkommen.
🟢
Home Assistant Green
Smart Home Hub
~99 € neu
CPURaspberry Pi CM4 (4 GB RAM)
Storage32 GB eMMC
ExtrasZigbee via Sonoff Stick, Matter/Thread via HBT1
Verbrauch~4–7 W idle
Läuft: Home Assistant OS · Zigbee2MQTT · KE100 Thermostate · Tapo · Local Tuya
Das einzige Gerät das neu gekauft wurde — und das einzige das wirklich eine dedizierte Hardware braucht. Für alles andere tut Gebrauchtware.
💾
Externe USB-Festplatte
Medienbibliothek & Backup
vorhanden / ~30–50 €
TypSeagate Portable, NTFS
Mount/mnt/data via fstab UUID
ZugriffSMB-Share + Docker bind-mount
Läuft: Navidrome Musikbibliothek · Backup-Ziel
Einfachste Lösung für mehr Storage — USB-Platte ran, in fstab eintragen, fertig. Kein NAS nötig. Fallstrick: UUID ohne Anführungszeichen in fstab, sonst funktioniert ntfs-3g nicht.
📡
TP-Link Deco X55 Mesh
WLAN Access Points
vorhanden
StandardWiFi 6 (802.11ax)
ModusRouter-Modus (eigenes Subnetz)
EinschränkungKein VLAN-Support
Läuft: WLAN für Consumer-Geräte · Smart Home · Mobiles
Funktioniert gut als WLAN-System — aber kein VLAN-Support bedeutet keine saubere Netz-Segmentierung. Geplanter Ersatz durch VLAN-fähige APs (Omada / UniFi) sobald das Budget stimmt.
Gesamtkosten Hardware (ohne HA Green)
~100–180 €
2× Dell Wyse 5070 + 1× Dell OptiPlex + FortiGate 30E + externe HDD — alles eBay Kleinanzeigen, Büroauflösungen, Flohmärkte. Ein NAS für 500€ oder ein Mini-PC für 300€ wären für dieses Setup schlicht Geldverschwendung.
topology

Infrastruktur

🛡
FortiGate 30E
10.0.1.1
Firewall / Gateway / SSL-VPN
online
🖥
DaServer1 — Wyse 5070
10.0.1.71
Nginx · Pi-hole · Navidrome · Portainer
online
🖥
DaServer2 — OptiPlex
10.0.1.82
Nextcloud · Paperless-ngx · Homepage · Portainer
online
🖥
Server3 — Wyse 5070
10.0.1.83
AliasVault · Joplin · Linkwarden · Release-Tracker
online
🟢
Home Assistant Green
192.168.1.x
Automation · Music Assistant · Alexa
online
🔵
Pi-hole
192.168.1.x
DNS · Ad-Blocking · Lokale Domains
online
services

Self-hosted Stack

ServiceHostPortNotiz
Nginx Reverse ProxyServer1:80/:443mkcert HTTPS, alle .local-Domains
Pi-holeServer1:53/:8888DNS + Ad-Blocking, lokale Records
NavidromeServer1:4533Externe HDD als Musikbibliothek
HomepageServer1:3000Dashboard für alle Dienste
Uptime KumaServer1:3001Service-Monitoring
NextcloudServer2:8081Fotos + Dateien, Google Photos migriert
Paperless-ngxServer2:8000OCR, Brother Scanner via eSCL
MealieServer1:9925Rezeptverwaltung — wird durch Grocy abgelöst
AliasVaultServer3:8300Passwörter + E-Mail-Aliase, Android App
Joplin ServerServer3:22300Notiz-Sync via HTTP, Web-UI via Nginx
LinkwardenServer3:7010Lesezeichen-Manager, Vivaldi Extension
Release TrackerServer3YouTube RSS → Spotify Playlists, Cron 2×/Tag
quick ref

Snippets

docker-compose.yml Navidrome + FritzBox NAS mount
services:
  navidrome:
    image: deluan/navidrome:latest
    container_name: navidrome
    ports:
      - "4533:4533"
    volumes:
      - ./data:/data
      - /mnt/fritzbox/musik:/musik:ro  # FritzBox NAS via CIFS
    environment:
      ND_MUSICFOLDER: /musik
      ND_LOGLEVEL: info
    restart: unless-stopped
bash Server3 via Home Assistant REST API wecken
#!/bin/bash
# Server3 einschalten via HA Smart Plug REST API
HA_URL="http://homeassistant.local:8123"
TOKEN="<long-lived-access-token>"
ENTITY="switch.server3_plug"

curl -s -X POST \
  "$HA_URL/api/services/switch/turn_on" \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"entity_id": "'"$ENTITY"'"}'

echo "Server3 gestartet — warte 30s auf Boot…"
sleep 30
work in progress

Laufende & geplante Projekte

⚙ ongoing Phase 1 — Deployment
Grocy — Haushalt & Vorratsverwaltung
Self-hosted Vorratsverwaltung mit Barcode-Scanner auf einem Huawei-Tablet als Küchen-Kiosk. Ziel: Einkaufsliste automatisch in die Bring!-App pushen und per Alexa-Sprachsteuerung abhaken. Am Ende läuft alles in einem Home Assistant Küchen-Dashboard zusammen.
✓ Docker Deploy ⚙ Produkte befüllen ○ Tablet Kiosk ○ Bring! via n8n ○ HA Dashboard
Grocy · n8n · Fully Kiosk Browser · Home Assistant · Bring!
⏳ ongoing PWA + Collection App gebaut
Polaris Player
Self-hosted Music PWA die alles zusammenführt: lokale Bibliothek via Subsonic, Spotify Web Playback, Bandcamp — alles in einer Oberfläche mit Last.fm-Scrobbling. Dazu ein FastAPI-Microservice für Audio-Fingerprinting (AcoustID/MusicBrainz) und Tag-Editor direkt im Browser. Separate "Polaris Collection" App verwaltet die physische Sammlung (900+ Vinyl, CDs, Kassetten) mit Discogs-Import und Preisabfrage.
✓ PWA Player gebaut ✓ Subsonic + Spotify + Bandcamp ✓ Last.fm Scrobbling ✓ polaris-tagger Microservice ✓ Collection App + Discogs Import ⚙ Deployment & Feinschliff
Navidrome · Subsonic API · Spotify SDK · Bandcamp · Last.fm · FastAPI · AcoustID · MusicBrainz · PWA
⏳ planned Winter-Projekt
RAG / Local AI für Paperless-ngx
Eigene Dokumente per natürlichsprachlicher Suche abfragen — "Was steht in meinem letzten Versicherungsschreiben?" statt manuell suchen. Technisch: lokale Embeddings (sentence-transformers), Vektor-Datenbank (ChromaDB), Cloud-LLM für die Antwortgenerierung. Aktuell geblockt durch Hardware (8 GB RAM auf allen Servern zu wenig für lokales LLM).
○ Hardware-Upgrade evaluieren ○ Embedding-Pipeline ○ Paperless API-Anbindung ○ Query-Interface
sentence-transformers · ChromaDB · Paperless API · FastAPI
⏳ planned Nach VLAN-fähigen APs
VLAN-Segmentierung & Netzwerk-Upgrade
Sobald VLAN-fähige APs (Omada / UniFi / MikroTik cAP ax) den Deco ersetzen, werden die bereits vorbereiteten VLANs auf der FortiGate aktiviert: Heimnetz, Arbeit, Homelab, IoT, Gaming, Gast — jedes Segment isoliert mit eigenen Firewall-Policies. Managed Switch im Büro kommt dazu.
✓ VLANs auf FortiGate vorbereitet ○ VLAN-fähige APs kaufen ○ VLANs aktivieren ○ Managed Switch ○ HA hinter FortiGate migrieren
FortiGate VLANs · Omada / UniFi · Managed Switch
⏳ planned Konzept fertig
Discogs Wantlist → Spotify
Erweiterung des Release Trackers: Alben aus der Discogs Wantlist automatisch auf Spotify suchen und in eine dedizierte "Wantlist"-Playlist einfügen. Nutzt dieselbe Fuzzy-Matching-Logik wie der YouTube-Tracker, diesmal mit der Discogs OAuth API als Datenquelle.
✓ Release Tracker läuft ○ Discogs OAuth ○ Wantlist-Fetcher ○ Spotify-Sync
Discogs API · Spotify API · Python · rapidfuzz
⏳ planned Infrastruktur steht
WireGuard VPN — Fernzugriff
WireGuard auf der FritzBox für sicheren Fernzugriff auf alle Homelab-Dienste von unterwegs. Ziel: alle .local-Domains auch außerhalb des Heimnetzes erreichbar machen, ohne Dienste öffentlich zu exponieren. Später optional: IPsec IKEv2 direkt auf der FortiGate wenn sie direkt an der FritzBox hängt.
✓ FritzBox WireGuard-fähig ○ WireGuard einrichten ○ Split-DNS konfigurieren ○ Mobile Client testen
WireGuard · FritzBox · FortiGate IPsec