system-settings
Enterprise Home-Server-Infrastruktur
Diese Dokumentation beschreibt die Architektur und das Zusammenspiel der Dienste für die Domains *.lcars (Lokal) und *.holler.pro (Öffentlich).
1. Die Kernkomponenten
CoreDNS
Service Discovery
Verwaltet die zonale Auflösung für .lcars. Er fungiert als Authoritative DNS für das interne Netz.
Caddy
Edge Router & Proxy
Übernimmt das HTTPS-Handling, die Zertifikatsverwaltung und das Load Balancing.
Step-CA
Interne PKI
Erstellt und verwaltet TLS-Zertifikate für die lokale .lcars Domain (Internal Trust).
LLDAP
User Directory
Ein leichtgewichtiger LDAP-Server zur zentralen Speicherung von Benutzern und Gruppen.
Authelia
Identity Provider
Ermöglicht Single Sign-On (SSO) und Multi-Faktor-Authentifizierung (2FA) via Portal.
2. Domain-Konzepte
Lokales Netz: *.lcars
DNS: CoreDNS löst Anfragen wie dashboard.lcars auf die interne IP auf.
TLS: Caddy nutzt das step-ca Modul, um automatisch Zertifikate von deiner eigenen Certificate Authority zu beziehen.
Sicherheit: Interne Dienste sind direkt via HTTPS erreichbar, ohne dass Daten das lokale Netz verlassen.
Öffentliches Netz: *.holler.pro
DNS: Öffentlicher Provider (z.B. aws-r53) mit Wildcard-Eintrag.
TLS: Caddy nutzt die ACME DNS-Challenge, um Wildcard-Zertifikate von Let's Encrypt zu erhalten.
Terminierung: Caddy terminiert HTTPS und leitet Anfragen an die internen Container weiter.
3. Authentifizierungs-Flow (SSO)
Das System nutzt eine abgestufte Sicherheitsarchitektur:
Anfrage: Ein User ruft service.holler.pro auf.
Pre-Auth: Caddy fragt bei Authelia an, ob die Sitzung gültig ist (forward_auth).
Identität: Authelia prüft die Credentials gegen den LLDAP-Bestand.
Zweiter Faktor: Falls konfiguriert, fordert Authelia einen Hardware-Key (WebAuthn) oder TOTP an.
Access: Nach erfolgreichem Login erlaubt Caddy den Zugriff auf das Backend.
4. Konfigurations-Beispiele (Auszüge)
Caddyfile (Beispiel für Split-Horizon)
# Internes Setup mit Step-CA
*.lcars {
tls {
ca [https://step-ca.lcars/acme/acme/directory](https://step-ca.lcars/acme/acme/directory)
ca_root /etc/caddy/root.crt
}
reverse_proxy 192.168.1.50:8080
}
# Öffentliches Setup mit Authelia & Let's Encrypt
*.holler.pro {
# Authelia Guard
forward_auth authelia:9091 {
uri /api/verify?rd=[https://auth.holler.pro](https://auth.holler.pro)
copy_headers Remote-User Remote-Groups Remote-Name Remote-Email
}
@service1 host service1.holler.pro
handle @service1 {
reverse_proxy service1:80
}
}
CoreDNS (Corefile)
lcars {
file /etc/coredns/db.lcars
log
errors
}
. {
forward . 1.1.1.1
cache 30
}
5. Vorteile dieses Setups
Zero Trust: Jeder Zugriff wird (lokal wie öffentlich) validiert.
Komfort: Einmal einloggen (SSO), Zugriff auf alle Dienste.
Datensparsamkeit: LLDAP ist deutlich performanter und schlanker als ein klassisches OpenLDAP oder Active Directory.
Automatisierung: Keine manuelle Zertifikatserneuerung dank Caddy und Step-CA.