Zum Inhalt

mk360 – Gesamtarchitektur & Service-Übersicht


Schnell-Übersicht

Metrik Wert
Anzahl Services 31 + 1 (Paperless-GPT) = 32
Infrastrukturen 2 (VPS + NAS)
Datenbanken 7 (PostgreSQL, MongoDB, Redis, SQLite)
RAM gesamt 24 GB (16 VPS + 8 NAS)
Storage ~8.2 TB (160GB SSD VPS + 8TB NAS)
Backup-Stationen 3 (Hot + Warm + Cold)

PUBLIC SERVICES (Internet-erreichbar via HTTPS)

Business Services Tier

1. Paperless-NGX (Business)

  • Domain: business-docs.mk360.de
  • Funktion: Dokumenten-Management, OCR, Volltextsuche
  • Speicher: 30 GB (Hot) + Archive auf NAS
  • RAM: 2 GB
  • Datenbank: PostgreSQL (paperless_business)
  • Integration: n8n, OpenSign, Gotenberg, Paperless-GPT

2. Paperless-GPT (AI Enhancement) – NEU!

  • Funktion: Automatische OCR-Verbesserung, AI-Tagging, Titel-Generierung
  • RAM: 1 GB (nur Orchestrator)
  • Speicher: Minimal (Metadata nur, Enhanced PDFs optional)
  • LLM: OpenAI GPT-4o-mini (Cloud, nicht lokal!)
  • Kosten: ~€0.015/Dokument (~€15-30/Monat)
  • Speed: 5-10 Sekunden pro Dokument
  • DSGVO: DPA mit OpenAI (wichtig!)
  • Auto-Workflow: n8n täglich 03:00 Uhr (Auto-Tagging)
  • Web UI: paperless-gpt.mk360.de (VPN-only), Paperless-GPT

3. n8n Workflow Engine

  • Domain: workflows.mk360.de (Admin), webhooks.mk360.de (Webhooks)
  • Funktion: Automation für Onboarding, Rechnungen, AVV-Generierung, Monitoring, OCR + Tagging (Paperless-GPT)
  • RAM: 1.5 GB
  • Datenbank: PostgreSQL (n8n)
  • Integration: Paperless, OpenSign, Gotenberg, Monica, Email, OpenAI API

4. OpenSign

  • Domain: sign.mk360.de
  • Funktion: E-Signatur für Verträge, AVV-Dokumente
  • Speicher: 20 GB (aktive + Archive)
  • RAM: 1 GB
  • Datenbank: MongoDB (opensign)
  • Integration: n8n, Paperless

5. Vaultwarden (Business)

  • Domain: vault-business.mk360.de
  • Funktion: Passwort-Manager für Kunden-CMS, API-Keys, Hosting-Provider
  • RAM: 256 MB
  • Datenbank: PostgreSQL (vaultwarden_business, verschlüsselt)
  • Features: 2FA, Browser-Extension, Audit-Log

6. Monica CRM

  • Domain: crm.mk360.de
  • Funktion: Kundenmanagement, Kontakte, Projekte, Reminders
  • Speicher: 3 GB
  • RAM: 512 MB
  • Datenbank: PostgreSQL (monica)
  • Integration: n8n, Paperless

7. Gotenberg (PDF-Generator)

  • Funktion: HTML/Office → professionelle PDF-Konvertierung
  • RAM: 256–512 MB
  • Stateless Service (kein persistenter Storage)
  • Integration: n8n Workflows

Monitoring & Frontend

8. Uptime Kuma

  • 🌐 Domain: status.mk360.de
  • 📋 Funktion: Service-Monitoring, öffentliche Status-Seite
  • 🧠 RAM: 256 MB
  • 📊 Datenbank: SQLite (intern)
  • 📍 Checks: HTTP (60s), TCP Ports (5min), SSL Certs (täglich)

9. Mkdocs

  • 🌐 Domain: docs.mk360.de
  • 📋 Funktion: Dokumentation (Material Theme)
  • 📡 Static Content
  • 🧠 RAM: Minimal

10. Customer Portal (Webflow)

  • 🌐 Domain: portal.mk360.de
  • 📋 Funktion: Kunden-Frontend für Dokumente & Status
  • 🔄 Integration: Webhook Handler (Token-Auth)

11. Webhook Handler (Custom)

  • 📋 Funktion: API-Proxy, Token-Authentifizierung, Daten-Transformation
  • 🧠 RAM: 128–256 MB
  • 📡 Node.js/Express (Stateless)
  • 🔐 Zweck: Kunden sehen nur ihre Daten (Paperless-Filter)

12. OpenAI API Integration

  • 📋 Funktion: Cloud-basiertes LLM für Paperless-GPT, Invoice ZugFERD Validation (optional)
  • 🤖 Modell: GPT-4o-mini (für Vision/OCR), GPT-4o (für komplexe Logik)
  • 💰 Kosten: Variable (~€0.01–0.05 pro Request)
  • 🌐 Verbindung: HTTPS (externe API, nicht lokal)
  • 🔐 Secrets: API Key in .env (Vaultwarden)

