chore: Setup-Scripts auf neue Brain-Architektur, OpenClaw-Tutorial raus
aria-setup.sh Von 142 Zeilen auf 50 zurechtgestutzt. Alle OpenClaw-Schritte raus (openclaw.json, exec-approvals, Permissions fuer .openclaw, doctor). Es bleibt nur der SSH-Key-Setup fuer aria-wohnung — Brain + Proxy teilen sich denselben Key via Bind-Mount aria-data/ssh/. init.sh Legt jetzt aria-data/brain/data + aria-data/brain/qdrant an damit die Bind-Mounts beim ersten docker compose up nicht ins Leere zeigen. OpenClaw Tutorial _ MI.pdf Geloescht — OpenClaw ist abgerissen, das Tutorial gehoert nicht mehr ins Repo. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
Binary file not shown.
+29
-118
@@ -1,104 +1,23 @@
|
||||
#!/bin/bash
|
||||
# ════════════════════════════════════════════════
|
||||
# ARIA — Ersteinrichtung nach docker compose up
|
||||
# Einmalig ausfuehren, danach persistiert alles.
|
||||
#
|
||||
# OpenClaw (aria-core) ist abgerissen — das Setup macht jetzt
|
||||
# nur noch den SSH-Key fuer den Zugriff auf die VM (aria-wohnung).
|
||||
# Brain + Proxy teilen sich denselben Key, beide haben aria-data/ssh
|
||||
# als Volume gemountet.
|
||||
# ════════════════════════════════════════════════
|
||||
set -e
|
||||
|
||||
echo "=== ARIA Setup ==="
|
||||
echo ""
|
||||
|
||||
# Warten bis aria-core laeuft
|
||||
echo "[1/7] Warte auf aria-core..."
|
||||
until docker inspect -f '{{.State.Running}}' aria-core 2>/dev/null | grep -q true; do
|
||||
sleep 2
|
||||
echo " ... warte..."
|
||||
done
|
||||
echo " aria-core laeuft."
|
||||
|
||||
# Permissions fixen — Docker-Volumes gehoeren root, OpenClaw laeuft als node
|
||||
echo ""
|
||||
echo "[2/7] Fixe Permissions auf /home/node/.openclaw und /home/node/.claude..."
|
||||
docker exec -u root aria-core chown -R node:node /home/node/.openclaw
|
||||
docker exec -u root aria-core chown -R node:node /home/node/.claude 2>/dev/null || true
|
||||
docker exec -u root aria-core chmod 700 /home/node/.openclaw
|
||||
echo " Permissions OK."
|
||||
|
||||
# OpenClaw Config schreiben — Custom Provider fuer claude-max-api-proxy
|
||||
echo ""
|
||||
echo "[3/7] Schreibe openclaw.json (Proxy-Provider + Model + Tools)..."
|
||||
docker exec aria-core sh -c 'cat > /home/node/.openclaw/openclaw.json << '"'"'INNEREOF'"'"'
|
||||
{
|
||||
"meta": {
|
||||
"lastTouchedVersion": "2026.3.8"
|
||||
},
|
||||
"gateway": {
|
||||
"mode": "local"
|
||||
},
|
||||
"agents": {
|
||||
"defaults": {
|
||||
"model": {
|
||||
"primary": "proxy/claude-sonnet-4"
|
||||
},
|
||||
"compaction": {
|
||||
"mode": "safeguard"
|
||||
},
|
||||
"timeoutSeconds": 900,
|
||||
"maxConcurrent": 4,
|
||||
"subagents": {
|
||||
"maxConcurrent": 8
|
||||
}
|
||||
}
|
||||
},
|
||||
"models": {
|
||||
"providers": {
|
||||
"proxy": {
|
||||
"api": "openai-completions",
|
||||
"baseUrl": "http://proxy:3456/v1",
|
||||
"apiKey": "not-needed",
|
||||
"models": [
|
||||
{ "id": "claude-sonnet-4", "name": "claude-sonnet-4" },
|
||||
{ "id": "claude-opus-4", "name": "claude-opus-4" }
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
"tools": {
|
||||
"profile": "full",
|
||||
"web": {
|
||||
"fetch": {
|
||||
"enabled": true
|
||||
}
|
||||
},
|
||||
"exec": {
|
||||
"host": "gateway"
|
||||
}
|
||||
},
|
||||
"messages": {
|
||||
"ackReactionScope": "all"
|
||||
},
|
||||
"commands": {
|
||||
"native": "auto",
|
||||
"nativeSkills": "auto",
|
||||
"restart": true,
|
||||
"ownerDisplay": "raw"
|
||||
}
|
||||
}
|
||||
INNEREOF'
|
||||
echo " Config geschrieben."
|
||||
|
||||
# Exec-Approvals Wildcard — erlaubt Tool-Ausfuehrung im headless-Modus
|
||||
echo ""
|
||||
echo "[4/7] Setze exec-approvals Wildcard..."
|
||||
docker exec aria-core openclaw approvals allowlist add --agent "*" "*" 2>/dev/null || true
|
||||
echo " Approvals gesetzt."
|
||||
|
||||
# SSH-Key generieren fuer VM-Zugriff
|
||||
SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
|
||||
SSH_DIR="$SCRIPT_DIR/aria-data/ssh"
|
||||
echo ""
|
||||
echo "[5/7] SSH-Key fuer VM-Zugriff..."
|
||||
|
||||
echo "=== ARIA Setup ==="
|
||||
|
||||
mkdir -p "$SSH_DIR"
|
||||
|
||||
if [ ! -f "$SSH_DIR/id_ed25519" ]; then
|
||||
echo "Generiere SSH-Key fuer aria-wohnung..."
|
||||
ssh-keygen -t ed25519 -f "$SSH_DIR/id_ed25519" -N "" -C "aria@aria-wohnung"
|
||||
cat > "$SSH_DIR/config" << 'SSHEOF'
|
||||
Host aria-wohnung
|
||||
@@ -108,34 +27,26 @@ Host aria-wohnung
|
||||
StrictHostKeyChecking accept-new
|
||||
SSHEOF
|
||||
chmod 600 "$SSH_DIR/id_ed25519"
|
||||
chmod 644 "$SSH_DIR/id_ed25519.pub"
|
||||
chmod 644 "$SSH_DIR/config"
|
||||
echo " Key generiert."
|
||||
# Public Key direkt in root's authorized_keys eintragen (Script laeuft als root auf der VM)
|
||||
mkdir -p /root/.ssh
|
||||
chmod 700 /root/.ssh
|
||||
cat "$SSH_DIR/id_ed25519.pub" >> /root/.ssh/authorized_keys
|
||||
chmod 600 /root/.ssh/authorized_keys
|
||||
echo " Public Key in /root/.ssh/authorized_keys eingetragen."
|
||||
chmod 644 "$SSH_DIR/id_ed25519.pub" "$SSH_DIR/config"
|
||||
|
||||
# Public Key direkt in /root/.ssh/authorized_keys eintragen
|
||||
# (Script laeuft als root auf der VM aria-wohnung)
|
||||
if [ -w /root/.ssh ] || [ -w /root ]; then
|
||||
mkdir -p /root/.ssh
|
||||
chmod 700 /root/.ssh
|
||||
cat "$SSH_DIR/id_ed25519.pub" >> /root/.ssh/authorized_keys
|
||||
chmod 600 /root/.ssh/authorized_keys
|
||||
echo " Public Key in /root/.ssh/authorized_keys eingetragen."
|
||||
else
|
||||
echo " Hinweis: konnte /root/.ssh/authorized_keys nicht schreiben."
|
||||
echo " Pubkey manuell eintragen:"
|
||||
cat "$SSH_DIR/id_ed25519.pub"
|
||||
fi
|
||||
else
|
||||
echo " Key existiert bereits."
|
||||
echo "SSH-Key existiert bereits — uebersprungen."
|
||||
fi
|
||||
|
||||
# Permissions im Container fixen
|
||||
echo ""
|
||||
echo "[6/7] Fixe SSH-Permissions..."
|
||||
docker exec -u root aria-core chown -R node:node /home/node/.ssh 2>/dev/null || true
|
||||
|
||||
# Neustart damit Gateway die Config laedt
|
||||
echo ""
|
||||
echo "[7/7] Starte aria-core neu..."
|
||||
docker restart aria-core
|
||||
|
||||
echo ""
|
||||
echo "=== Setup fertig ==="
|
||||
echo ""
|
||||
echo "Teste mit: docker logs aria-core --tail 20"
|
||||
echo "Erwartete Zeile: 'agent model: proxy/claude-sonnet-4'"
|
||||
echo ""
|
||||
echo "SSH-Test: docker exec aria-core ssh aria-wohnung hostname"
|
||||
echo "Tool-Test: Neue Session anlegen, dann 'Wie wird das Wetter in Bremen?' fragen"
|
||||
echo "Naechster Schritt: docker compose up -d"
|
||||
echo "Test: docker exec aria-brain ssh aria-wohnung hostname"
|
||||
|
||||
@@ -24,3 +24,8 @@ if [ ! -f .env ]; then
|
||||
else
|
||||
echo ".env existiert bereits — uebersprungen."
|
||||
fi
|
||||
|
||||
# ── Brain-Verzeichnisse anlegen (Bind-Mounts fuer aria-brain + aria-qdrant)
|
||||
# Inhalt ist gitignored — wird ueber Diagnostic-Export/Import gesichert.
|
||||
mkdir -p aria-data/brain/data aria-data/brain/qdrant
|
||||
echo "✓ aria-data/brain/{data,qdrant} bereit"
|
||||
|
||||
Reference in New Issue
Block a user