Installation

Bootstrap, drei Phasen, idempotentes Setup

Voraussetzungen

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.)

SchrittInhalt
1System-Update, Pakete
2Benutzer cas, SSH-Key
3SSH härten (nur Key, kein Root-Login)
4Firewall ufw: 22, 80, 443
5Fail2Ban
6Docker Engine + Compose Plugin
7Verzeichnisse unter ~/cas/ (traefik, openclaw, …)
8.env schreiben (Domain, E-Mail, Tokens, …)
9Traefik statisch + dynamisch (Dashboard-Basic-Auth)
10docker-compose.yml aus Template; Stack: Traefik, OpenClaw, cas-docs
11OpenClaw openclaw.json (Gateway, Allowed Origins)
12Claude Code CLI im Gateway-Container, Basis-Agenten

Phase 2 — GitLab (optional, ~10 Min.)

Phase 3 — Extras (optional, modular)

Du wählst einzeln:

Bestehende Installation erweitern (Doc-Container)

Wenn der Code bereits auf dem Server liegt und nur der neue Dienst fehlt:

  1. cas update --self — zieht neuestes Repo nach /opt/cas/repo
  2. cd /home/cas/cas && cas update — oder manuell: neue docker-compose.yml erzeugen durch erneutes Durchlaufen der betreffenden Setup-Schritte bzw. Datei aus dem aktualisierten Template vergleichen
Hinweis: Bei einer frischen Phase 1 nach Repo-Update schreibt das Setup die Compose-Datei vollständig neu. Bei manuell geänderten Compose-Dateien vor dem Update immer Backup ziehen (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/.