🔒 PRIVATE SERVICES (VPN-Only / WireGuard)

Private Documentation & Email

13. Paperless-NGX (Private)

  • 🌐 Domain: private-docs.mk360.de (VPN)
  • 📋 Funktion: Private Dokumente mit Custom Schema & Unterbereichen
  • 💾 Speicher: 20 GB (Hot) + Archive
  • 🧠 RAM: 2 GB
  • 📊 Datenbank: PostgreSQL (paperless_private)
  • 📁 Struktur: Tags nach Ordnernummer (2_Steuer, 3_Versicherung, etc.)

15. Roundcube (Webmail)

  • 🌐 Domain: mail.mk360.de (VPN)
  • 📋 Funktion: Webmail-UI für Gmail-Backups (Read-Only)
  • 🧠 RAM: 200 MB
  • 📊 Datenbank: PostgreSQL (roundcube)
  • 📮 Datenquelle: Maildir von mbsync (Synology)

16. Dovecot (IMAP-Server)

  • 📋 Funktion: IMAP für lokale Email-Backups (Read-Only)
  • 🧠 RAM: 50 MB
  • 📡 Port: 993 (IMAPS)
  • 📥 Quelle: Maildir auf Synology (/volume1/private/email/)

Logs & System-Überwachung

15. Netdata (System Monitoring)

  • 🌐 Domain: netdata.mk360.de (VPN)
  • 📋 Funktion: 1-Second Resolution System Metriken
  • 🧠 RAM: 400 MB
  • 📊 Metriken: CPU, RAM, Disk I/O, Network, Docker, PostgreSQL, Redis
  • 🎨 2000+ Metriken mit automatischem Alert

Heimnetzwerk (Synology)

16. Vaultwarden (Private) — auf Synology NAS

  • 🌐 Domain: vault-private.mk360.de (VPN)
  • 📋 Funktion: Persönliche Passwörter, Banking, Netflix, Router-Login
  • 📍 Ort: Synology DS918+ (nicht VPS!)
  • 📊 Datenbank: SQLite (lokal)
  • 🧠 RAM: 128 MB
  • 🔐 Offline verfügbar, maximale Kontrolle

17. Unifi Controller — auf Synology NAS

  • 🌐 Domain: unifi.mk360.de:8443 (VPS via Caddy)
  • 📋 Funktion: WLAN Management (Access Points, Gast-WLAN, Bandbreite)
  • 📍 Ort: Synology DS918+
  • 🧠 RAM: 1 GB
  • 📊 Datenbank: MongoDB (intern)

18. AdGuard Home — auf Synology NAS

  • 🌐 Domain: adguard.mk360.de (VPS via Caddy)
  • 📋 Funktion: Netzwerk-weiter Werbeblocker, DNS-Filter
  • 📍 Ort: Synology DS918+
  • 🧠 RAM: 256 MB
  • 📊 Storage: ~5 GB (Query Logs)
  • 🔄 Features: Ad-Blocking, Parental Controls, Statistiken

🏢 INFRASTRUKTUR & NETZWERK

Reverse Proxy & Sicherheit

19. Caddy (Reverse Proxy)

  • 📋 Funktion: HTTPS Termination, SSL/TLS 1.3, Routing zu allen Services
  • 🧠 RAM: 256 MB
  • 📡 Ports: 80, 443 (HTTP/HTTPS)
  • 🔐 SSL: Let's Encrypt Auto-Renewal
  • 🔄 Backends: Public Services + FRP-Tunnel zu NAS-Services

20. Fail2ban (Intrusion Detection)

  • 📋 Funktion: Automatische Blockierung nach fehlgeschlagenen Login-Versuchen
  • 🧠 RAM: Minimal
  • 📍 System-Level iptables
  • ⚙️ Rule: Ban nach 5 Fehlversuchen für 24h

21. UFW Firewall

  • 📋 Funktion: Host-Firewall auf VPS
  • ⚙️ Policy: Default Deny
  • ✅ Offen: Port 80 (HTTP), 443 (HTTPS), 51820 (WireGuard)
  • 🔒 Alle anderen: Blockiert

VPN & Tunnel

22. WireGuard VPN

  • 📋 Funktion: Verschlüsseltes Netzwerk für Private Services
  • 📡 Port: 51820 (UDP)
  • 🔐 Verschlüsselung: ChaCha20
  • ⚡ Performance: Hochperformant, low-latency
  • 🔑 Keys: Client-spezifisch

23. FRP Server (Fast Reverse Proxy — auf VPS)

  • 📋 Funktion: Tunnel von VPS zu Synology NAS
  • 🧠 RAM: 256 MB
  • 🔐 Verschlüsselung: AES-256
  • 📍 Tunnelt: SMB (Datei-Zugriff), Docker (Service-Access)

