Voraussetzungen
- Ubuntu-Server (z. B. 24.04), idealerweise Hetzner CX42
- Domain mit Wildcard-DNS:
*.<DEINE-DOMAIN>→ öffentliche Server-IP - Anthropic API Key für Claude / OpenClaw
- Hetzner Cloud API Token für ACME DNS-01 (Wildcard-Zertifikat)
- GitLab-Zugang optional für Phase 2
Bootstrap (ein Befehl)
sudo bash <(curl -fsSL https://gitlab.com/coding-agent-server/cas/-/raw/main/setup.sh)
Anschließend läuft interaktiv cas setup (als root im Bootstrap; der Installer legt den Benutzer cas an).
Der Assistent weist mehrfach auf die HTML-Dokumentation hin: bereits im Willkommens-Dialog,
in den DNS-Hinweisen (doc.<DOMAIN>), in der Kopfzeile von Phase 1,
im Abschluss-Check („Dokumentation (cas-docs) läuft“), in den Zugangs-Panels und bei den
nützlichen Befehlen am Ende — jeweils mit der konkreten URL https://doc.<deine-domain>.
Was cas setup macht
Die Installation ist in drei Phasen geteilt; jeder Schritt ist wiederholbar (idempotent).
Phase 1 — Kern (~15 Min.)
| Schritt | Inhalt |
|---|---|
| 1 | System-Update, Pakete |
| 2 | Benutzer cas, SSH-Key |
| 3 | SSH härten (nur Key, kein Root-Login) |
| 4 | Firewall ufw: 22, 80, 443 |
| 5 | Fail2Ban |
| 6 | Docker Engine + Compose Plugin |
| 7 | Verzeichnisse unter ~/cas/ (traefik, openclaw, …) |
| 8 | .env schreiben (Domain, E-Mail, Tokens, …) |
| 9 | Traefik statisch + dynamisch (Dashboard-Basic-Auth) |
| 10 | docker-compose.yml aus Template; Stack: Traefik, OpenClaw, cas-docs |
| 11 | OpenClaw openclaw.json (Gateway, Allowed Origins) |
| 12 | Claude Code CLI im Gateway-Container, Basis-Agenten |
Phase 2 — GitLab (optional, ~10 Min.)
.envum GitLab-Variablen erweitern- Compose um
gitlab-runnererweitern, Container starten - Runner bei GitLab registrieren (Token, URL, Docker-Executor)
- SSH-Key für GitLab
- Webhook-Konfiguration für Issues/MRs
Phase 3 — Extras (optional, modular)
Du wählst einzeln:
- Authelia — 2FA; Traefik-Router für Dashboard/OpenClaw auf Forward-Auth
- Telegram / WhatsApp — Anbindung nach Prompts im Installer
- Zusätzliche Agenten — architect, qa, po, docs, security
- Wartung — Logrotate, optional Cron für
cas backup
Bestehende Installation erweitern (Doc-Container)
Wenn der Code bereits auf dem Server liegt und nur der neue Dienst fehlt:
cas update --self— zieht neuestes Repo nach/opt/cas/repocd /home/cas/cas && cas update— oder manuell: neuedocker-compose.ymlerzeugen durch erneutes Durchlaufen der betreffenden Setup-Schritte bzw. Datei aus dem aktualisierten Template vergleichen
cas backup).
Markdown-Anleitungen im README
Das README verweist teils auf externe Markdown-Dateien („Installationsanleitung…“, „Bedienungsanleitung…“).
Diese liegen nicht zwingend im Repository — die verbindliche, gepflegte Referenz für
das System ist diese HTML-Doku unter docs/site/ sowie der Quellcode unter cas/.