Architektur der Systeme und Applikationen

Heimnetz, Server, Dienste, Datenflüsse und Sicherungen auf einen Blick. Alle Angaben sind aus den Systemen selbst gelesen (SSH, UniFi-API, TrueNAS lesend, Home-Assistant-Supervisor) – Stand 18.09.2026. Keine Zugangsdaten auf dieser Seite.

10
Systeme (4 VMs, 1 Pi, NAS, Hypervisor, Router, VPS, LLM-Rechner)
28
Applikationen, davon 37 laufende Container
9
Netze (Heimnetz, 7 VLANs, WireGuard) · 6 UniFi-Geräte
4
Backup-Stufen: Dienst → ZFS-Snapshot → 2. Pool → pCloud
Farben
Heimnetz 192.168.178.0/24 Server-VLAN 200 DMZ-VLAN 250 docker-lab aipi TrueNAS extern / Internet
Begriffe
System = Rechner, VM, NAS, VPS oder Router. Applikation = Dienst oder Programm, das auf einem System läuft. Detaildokumente je System: Git semaphore/infrastruktur/<system>/ARCHITEKTUR.md.

Gesamtbild: Netze und Systeme

Welches System steht in welchem Netz, welche VMs laufen auf Proxmox und wie hängen die Server am TrueNAS.

Internet NetCom BW · PPPoE · dynamische IP netcup-VPS 185.207.104.205 pCloud Backup außer Haus WireGuard-Clients 192.168.6.0/24 UniFi Dream Machine SE Router · Firewall · .1 in jedem Netz 80/443 weitergeleitet Heimnetz · 192.168.178.0/24 Server · VLAN 200 · .200.0/24 DMZ · VLAN 250 · .250.0/24 VMs auf Proxmox Proxmox VE .220 · Hypervisor Home Assistant OS .230 · VM aipi .205 · Raspberry Pi Ollama-Rechner .100 · LLM UniFi-Switches, APs 2 Switches · 4 APs KNX-IP · Scanner .21 · .117 Clients: 24 LAN · 27 WLAN · Mac mini M4 und M2 docker-prod .200.5 · VM Paperless Gitea Firefly III Plex docker-lab .200.10 · VM PostgreSQL Picpeak Homebridge Duplicati … docker-dmz .250.5 · VM Nginx Proxy Manager WordPress (offline) MeshCentral DynDNS aipi: Marktanalyse → Postgres :5432 Proxy → *.prod / *.lab.local NFS NFS NFS TrueNAS SCALE · 4 Netzwerkkarten in drei Netzen DataStorage 8 TB (Mirror) · backup 1 TB (USB) · Snapshots · Replikation · pCloud vzdump von Proxmox → NFSproxmox .178.225 · .178.80 (Heim) .200.21 (Server) .250.79 (DMZ) Weitere Netze ohne Server mgnt VLAN 100 · docker_prod VLAN 210 · base VLAN 5 · guest VLAN 3 (Gast-WLAN) · noInternet VLAN 678 · WireGuard 192.168.6.0/24

Weg einer Anfrage aus dem Internet