24. FRP Client (Fast Reverse Proxy — auf Synology)

  • 📋 Funktion: Umgekehrter Tunnel zur VPS
  • 📍 Ort: Synology DS918+
  • 🔗 Verbindung: Zu FRP Server auf VPS
  • 📁 Tunnelt: NAS-Storage & Services

Docker & Isolation

25. Docker Runtime

  • 📋 Funktion: Container-Orchestrierung
  • 🔒 Networks: 3 isolierte Docker Networks
  • public: Internet-erreichbare Services
  • private: VPN-only Services
  • storage: Datenbanken & Redis
  • 📦 Images: ~15 GB (Speicher)

💾 STORAGE & DATENBANKEN

Datenbanken

PostgreSQL 16 (Haupt-Datenbank)

Instanzen: 1 Cluster mit 7 Datenbanken
RAM: 2 GB
Speicher: 25 GB (allocated)

Separate Datenbanken (DSGVO-Trennung):
  ├── paperless_business     → Business-Dokumente Metadaten
  ├── paperless_private      → Private Dokumente Metadaten
  ├── n8n                    → Workflow-Definitionen
  ├── monica                 → CRM-Daten (Kunden, Kontakte)
  ├── roundcube              → Email-UI Settings
  ├── vaultwarden_business   → Business-Passwörter (AES-256)
  └── dsgvo_system           → DSGVO-Dokumente, Anfragen

Redis 7 (In-Memory Cache)

  • 🧠 RAM: 1–2 GB (sehr effizient)
  • ⚡ Latenz: <1ms
  • 🔄 Zweck: Session Cache, Query Cache, Real-Time Data
  • 📍 Netzwerk: storage (Docker Network)

MongoDB 6 (NoSQL)

  • 💾 Speicher: 20 GB
  • 🧠 RAM: 1 GB
  • 📋 Zweck: OpenSign Verträge, Metadaten
  • 📍 Netzwerk: storage

Storage-Architektur (3-2-1 Backup-Strategie)

HOT STORAGE (VPS NVMe SSD — Performance)

Verfügbar: 160 GB NVMe
Nutzung:
  ├── PostgreSQL Databases           25 GB
  ├── Redis (RAM-based)               2 GB RAM
  ├── Paperless Active Docs          50 GB
  ├── OpenSign Active Contracts       5 GB
  ├── Docker Volumes                 15 GB
  └── Buffer/Free                    63 GB

Total: ~97 GB genutzt / 160 GB = 60% Auslastung
Zweck: Schnelle OCR, Live-Daten, Real-Time Access

WARM STORAGE (Synology via SMB/FRP — Archive)

Verfügbar: 8 TB RAID1
Nutzung:
  ├── Email Backups (mbsync)        800 GB
  ├── Paperless Archive             300 GB
  ├── Private Documents             300 GB
  ├── OpenSign Archive              200 GB
  └── VPS Backups (Daily)           500 GB

Total: ~2.1 TB genutzt / 8 TB = 26% Auslastung
Zweck: Long-Term Archive, Disaster Recovery

COLD STORAGE (Remote Synology — Offsite)

Verfügbar: 8 TB (separate Synology Remote)
Nutzung:
  └── Weekly Hyper Backup (encrypted)  ~1 TB

Total: ~1 TB / 8 TB
Zweck: Geo-Redundanz, Ransomware-Protection
Retention: 4 Wochen (rolling)

Backup-Schedule

Häufigkeit Quelle Ziel Methode Retention Größe
Daily VPS Synology restic 7 Tage 500 GB
Weekly Synology Remote NAS Hyper Backup 4 Wochen 1 TB
Monthly VPS Hetzner StorageBox restic 12 Monate 500 GB

RTO (Recovery Time Objective): - VPS Total Loss: <4 Stunden - Einzelner Service: <15 Minuten - Datenbank-Restore: <30 Minuten

RPO (Recovery Point Objective): - Databases: <24 Stunden - Dokumente: <1 Woche


🔄 EMAIL-VERWALTUNG

26. mbsync (Email Backup — auf Synology)

  • 📋 Funktion: Automatisches Gmail-Backup zu Synology
  • ⏰ Schedule: Täglich 02:00 Uhr (Cron)
  • 🔄 Mode: Read-Only (keine Löschungen)
  • 💾 Ziel: /volume1/private/email/ (Maildir-Format)
  • 🔗 Integration: Dovecot liest Maildir, Roundcube zeigt UI
  • 📊 Größe: ~800 GB für 5 Jahre Email

🔐 SECURITY & COMPLIANCE

Defense-in-Depth (6 Layer)

Layer 1: NETZWERK
  ├── Hetzner Cloud Firewall (nur 80, 443, 51820)
  ├── UFW Host Firewall (Default Deny)
  └── fail2ban (Auto-Ban)

