meldestelle/docs/01_Architecture/Minisforum-MS-R1/SSoT_Konfigurations-Masterplan_Zora.md
Stefan Mogeritsch 5ab0c9524e docs: update architecture to reflect Proxmox migration and correct network configurations
Revised multiple documents to align with the migration from Incus to Proxmox VE 8.4.10. Updated hypervisor, IP ranges, subnet details, and NAT configurations across all relevant files. Marked Incus sections as historical for clarity. Added AI-Stack setup guide for Proxmox LXC.
2026-03-06 13:50:56 +01:00

6.8 KiB

type status owner
Reference ACTIVE DevOps Engineer

SSoT Konfigurations-Masterplan für Zora (ARM64)

1. System-Umgebung (Infrastruktur)

Parameter Wert Erklärung
Architektur linux/arm64 Native Architektur von Zora (CIX P1 / CP8180).
Hypervisor Proxmox VE 8.4.10 pve.mo-code.at — Web-UI: https://pve.mo-code.at:8006
Proxmox-Node-IP 10.0.0.20 SSH: ssh root@10.0.0.20
Netz-Bridge vmbr0 Alle VMs und Container im Subnetz 10.0.0.0/24
Gateway (Router) 10.0.0.138 Standard-Gateway für alle VMs/Container

VM & Container Übersicht

ID Name Typ IP Start-Reihenfolge Zweck
100 pangolin-client LXC 10.0.0.21 order=1, up=30 Pangolin Tunnel Client
101 gitea LXC 10.0.0.22 order=2, up=30 Gitea Server
102 gitea-runner VM 10.0.0.23 Gitea CI/CD Runner (aarch64)
103 immich LXC 10.0.0.24 order=3, up=30 Immich Foto-Server
110 meldestelle-host VM 10.0.0.50 Docker App-Stack
111 ai-stack LXC 10.0.0.60 Ollama + Open WebUI (geplant)

Detaillierte Ressourcen-Konfiguration

CT 100 — pangolin-client (LXC)

Parameter Wert
OS Ubuntu, arm64
CPU 4 Cores (cpulimit=4)
RAM 512 MiB + 512 MiB Swap
Disk 8 GB (local:100/vm-100-disk-0.raw)
Netzwerk eth0 → vmbr0, IP 10.0.0.21/24, GW 10.0.0.138, Firewall: Yes
Typ Unprivileged, nesting=1
Autostart Ja — order=1, up=30

CT 101 — gitea (LXC)

Parameter Wert
OS Ubuntu, arm64
CPU 4 Cores
RAM 1.00 GiB + 512 MiB Swap
Disk 20 GB (local:101/vm-101-disk-0.raw)
Netzwerk eth0 → vmbr0, IP 10.0.0.22/24, GW 10.0.0.138, Firewall: Yes
Typ Unprivileged, nesting=1
Autostart Ja — order=2, up=30

CT 103 — immich (LXC)

Parameter Wert
OS Ubuntu, arm64
CPU 8 Cores
RAM 10.00 GiB + 512 MiB Swap
Root Disk 200 GB (local:103/vm-103-disk-0.raw)
Mount Point mp0: /mnt/immich_gross/mnt/fotos (Foto-Bibliothek)
Netzwerk eth0 → vmbr0, IP 10.0.0.24/24, GW 10.0.0.138, Firewall: Yes
Typ Unprivileged, nesting=1, keyctl=1, fuse=1
Autostart Ja — order=3, up=30

VM 102 — gitea-runner (QEMU/KVM)

Parameter Wert
BIOS OVMF (UEFI)
Machine virt (ARM64)
CPU 8 Cores (1 Socket, host-type, numa=1)
RAM 16.00 GiB (balloon=0, kein Dynamic Memory)
Disk 50 GB SSD (local:102/vm-102-disk-1.qcow2, aio=io_uring, iothread=1)
EFI Disk local:102/vm-102-disk-0.qcow2, efitype=4m, 64 MB
Netzwerk virtio, bridge=vmbr0, Firewall: Yes
SCSI VirtIO SCSI single

2. Mail-Relay (SSoT Identity)

Diese Daten müssen in der Spring Boot application.yml oder .env abgeglichen werden.

  • SMTP-Host: 10.0.0.20 (Zora Proxmox-Node als Mail-Relay)
  • SMTP-Port: 25 (Passwortloser interner Zugriff via mynetworks)
  • Absender: zora@mo-code.at (Verifizierte World4You Identität)

3. Docker-Image Checkliste (ARM64 Kompatibilität)

Dienst Empfohlenes Image Status
Datenbank postgres:16-alpine ARM64 Support: Ja
Cache valkey/valkey:9-alpine ARM64 Support: Ja (Besserer Support als Redis)
Identity quay.io/keycloak/keycloak:26.4 ARM64 Support: Ja (Offiziell)
Monitoring prom/prometheus:v3.7.3 ARM64 Support: Ja
Dashboards grafana/grafana:12.3 ARM64 Support: Ja

4. Backend & Gateway (Spring Boot)

  • Base Image: eclipse-temurin:25-jre-alpine (ARM64-native, via Gitea-Pipeline gebaut)
  • Build-Prozess: Gitea-Runner (VM 102, 10.0.0.23) baut nativ für linux/arm64

5. Keycloak SSoT Integration

  • External Issuer: http://10.0.0.50:8180/realms/meldestelle
  • Internal Issuer: http://keycloak:8080/realms/meldestelle (Docker-intern)
  • Client-IDs: api-gateway, web-app

6. Pangolin Tunnel Routing

Pangolin läuft auf CT 100 (pangolin-client, 10.0.0.21) als Tunnel-Client zu pangolin.mo-code.at.

Route Ziel (intern) Port Sichtbarkeit
api.mo-code.at 10.0.0.50 8081 Öffentlich
auth.mo-code.at 10.0.0.50 8180 Öffentlich
git.mo-code.at 10.0.0.22 3000 Öffentlich
photos.mo-code.at 10.0.0.24 2283 Nur intern / VPN
ai.mo-code.at 10.0.0.60 3001 Nur intern / VPN