Browser Internet DNS DynDNS-Name → WAN-IP UDM SE 80/443 → .250.5 Nginx Proxy Manager TLS (Let's Encrypt) gallery.fischer-lab.de Picpeak · lab :8888 meshcentral.…ipv64.de dmz :8087 fischer / sda.ipv64.de .178.250:8555 fischer-lab.de WordPress · abgeschaltet Im LAN zeigen *.prod.local, *.lab.local, *.dmz.local direkt auf den Proxy (192.168.250.5). aipi-Dienste (8766, 8090, 3001, 8095) sind nur im LAN erreichbar, ohne Proxy.

Netzwerk

UniFi Dream Machine SE als Router, Firewall und Controller. Internet über PPPoE (NetCom BW, dynamische IP), zweiter WAN-Anschluss angelegt, aber nicht belegt. Zwei Switches und vier Access Points.

Internet NetCom BW · PPPoE · dyn. IPv4 WAN1 eth8 · 1 Gbit/s UniFi Dream Machine SE 192.168.178.1 · UniFi OS 5.1 · Network 10.6.106 Router · Firewall · DHCP · WireGuard · Controller Port 1 Port 3 Port 11 Port 4 Port 5 UG UAP-AC-Pro Access Point · .87 USW-Lite-8-PoE Switch 8 Port · .187 USW-24-G2 Switch 24 Port · .216 EG U6-Pro AP · .38 U6+ AP · .127 Port 4 OG U6-Pro AP · .152 Proxmox, TrueNAS (4 NICs), aipi, Ollama-Rechner, KNX-IP … Anschluss je Port nicht dokumentiert

Netze und VLANs

fischer-homeohne VLAN · 192.168.178.0/24 · DHCPWLAN „fischer-home“, „FRITZ!Box 7490“
UDM SE.1
aipi.205
Proxmox.220
TrueNAS.225 · .80
Home Assistant.230
Ollama-Rechner.100
KNX-IP-Schnittstelle.21
Scanner ADS-1700W.117
Clients24 LAN · 27 WLAN
fischer-serverVLAN 200 · 192.168.200.0/24 · DHCP
docker-prod.5
docker-lab.10
TrueNAS.21 (NFS)
fischer-dmzVLAN 250 · 192.168.250.0/24 · DHCPZiel der Portweiterleitung 80/443
docker-dmz.5
TrueNAS.79 (NFS)
Clients2 LAN · 1 WLAN
weitere Netzeohne dokumentierte Server
fischer-mgntVLAN 100 · 192.168.100.0/24
docker_prodVLAN 210 · 192.168.210.0/24
fischer-baseVLAN 5 · 192.168.5.0/24
fischer-guestVLAN 3 · 192.168.3.0/24 · Gast-WLAN
noInternetVLAN 678 · 192.168.144.0/24
WireGuard Server192.168.6.0/24 · Fernzugang

Portweiterleitungen (UDM)

NamePortsZiel
ngnx80, 443192.168.250.5 (NPM)
Plex32400192.168.200.10 kein Plex dort
minecraft19132192.168.200.10
minecraft219130192.168.210.10
satisfactory7777, 8888, 15000, 15777, 16261–16262192.168.178.69
Fritz SIP5060, 7078–7109192.168.178.173
minecraft java25565192.168.178.250 · aus

Alle tcp/udp. Firewall: nur Standardregeln plus „WireGuard erlauben“; keine eigenen Zonen-Regeln.

Namen und Domains

Namezeigt auf
*.prod.local, *.lab.local, *.dmz.local192.168.250.5 → Nginx Proxy Manager → Backend
aipi.local, homeassistant.localmDNS (Avahi) im Heimnetz
fischer-lab.de, fischer-lab.euDNS bei netcup, DynDNS alle 10 min von docker-dmz
fischer.ipv64.de, sda.ipv64.de, cfischer.ipv64.netDynDNS ipv64 alle 15 min von docker-dmz
gallery.fischer-lab.deöffentlich → NPM → Picpeak (docker-lab)
fischer-lab.deNPM-Host deaktiviert offline

Systeme

Hardware, virtuelle Maschinen und externe Server. Die drei Docker-VMs sind Klone derselben Vorlage und identisch eingerichtet.

Proxmox VE · 192.168.178.220 Hypervisor (KVM) · Sicherung aller VMs nachts nach TrueNAS docker-prod .200.5 · 4 vCPU 3,3 GB RAM Paperless Gitea · Firefly Plex docker-lab .200.10 · 2 vCPU 7,1 GB RAM Postgres · Picpeak Homebridge Duplicati · … docker-dmz .250.5 · 2 vCPU 1,6 GB RAM Proxy Manager WordPress MeshCentral DynDNS Home Assistant .178.230 HAOS 18.2 Core 2026.9.2 KNX · HomeKit TrueNAS SCALE 24.10 · Celeron N5105 · 31 GB DataStorage 8 TB (2× Mirror, 4× Samsung 870 EVO 4 TB) backup 1 TB (USB-Platte WD My Passport) NICs: .178.225 · .178.80 · .200.21 · .250.79 aipi · Raspberry Pi 4 .178.205 · 7,6 GB Marktanalyse · Assistent Obsidian · Zugangsdaten Ollama-Rechner .178.100 · LLM netcup-VPS 185.207.104.205 NFS-Ablage der VMs →

docker-prod

Proxmox-VM · Produktivdienste
OS
Ubuntu 26.04.1, Kernel 7.0
Ressourcen
4 vCPU, 3,3 GB RAM, 48 GB (32 %)
Netz
192.168.200.5 (VLAN 200)
Ablage
NFS /mnt/docker_prod, /mnt/plex
Zugang
ssh ai@192.168.200.5
PaperlessGiteaFirefly IIIPlexPortainerWatchtower

docker-lab

Proxmox-VM · Labor und Datenbank
OS
Ubuntu 26.04.1, Kernel 7.0
Ressourcen
2 vCPU, 7,1 GB RAM, 48 GB (23 %)
Netz
192.168.200.10 (VLAN 200)
Ablage
NFS /mnt/docker_lab, /mnt/plex
Zugang
ssh ai@docker-lab
PostgreSQL 18PicpeakHomebridgeDuplicatiSQLPadJDownloaderMinecraft

docker-dmz

Proxmox-VM · aus dem Internet erreichbar
OS
Ubuntu 26.04.1, Kernel 7.0
Ressourcen
2 vCPU, 1,6 GB RAM, 24 GB (42 %)
Netz
192.168.250.5 (VLAN 250)
Ablage
NFS /mnt/docker_dmz
Zugang
ssh ai@docker-dmz
Nginx Proxy ManagerWordPressMeshCentralDynDNS

aipi

Raspberry Pi 4 Model B · Hardware
OS
Debian 13 (Raspberry Pi OS Lite), arm64
Ressourcen
4 Kerne, 7,6 GB RAM, SD 29 GB (43 %)
Netz
192.168.178.205, WLAN aus
Ablage
lokal auf der SD-Karte
Zugang
ssh ai@aipi
MarktanalysePaperless-AssistentObsidianSambaContainerseiteArchitektur-SeiteMassage-Wacht

TrueNAS

NAS · Ablage aller Server · nur lesender Zugriff für Claude
OS
TrueNAS SCALE 24.10.2.4
Hardware
Celeron N5105, 31 GB RAM
Pools
DataStorage 8 TB (4,45 TB belegt), backup 1 TB (0,17 TB)
Netz
.178.225, .178.80, .200.21, .250.79
Dienste
NFS, SMB (kein SMB1), Cloud-Sync
NFS docker_*SMB mnt, plex, backupTime Machine

Proxmox VE

Hypervisor · kein Zugang für Claude
Adresse
192.168.178.220, Web-UI :8006
VMs
docker-prod, docker-lab, docker-dmz, Home Assistant und weitere (7 VM-IDs werden gesichert: 100, 103–106, 108, 109; Zuordnung nicht dokumentiert)
Sicherung
vzdump nachts → TrueNAS NFSproxmox

Home Assistant OS

Proxmox-VM · Hausautomation
Version
OS 18.2, Core 2026.9.2
Adresse
192.168.178.230, :8123
Zugang
ssh hassio@homeassistant.local
KNXHomeKit-BrückenOverkizNetatmoVW/Audi

UniFi Dream Machine SE

Router · Firewall · Controller
Adresse
192.168.178.1
Software
UniFi OS 5.1, Network 10.6.106
Zugang
API-Key über aipi

netcup-VPS

Server im Internet · noch nicht eingerichtet
Adresse
185.207.104.205
OS
Debian 13
Zweck
geplanter Mailserver für fischer-lab.de/.eu
Zugang
derzeit nur Konsole im netcup-Portal

Arbeitsplätze

RechnermacOS-BenutzerRolle
Mac mini M4christophfischerClaude Code, SSH-Schlüssel auf allen Servern
Mac mini M2christophClaude Code, SSH-Schlüssel auf allen Servern

Applikationen

Alle Dienste mit dem System, auf dem sie laufen. Filter nach System oder Suche nach Name.

ApplikationSystemContainerAdresseDaten

Abhängigkeiten und Datenflüsse

Wer mit wem spricht. Ein Ausfall links trifft alles rechts davon.

VonNachWozu
InternetUDM → Nginx Proxy Manager (docker-dmz)alle öffentlichen Namen (Picpeak, MeshCentral, ipv64-Hosts)
Nginx Proxy Managerdocker-prod, docker-lab, docker-dmzinterne Namen *.prod/lab/dmz.local
docker-prod, -lab, -dmzTrueNAS (NFS)sämtliche Container-Daten; Docker startet nicht ohne NFS
Marktanalyse (aipi)PostgreSQL 18 (docker-lab :5432)Kursdaten und Analysen
Paperless-Assistent (aipi)Paperless (docker-prod) · Ollama (.100)Dokumente lesen · Auswertung und Vektoren
Scanner ADS-1700WTrueNAS SMB → docker_prod/paperless/consumePaperless holt neue Scans per Polling
Paperless-BackupTrueNAS docker_prod/paperless/exporttäglicher Export
ProxmoxTrueNAS NFS NFSproxmoxVM-Sicherungen
Home AssistantKNX-IP .21 · HomeKit · Overkiz · Netatmo · VWHausautomation
Homebridge (docker-lab)Apple Homezusätzliche HomeKit-Geräte
DynDNS-Container (docker-dmz)netcup-DNS, ipv64öffentliche Namen auf die wechselnde WAN-IP
Watchtower (3 VMs)Docker Hub, GHCR · Discordtägliche Image-Updates und Meldung
Alle Macs, Claudeaipi ~/<dienst>/.envzentrale Zugangsdaten per SSH
TrueNASpCloudKopie außer Haus

Speicher

Alle Container-Daten der VMs liegen auf dem TrueNAS. Nur aipi und die VM-Systemplatten speichern lokal.

Dataset (DataStorage)belegtgenutzt von
NFSproxmox1,79 TBProxmox-Sicherungen, Vorlagen
plex1,88 TBPlex (docker-prod), NFS + SMB
TimeMachine209 GBTime Machine der Macs (SMB)
docker_home76 GBNFS (Heimnetz)
docker_lab48 GBdocker-lab
docker_prod30 GBdocker-prod
EigeneDateien12 GBpersönliche Dateien
docker_dmz5,4 GBdocker-dmz
docker_paperless2,7 GBälterer Paperless-Bestand
backup1 GBu. a. ioBroker-Sicherung
PoolAufbauGröße
DataStorage2 × Mirror aus 4 × Samsung 870 EVO 4 TB8 TB, 4,45 TB belegt
backup1 × WD My Passport 1 TB (USB), ohne Redundanz1 TB, 0,17 TB belegt
boot-pool2 × Samsung 970 EVO Plus 1 TB (NVMe)System
Scrub beider Pools sonntags 00:00. NFS-Freigaben je VLAN freigegeben (178/200/250).

Backup

Vier Stufen: Die Dienste sichern sich selbst auf das NAS, das NAS hält Snapshots, spiegelt auf einen zweiten Pool und synchronisiert nach pCloud.

Stufe 1
Stufe 2 →
Stufe 3 →
Stufe 4 →
Dienst-Sicherungenlegen Dateien auf dem NAS ab
  • Paperless-Export täglich 04:30 → paperless/export (7 T / 4 W / 12 M)
  • Proxmox vzdump nachts ~03:00 → NFSproxmox (7 VMs aktiv gesichert, bis 14 Stände je VM)
  • MeshCentral täglich → meshcentral/backups (10 Stände)
  • Home Assistant automatisch täglich ~03:00, lokal in HA (10 Stände)
  • Time Machine der Macs → SMB TimeMachine
ZFS-SnapshotsDataStorage, täglich 00:00, 2 Wochen
  • docker_prod
  • docker_lab
  • docker_dmz
  • EigeneDateien
  • nicht: plex, NFSproxmox, TimeMachine
Replikationlokal auf Pool backup (USB 1 TB)
  • docker_prod, docker_lab, docker_dmz
  • docker_home, EigeneDateien
  • eigene Snapshots auf backup/docker_prod, backup/EigeneDateien (2 Wochen)
  • letzter Lauf: FINISHED
pCloudCloud-Sync täglich 00:00, Modus SYNC
  • docker_prod, docker_lab, docker_dmz
  • docker_home, docker_paperless
  • EigeneDateien
  • Ziel /TSBackup/…
  • letzter Lauf: SUCCESS · SYNC spiegelt auch Löschungen

Abdeckung je Datenbestand

DatenSnapshot2. PoolpCloudBemerkung
Container-Daten docker-prod (Paperless, Gitea, Firefly)jajajazusätzlich Paperless-Export
Container-Daten docker-lab (u. a. Postgres der Marktanalyse)jajajaPostgres als Dateikopie, kein Dump
Container-Daten docker-dmz (NPM, WordPress, MeshCentral)jajaja
EigeneDateienjajaja
VM-Sicherungen (NFSproxmox)neinneinneinnur auf DataStorage
Plex-Medienneinneinneinnur Mirror
Home Assistantin der VM, über vzdump auf dem NASHA-Backups selbst nur lokal
aipi (SD-Karte)keine SicherungQuellcode in Gitea, Zugangsdaten nur hier
Gitea-Reposliegen in docker_prod → alle StufenArbeitskopien zusätzlich auf den Macs

Zeitplan

Alle wiederkehrenden Jobs, deutsche Zeit. Die Docker-VMs laufen intern in UTC, die Jobs sind aber auf Europe/Berlin eingestellt.

ZeitJobSystemArt
alle 10 minDynDNS fischer-lab.de/.eudocker-dmzContainer
alle 15 minDynDNS ipv64 (Prüfung alle 30 min)docker-dmzContainer
alle 15 minPaperless-Assistent-AbgleichaipiContainer
alle 15 minMassage-Wachtaipisystemd-Timer
00:00ZFS-Snapshots, Replikation auf backup, pCloud-SyncTrueNASTrueNAS-Aufgaben
So 00:00Scrub DataStorage und backupTrueNASTrueNAS-Aufgabe
~01:00MeshCentral-Autobackupdocker-dmzContainer
So 01:04vzdump VM 104ProxmoxProxmox-Job
Di–Sa 01:20Marktanalyse: AbrufaipiPlaner im Container
Di–Sa 01:35Marktanalyse: AnalyseaipiPlaner im Container
03:00vzdump der übrigen VMsProxmoxProxmox-Job
03:00Marktanalyse: Intraday-AbrufaipiPlaner im Container
03:00Firefly-III-Crondocker-prodContainer
~03:00Home-Assistant-Backup (automatisch)Home AssistantHA
04:30Paperless-Backup (Export + ZIP)docker-prodsystemd-Timer
05:00Watchtower: Image-Updatesdocker-prod, -lab, -dmzContainer
täglichapt: Sicherheitsupdates (unattended-upgrades)docker-prod, -lab, -dmzsystemd-Timer

Kein cron auf den Docker-VMs installiert; auf aipi nur die Paket-Standardjobs.

Zugang und Sicherheit

Anmeldung

  • Server per SSH als ai mit Schlüssel; je Mac ein eigener Schlüssel, auf allen Servern freigeschaltet.
  • ai hat überall sudo ohne Passwort. Passwort-Anmeldung per SSH ist überall zusätzlich erlaubt.
  • Home Assistant nur per Schlüssel (hassio), API über den Supervisor-Token in der Sitzung.
  • Gitea per SSH (Port 222) mit Schlüssel am Konto ai.
  • TrueNAS: Konto ai, ausschließlich lesend.

Zugangsdaten

Zentral auf aipi unter ~/<dienst>/.env (Ordner 700, Datei 600), genutzt per SSH von jedem Rechner. Nie lokal, nie in Git.

unifipaperless-assistent (+ .env.schreiben)obsidianmarktanalysemassage-wachtnetcup-vpstruenas.samba-passwort

Absicherung der Systeme

  • Keine Host-Firewall und kein fail2ban auf den Servern; Trennung über VLANs und die UDM.
  • Aus dem Internet offen: nur 80/443 zum Proxy Manager sowie die Spiele-/SIP-Weiterleitungen.
  • Container auf aipi mit Speicher-/CPU-Grenzen; Containerseite und Architektur-Seite read-only ohne Rechte.
  • Docker-Logs begrenzt (VMs 20 MB × 3, aipi je Compose), Journal 200 MB.

Updates

  • Docker-VMs: unattended-upgrades täglich; Images per Watchtower 05:00.
  • aipi: keine automatischen Updates.
  • Home Assistant: nur nach Freigabe, vorher Backup.
  • Docker Engine 29.8, Compose 5.5 überall aus dem offiziellen Archiv.

Quellen und Git

Gitea auf docker-prod (http://gitea.prod.local). Alle Repos gehören christoph, Claude schreibt als ai.

RepoInhalt
softwareeigene Programme: marktanalyse, paperless-assistent, containerseite, architektur-seite, monitoring-portal, wp-fischer-lab
skriptepaperless-backup (Skript + systemd-Units), paperless-korrespondenten, massage-wacht
dockerStacks aus fertigen Images: obsidian inkl. smb.conf
semaphoreCompose-Dateien der Docker-VMs (docker-compose/), Architektur-Dokumente (infrastruktur/), Ansible-Archiv
claude-gedaechtnisAnweisungen und Gedächtnis für Claude (Systeme, Applikationen, Regeln)

Auffälligkeiten im Ist-Stand

Beobachtungen beim Erfassen – nichts davon wurde geändert.

aipi hat keine Sicherung; dort liegen die zentralen Zugangsdaten und Obsidian-Notizen.
Duplicati (docker-lab) läuft, hat aber keinen einzigen Sicherungsauftrag. Der Container sieht das komplette Dateisystem des Hosts.
VM-Sicherungen (NFSproxmox, 1,79 TB) liegen nur auf DataStorage – nicht auf dem zweiten Pool und nicht in pCloud.
Pool backup ist eine einzelne USB-Platte ohne Redundanz.
Portweiterleitung 32400 (Plex) zeigt auf docker-lab, Plex läuft auf docker-prod.
Proxy-Einträge ohne Ziel: semaphore.prod.local (Semaphore läuft nicht mehr), netbox.fischer-lab.de, kuma.dmz.local.
Mail für fischer-lab.de ist nicht zustellbar (MX auf tote Adresse) – deshalb ist die Website offline; der netcup-VPS ist dafür vorgesehen.