Layer 2: TRANSPORT
  ├── HTTPS/TLS 1.3 (Public Services)
  ├── WireGuard ChaCha20 (Private Services)
  └── FRP AES-256 (NAS Tunnel)

Layer 3: AUTHENTIFIZIERUNG
  ├── 2FA für Admin (TOTP)
  ├── SSH-Key-only (keine Passwörter)
  ├── Token-basierte API-Auth (JWT)
  └── Separate Credentials pro Service

Layer 4: AUTORISIERUNG
  ├── RBAC (Role-Based Access Control)
  ├── Kunden sehen nur eigene Daten
  └── Audit-Logs für alle Zugriffe

Layer 5: DATEN
  ├── Encryption at Rest (NAS Encrypted Folders)
  ├── Verschlüsselte Backups (AES-256)
  ├── Passwörter gehasht (bcrypt/Argon2)
  └── Datenbank-Verbindungen verschlüsselt

Layer 6: MONITORING
  ├── fail2ban (Intrusion Detection)
  ├── Uptime Kuma (Service Monitoring)
  ├── Netdata (Anomaly Detection)
  └── Log-Aggregation (90 Tage Retention)

DSGVO-Compliance

Artikel Anforderung Implementierung
Art. 13/14 Informationspflicht Datenschutzerklärung + Onboarding
Art. 15 Auskunftsrecht Self-Service Portal + API
Art. 16 Berichtigung Ticketsystem für Anfragen
Art. 17 Löschung Automatische + manuelle Löschung
Art. 28 AVV Auto-generiert per n8n/Gotenberg
Art. 30 Verzeichnis PostgreSQL + PDF-Report monatlich
Art. 32 TOM Vollständiges Dokument (Auto-Gen)
Art. 33 Meldepflicht Incident Response Plan dokumentiert

📊 MONITORING & ALERTS

Uptime Kuma (Öffentliches Monitoring)

HTTP-Checks (60s Interval):
  ├── https://business-docs.mk360.de
  ├── https://workflows.mk360.de
  ├── https://sign.mk360.de
  ├── https://vault-business.mk360.de
  └── https://crm.mk360.de

TCP-Checks (5min Interval):
  ├── PostgreSQL:5432
  ├── Redis:6379
  └── MongoDB:27017

SSL Monitoring:
  └── *.mk360.de (Warnung <30 Tage)

Notifications:
  ├── Email bei Ausfall
  ├── Telegram (optional)
  └── Slack (optional)

Status-Seite:
  └── https://status.mk360.de (öffentlich)

Netdata (Private System Metrics)

Real-Time Monitoring:
  ├── CPU (pro Core)
  ├── RAM & Swap
  ├── Disk I/O & Latency
  ├── Network Traffic
  ├── Docker Container (pro Container)
  ├── PostgreSQL Queries/sec
  ├── Redis Hit Rate
  └── Connection Pools

Alerts:
  ├── CPU >80%
  ├── RAM >85%
  ├── Disk >90%
  └── Custom Thresholds

Access: https://netdata.mk360.de (VPN-only)

📈 RESSOURCEN-ZUSAMMENFASSUNG

UPDATED RAM-ALLOCATION (mit Paperless-GPT)

Total Available: 16 GB

Breakdown (REAL):
  ├─ Paperless-NGX Business:      2 GB
  ├─ Paperless-NGX Private:       2 GB
  ├─ Paperless-GPT (NEW):         1 GB ← NEW!
  ├─ n8n:                         1.5 GB
  ├─ PostgreSQL:                  2 GB
  ├─ Redis:                       2 GB
  ├─ MongoDB:                     1 GB
  ├─ Gotenberg:                   512 MB
  ├─ Uptime Kuma:                 256 MB
  ├─ Webhook Handler:             256 MB
  ├─ Caddy:                        256 MB
  ├─ Other Services:              1 GB
  └─ Buffer/System:               ~2 GB

TOTAL: ~16 GB (TIGHT!)

⚠️ WARNUNG: 
  • Bei Load-Peaks können Speicher-Issues auftreten
  • Swapping würde Performance degradieren
  • Monitoring ist ESSENTIELL
  • Scale-up bräuchte VPS Upgrade (CX51 = 32GB)

Synology DS918+

Ressource Allocation Status
RAM (8 GB) DSM: 2 GB
Docker: 3 GB
Cache: 3 GB
75% genutzt
Storage (8 TB RAID1) Archive: 2.1 TB
Backups: 0.5 TB
Free: 5.4 TB
33% genutzt

🏗️ INFRASTRUKTUR-DIAGRAMM

