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.
+24
-113
@@ -1,104 +1,23 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
# ════════════════════════════════════════════════
|
# ════════════════════════════════════════════════
|
||||||
# ARIA — Ersteinrichtung nach docker compose up
|
# 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
|
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)"
|
SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
|
||||||
SSH_DIR="$SCRIPT_DIR/aria-data/ssh"
|
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
|
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"
|
ssh-keygen -t ed25519 -f "$SSH_DIR/id_ed25519" -N "" -C "aria@aria-wohnung"
|
||||||
cat > "$SSH_DIR/config" << 'SSHEOF'
|
cat > "$SSH_DIR/config" << 'SSHEOF'
|
||||||
Host aria-wohnung
|
Host aria-wohnung
|
||||||
@@ -108,34 +27,26 @@ Host aria-wohnung
|
|||||||
StrictHostKeyChecking accept-new
|
StrictHostKeyChecking accept-new
|
||||||
SSHEOF
|
SSHEOF
|
||||||
chmod 600 "$SSH_DIR/id_ed25519"
|
chmod 600 "$SSH_DIR/id_ed25519"
|
||||||
chmod 644 "$SSH_DIR/id_ed25519.pub"
|
chmod 644 "$SSH_DIR/id_ed25519.pub" "$SSH_DIR/config"
|
||||||
chmod 644 "$SSH_DIR/config"
|
|
||||||
echo " Key generiert."
|
# Public Key direkt in /root/.ssh/authorized_keys eintragen
|
||||||
# Public Key direkt in root's authorized_keys eintragen (Script laeuft als root auf der VM)
|
# (Script laeuft als root auf der VM aria-wohnung)
|
||||||
|
if [ -w /root/.ssh ] || [ -w /root ]; then
|
||||||
mkdir -p /root/.ssh
|
mkdir -p /root/.ssh
|
||||||
chmod 700 /root/.ssh
|
chmod 700 /root/.ssh
|
||||||
cat "$SSH_DIR/id_ed25519.pub" >> /root/.ssh/authorized_keys
|
cat "$SSH_DIR/id_ed25519.pub" >> /root/.ssh/authorized_keys
|
||||||
chmod 600 /root/.ssh/authorized_keys
|
chmod 600 /root/.ssh/authorized_keys
|
||||||
echo " Public Key in /root/.ssh/authorized_keys eingetragen."
|
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
|
else
|
||||||
echo " Key existiert bereits."
|
echo "SSH-Key existiert bereits — uebersprungen."
|
||||||
fi
|
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 "=== Setup fertig ==="
|
||||||
echo ""
|
echo ""
|
||||||
echo "Teste mit: docker logs aria-core --tail 20"
|
echo "Naechster Schritt: docker compose up -d"
|
||||||
echo "Erwartete Zeile: 'agent model: proxy/claude-sonnet-4'"
|
echo "Test: docker exec aria-brain ssh aria-wohnung hostname"
|
||||||
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"
|
|
||||||
|
|||||||
@@ -24,3 +24,8 @@ if [ ! -f .env ]; then
|
|||||||
else
|
else
|
||||||
echo ".env existiert bereits — uebersprungen."
|
echo ".env existiert bereits — uebersprungen."
|
||||||
fi
|
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