Logische Schichten
- Internet — HTTPS zu Traefik (Ports 80/443 auf dem Host)
- Traefik — TLS-Terminierung, Host-basiertes Routing ins Docker-Netz
proxy - Anwendungs-Container — OpenClaw, Dokumentation (nginx), optional Authelia
- Internes Netz —
internal(Bridge) für Dienste untereinander
Typischer HTTPS-Flow
Verzeichnisse auf dem Server
Repository & CLI (Bootstrap):
/opt/cas/repo— Git-Klon dieses Projekts (wird voncas update --selfaktualisiert)/opt/cas/venv— Python-Umgebung für das CAS-Paket/usr/local/bin/cas— Startskript für die CLI
Laufzeit-Konfiguration (Compose, Secrets, OpenClaw):
/home/cas/cas/— Arbeitsverzeichnis:.env,docker-compose.yml,traefik/,openclaw/, optionalgitlab-runner/,authelia//home/cas/backups/— voncas backuperzeugte Archive
OpenClaw Gateway & CLI
Der Container openclaw-cli nutzt network_mode: service:openclaw-gateway —
er teilt sich den Netzwerk-Stack mit dem Gateway. So greifen CLI-Befehle auf dieselbe
lokale OpenClaw-Instanz zu wie die UI.
Workspaces liegen unter /home/cas/cas/openclaw/workspace/ auf dem Host und sind im
Gateway als /home/node/workspace/ gemountet.
Dokumentations-Container
Der Service cas-docs (nginx) bindet read-only den Pfad
/opt/cas/repo/docs/site ein. Nach cas update --self liegen neuere
HTML-Dateien sofort vor; ein erneutes docker compose up -d ist dafür nicht nötig
(ggf. Browser-Cache leeren).
TLS & Wildcard
Traefik nutzt Let’s Encrypt mit DNS-01 über den Hetzner-API-Token. Für die konfigurierte
DOMAIN wird ein Zertifikat mit SAN *.<DOMAIN> angefordert — damit sind
openclaw, gateway, doc, traefik, auth (Authelia) abgedeckt, sofern DNS stimmt.