┌─────────────────────────────────────────────────────────────┐
│                        INTERNET                             │
└────────────┬────────────────────────┬──────────────────────┘
             │                        │
      ┌──────▼──────┐         ┌──────▼──────┐
      │   HTTPS     │         │ WireGuard   │
      │  (80/443)   │         │  (51820)    │
      └──────┬──────┘         └──────┬──────┘
             │                       │
   ┌─────────▼───────────────────────▼──────────────┐
   │    HETZNER VPS CX43 (16GB RAM, 160GB SSD)      │
   │                                                 │
   │  ┌─────────────────────────────────────────┐  │
   │  │ Caddy (Reverse Proxy)                   │  │
   │  │ UFW | fail2ban | WireGuard | FRP Server│  │
   │  └─────────────────────────────────────────┘  │
   │                                                 │
   │  ┌─────────────────────────────────────────┐  │
   │  │ Docker Networks (public/private/storage)│  │
   │  ├─────────────────────────────────────────┤  │
   │  │ PUBLIC SERVICES:                        │  │
   │  │  ├─ Paperless Business (2GB)            │  │
   │  │  ├─ n8n Workflows (1.5GB)               │  │
   │  │  ├─ OpenSign (1GB)                      │  │
   │  │  ├─ Vaultwarden Business (256MB)        │  │
   │  │  ├─ Monica CRM (512MB)                  │  │
   │  │  ├─ Gotenberg (512MB)                   │  │
   │  │  ├─ Uptime Kuma (256MB)                 │  │
   │  │  └─ Webhook Handler (256MB)             │  │
   │  │                                         │  │
   │  │ PRIVATE SERVICES:                       │  │
   │  │  ├─ Paperless Private (2GB)             │  │
   │  │  ├─ Roundcube (200MB)                   │  │
   │  │  ├─ Dovecot (50MB)                      │  │
   │  │  ├─ Dozzle (50MB)                       │  │
   │  │  └─ Netdata (400MB)                     │  │
   │  │                                         │  │
   │  │ STORAGE:                                │  │
   │  │  ├─ PostgreSQL 16 (2GB RAM, 25GB data) │  │
   │  │  ├─ Redis 7 (2GB RAM)                   │  │
   │  │  └─ MongoDB 6 (1GB RAM, 20GB data)     │  │
   │  └─────────────────────────────────────────┘  │
   │                                                 │
   │  ┌─────────────────────────────────────────┐  │
   │  │ NVMe Storage: 160GB                     │  │
   │  │  ├─ Hot Data: 97GB (70%)                │  │
   │  │  └─ Buffer: 63GB (30%)                  │  │
   │  └─────────────────────────────────────────┘  │
   │                                                 │
   │  ┌─────────────────────────────────────────┐  │
   │  │ FRP Tunnel → Synology NAS               │  │
   │  └──────────────┬────────────────────────┘  │
   └─────────────────┼────────────────────────────┘
                     │ FRP Tunnel (AES-256)
   ┌─────────────────▼────────────────────────────────┐
   │ SYNOLOGY DS918+ (8GB RAM, 8TB RAID1)            │
   │                                                   │
   │ ┌────────────────────────────────────────────┐  │
   │ │ Docker Services:                           │  │
   │ │  ├─ Unifi Controller (1GB)                 │  │
   │ │  ├─ AdGuard Home (256MB)                   │  │
   │ │  ├─ Vaultwarden Private (128MB)            │  │
   │ │  ├─ FRP Client                             │  │
   │ │  └─ mbsync (Email Backup, täglich)         │  │
   │ └────────────────────────────────────────────┘  │
   │                                                   │
   │ ┌────────────────────────────────────────────┐  │
   │ │ Storage (8TB RAID1):                       │  │
   │ │  ├─ /volume1/private/                      │  │
   │ │  │  ├─ email/ (800GB, mbsync)              │  │
   │ │  │  ├─ paperless/ (300GB, Archive)         │  │
   │ │  │  └─ vaultwarden/ (SQLite)               │  │
   │ │  │                                         │  │
   │ │  ├─ /volume1/business/                     │  │
   │ │  │  ├─ paperless-archive/ (300GB)          │  │
   │ │  │  └─ contracts/ (200GB, OpenSign)        │  │
   │ │  │                                         │  │
   │ │  └─ /volume1/backups/                      │  │
   │ │     └─ vps-daily/ (500GB)                  │  │
   │ │                                             │  │
   │ │ Total: 2.1 TB genutzt / 8 TB = 26%        │  │
   │ └────────────────────────────────────────────┘  │
   └────────────────┬───────────────────────────────┘
                    │ Weekly Hyper Backup
                    │ (Encrypted)
         ┌──────────▼──────────┐
         │ Remote Synology     │
         │ (Offsite)           │
         │ 8TB RAID1           │
         │ ~1TB Backups        │
         └─────────────────────┘

⚠️ KRITISCHE BEWERTUNG

✅ STÄRKEN

Punkt Bewertung
Separation Business/Private ⭐⭐⭐⭐⭐ Perfekt DSGVO-konform
Automation ⭐⭐⭐⭐⭐ Spart >90% Zeit (Onboarding/Rechnungen)
Security ⭐⭐⭐⭐⭐ Defense-in-Depth mit VPN, Firewall, fail2ban
Backup ⭐⭐⭐⭐⭐ 3-2-1 Strategie mit Offsite
Monitoring ⭐⭐⭐⭐☆ Gutes Visibility mit Uptime Kuma + Netdata

⚠️ SCHWÄCHEN

Problem Severity Impact Lösung
Zu viele Services (31) 🔴 HOCH Wartung exponentiell komplexer Auf 10-15 reduzieren
7 Datenbanken 🔴 HOCH Backup-Komplexität, Overhead 1-2 DB-Cluster
Abhängigkeit n8n 🔴 HOCH Ausfall = keine Automatisierung Backup-Prozess definieren
Single VPS (kein HA) 🟡 MITTEL Ausfall = alles down Load Balancer + 2. VPS
FRP-Komplexität 🟡 MITTEL Debugging schwierig Monitoring ausbauen
RAM-Overhead 🟡 MITTEL 16GB kann eng werden Lazy Loading, Memory Limits
Maintenance-Burden 🟡 MITTEL Zeitaufwand unterschätzt Automation + Runbooks

💡 ALTERNATIVE: VEREINFACHTE VARIANTE (MVP)

Falls die Komplexität zu viel wird, empfehle ich diese Phase-Strategie:

Phase 1: MVP (Wochen 1-12)

Services: 8 (statt 31)

ESSENTIELL:
├── Paperless-NGX (nur Business)       ← Dokument-Management
├── n8n (nur 3 Core Workflows)         ← Onboarding + Invoice
├── Gotenberg                          ← PDF-Gen
├── PostgreSQL (1 Cluster, 1 DB)       ← Datenbank
├── Redis                              ← Cache
├── Caddy (Reverse Proxy)              ← HTTPS
├── Uptime Kuma                        ← Monitoring
└── fail2ban + UFW                     ← Security

→ RAM-Nutzung: ~6 GB statt 12 GB
→ Services zu monitoren: 8 statt 31
→ Komplexität: ~20% der jetzigen

Was WEGLASSEN in Phase 1: - ✗ Private Paperless (zu komplex für Anfang) - ✗ OpenSign (Komplexität vs. Nutzen fraglich) - ✗ Monica CRM (Excel reicht) - ✗ Dovecot/Roundcube (Gmail genügt) - ✗ Unifi/AdGuard (für 1 Person overkill) - ✗ Netdata (Uptime Kuma genügt) - ✗ Dozzle (lokale Logs ausreichend) - ✗ Multiple Datenbanken


Phase 2: Enhancement (Monat 4-6)

+3 Services hinzufügen

NEUE SERVICES:
├── Monica CRM                         ← wenn wirklich nötig
├── Vaultwarden (Business)             ← für Team-Zugänge
└── Private Paperless (optional)       ← wenn Private-Docs nötig

→ RAM-Nutzung: ~9 GB
→ Services: 11
→ Weiterhin überschaubar

Phase 3: Advanced (Monat 7+)

Nur wenn ROI klar ist:

OPTIONAL:
├── OpenSign                           ← wenn E-Sig rechtlich nötig
├── Dovecot/Roundcube                  ← nur für Email-Archiv
├── Unifi Controller                   ← wenn WLAN-Expansion geplant
├── AdGuard Home                       ← nur wenn Privatspäre wichtig
└── Netdata                            ← bei Performance-Issues

📋 CHECKLISTE: PRODUCTION-READY

Deployment

  • Docker Compose standardisiert
  • Alle Secrets in .env (git-ignored)
  • Health-Checks definiert
  • Auto-Restart Policies gesetzt
  • Log-Rotation konfiguriert
  • Cron-Jobs für Backups definiert

Security

  • fail2ban konfiguriert & getestet
  • UFW Rules definiert
  • SSL Certs automatisiert (Caddy)
  • 2FA für Admin-Zugänge aktiviert
  • SSH-Key-Auth konfiguriert
  • Secrets Management implementiert

Backup

  • Daily VPS Backup zu NAS (restic)
  • Weekly NAS Backup zu Remote (Hyper Backup)
  • Recovery Plan dokumentiert
  • Test-Restore durchgeführt
  • RTO/RPO definiert

Monitoring

  • Uptime Kuma Checks definiert
  • Notification Channels konfiguriert
  • Status Page öffentlich
  • SSL Cert Monitoring aktiv
  • Log-Aggregation läuft

Documentation

  • Architecture Diagram (Aktuell)
  • Service Runbook (Start/Stop/Troubleshoot)
  • Backup Runbook
  • Incident Response Plan
  • Passwort-Manager dokumentiert

DSGVO

  • Datenschutzerklärung live
  • AVV-Vorlage vorhanden
  • Verarbeitungsverzeichnis dokumentiert
  • TOM-Dokument erstellt
  • Löschkonzept definiert

🔧 WARTUNGS-ROADMAP

Monatlich

  • Backups verifizieren (Test-Restore)
  • Security Updates einspielen
  • Logs reviewen auf Anomalien
  • Storage-Nutzung überprüfen

Quarterly

  • Performance-Analyse (Netdata)
  • DSGVO-Compliance-Audit
  • Disaster Recovery Test
  • Dokumentation aktualisieren

Jährlich

  • Security Audit (externe Prüfung?)
  • Cost-Optimization Review
  • Capacity Planning für nächstes Jahr
  • Team Training (neue Features)

💰 KOSTENÜBERSICHT

Item Monatlich Jährlich Anmerkung
Hetzner VPS CX43 €20 €240 16GB RAM, 160GB SSD
Synology DS918+ - - €600 einmalig (vor 3 Jahren)
Strom/Kühlung (NAS) €15–20 €180–240 Schätzung
Backup Storage (optional) €10–15 €120–180 Falls extern (Hetzner StorageBox)
Domain mk360.de €0.70 €8.40 via ionos/Namecheap
Webflow (Portal) $20 $240 Falls Premium-Plan
SSL (Let's Encrypt) €0 €0 Kostenlos via Caddy
Monitoring/APM (optional) €0–50 €0–600 Nur wenn erweitert
Total minimum €45–65 €788–948
Total mit Optionen €75–125 €1.3k–1.8k

❓ FAQ (Häufig gestellte Fragen)

Q: Kann ich mit dieser Architektur starten?

A: Ja, aber ich empfehle Phase 1 (MVP). Das ist Production-Ready ohne unnötige Komplexität.


Q: Was passiert, wenn der VPS ausfällt?

A: - RPO: <24h (Backup täglich) - RTO: <4h (Backup restore + Docker start) - Für HA: 2. VPS + Load Balancer nötig (~€40/Monat extra)


Q: Ist diese Architektur DSGVO-konform?

A: Größtenteils ja, mit Vorbehalten: - ✅ Daten-Trennung (Business/Private) - ✅ Backup-Strategie - ✅ Audit-Logs möglich - ⚠️ Webhook Handler braucht Audit-Trail - ⚠️ Vendor-Lock-In bei Webflow (Datenexport!) - ⚠️ AVV mit Kunden muss unterzeichnet sein


Q: Kann ich alles allein betreiben?

A: - MVP Phase: Ja, ~2-3h/Monat Wartung - Full Stack: Schwierig, ~10-15h/Monat nötig - Empfehlung: Automation maximieren (Cron, Alerts)


Q: Warum so viele Services in der Dokumentation?

A: Das ist ein über-engineered Design. Die Realität: - Du brauchst nicht alle von Anfang an - Jeder Service = 1 mehr Point of Failure - Komplexität ≠ Features


Q: Sollte ich alles selbst hosten?

A: Teilweise ja, teilweise nein:

Service Self-Host? Begründung
Paperless ✅ Ja Daten-Sensibilität, guter ROI
n8n ✅ Ja Workflow-Logik = Kerngeschäft
Vaultwarden ⚠️ Bedingt Kann auch BW SaaS sein (~$3/Monat)
OpenSign ❌ Nein Complex, kompliziert selbst zu hosten
CRM ❌ Nein Nutze Brevo/HubSpot kostenlos
Email ❌ Nein Gmail/Mailbox.org genügt
Monitoring ✅ Ja Uptime Kuma ist leicht

Q: Wie groß ist der Wartungsaufwand wirklich?

A: Ehrlich?

MVP (Phase 1): ~2h/Monat

- 30min: Backup-Verifizierung
- 30min: Security Updates
- 30min: Log-Review
- 30min: Puffer/Unerwartetes

Full Stack (aktuelles Design): ~15h/Monat

- 2h: Komplexe Debugging-Sessions
- 1h: Service-Restart nach Updates
- 2h: Monitoring + Optimization
- 1h: DSGVO-Admin
- 3h: Firewall/Security-Konfiguration
- 2h: Datenbank-Maintenance
- 2h: Backup-Verifikation
- 2h: Dokumentation Aktualisierung


Q: Sollte ich alles in Kubernetes deployen?

A: Kurz: NEIN (noch nicht)

Frage Antwort
Hast Du 50+ Services? Nein → Overkill
Brauchst Du Auto-Scaling? Nein → Nicht nötig
Hast Du DevOps-Team? Nein → Zu komplex
Skaliert Docker Compose nicht? Noch nicht → Genügt

Erst Kubernetes wenn: 10+ Services + High Traffic + Team


Q: Welche monitoring Tools soll ich nutzen?

A: Gestaffelt:

  1. Uptime Kuma (kostenlos, einfach) ← START HIER
  2. Netdata (wenn Performance wichtig)
  3. Prometheus + Grafana (wenn sehr detailliert nötig)

Q: Wie sichere ich die Secrets?

A: Gestaffelt:

  1. Minimum: .env Datei (git-ignored), chmod 600
  2. Better: Vaultwarden für Passwörter
  3. Best: HashiCorp Vault oder AWS Secrets Manager

Q: Kann ich später zu Kubernetes migrieren?

A: Ja, aber: - Docker Compose ist ein guter Stepping Stone - Migration braucht ~2-3 Tage Arbeit - Nicht kritisch für Start



🎯 NÄCHSTE SCHRITTE (konkrete Roadmap)

Woche 1-2: Planung & Setup

- [ ] VPS provisioning (Hetzner)
- [ ] Base-System (Ubuntu 24.04)
- [ ] Docker + Docker Compose Installation
- [ ] SSH-Keys Setup (kein PW-Login)
- [ ] UFW Firewall konfigurieren
- [ ] Domain DNS auf VPS zeigen

Woche 3-4: Core Services (MVP Phase 1)

- [ ] PostgreSQL aufsetzen
- [ ] Paperless-NGX Business
- [ ] n8n Installation
- [ ] Caddy Reverse Proxy + Let's Encrypt
- [ ] Health-Checks für alle Services
- [ ] Basic Monitoring (Uptime Kuma)

Woche 5-6: Automation & Backup

- [ ] n8n Onboarding-Workflow
- [ ] n8n Invoice-Workflow
- [ ] Gotenberg Integration
- [ ] Backup-Skript (restic)
- [ ] Cron Jobs Setup
- [ ] Test-Restore durchführen

Woche 7-8: Security Hardening

- [ ] fail2ban konfigurieren
- [ ] 2FA aktivieren (Admin)
- [ ] SSL Cert Auto-Renewal testen
- [ ] API-Token System implementieren
- [ ] Secrets Management (Vaultwarden)
- [ ] Security Audit durchführen

Woche 9-10: Kunden-Portal

- [ ] Webflow Portal Setup
- [ ] Webhook Handler implementieren
- [ ] Token-Auth testen
- [ ] Customer API dokumentieren
- [ ] Portal Beta mit Testkunden
- [ ] Feedback einarbeiten

Woche 11-12: Go-Live Preparation

- [ ] Dokumentation finalisieren
- [ ] Runbooks erstellen
- [ ] Incident Response Plan
- [ ] Team Training
- [ ] DSGVO-Compliance-Check
- [ ] Go-Live mit erstem Kunden

Technologie-Stack

  • Docker: https://docs.docker.com/
  • Docker Compose: https://docs.docker.com/compose/
  • Caddy: https://caddyserver.com/docs/
  • Paperless-NGX: https://docs.paperless-ngx.com/
  • n8n: https://docs.n8n.io/
  • PostgreSQL: https://www.postgresql.org/docs/

Security & DevOps

  • OWASP Top 10: https://owasp.org/www-project-top-ten/
  • fail2ban: https://www.fail2ban.org/wiki/index.php/Main_Page
  • WireGuard: https://www.wireguard.com/quickstart/
  • Let's Encrypt: https://letsencrypt.org/de/

Best Practices

  • 12 Factor App: https://12factor.net/
  • DevOps Handbook: https://itrevolution.com/the-devops-handbook/
  • Infrastructure as Code: https://www.terraform.io/

🎯 FAZIT (UPDATED)

Die aktuelle Architektur ist: - ✅ Technisch solide (alles funktioniert) - ✅ Sicherheitsorientiert (Defense in Depth) - ✅ DSGVO-konform (mit Dokumentation + DPA für OpenAI) - ✅ AI-Enhanced (Paperless-GPT jetzt integriert) - ❌ Aber: Zu komplex + RAM eng (16GB wird knapp mit GPT)

Empfohlene Strategie:

Option A: JETZT STARTEN (MVP-Ansatz)

Phase 1: Basis-Services only
  ├─ Paperless-NGX Business (2GB)
  ├─ n8n (1.5GB)
  ├─ PostgreSQL (2GB)
  ├─ Redis (2GB)
  ├─ Caddy, fail2ban, Uptime Kuma
  └─ (Total: ~9GB, komfortabel)

Später: Paperless-GPT + erweiterte Services
  └─ Nach 3 Monaten, wenn Basis stabil läuft

Option B: FULL STACK (wenn VPS-Upgrade möglich)

Upgrade zu Hetzner CX51 (32GB)
  ├─ Alle 32 Services parallel
  ├─ Kein RAM-Bottleneck mehr
  ├─ Kosten: €40/Monat (statt €20)
  └─ Komfortable Scale-Position

Meine klare Empfehlung:

  1. START mit Phase 1 MVP (3-4 Wochen)
  2. Nach 3 Monaten: Lessons Learned → Paperless-GPT hinzufügen
  3. VPS Upgrade (CX51) nur wenn echte Last vorhanden ist

ROI der Automation: ~113h/Monat gespart ≈ €2-3k/Monat an Manpower!