59 lines
1.8 KiB
Bash
59 lines
1.8 KiB
Bash
#!/bin/bash
|
|
# ZeroTier Mesh Join — One-Shot Setup
|
|
# Verwendung: auf neuem Agenten ausführen
|
|
# curl -s http://172.24.196.119:8000/setup.sh | bash
|
|
|
|
set -e
|
|
|
|
echo "=== ZeroTier Mesh Join ==="
|
|
|
|
# 1. ZeroTier installieren
|
|
if ! command -v zerotier-cli &>/dev/null; then
|
|
echo "→ Installiere ZeroTier..."
|
|
curl -s https://install.zerotier.com | sudo bash
|
|
fi
|
|
|
|
# 2. Netzwerk joinen
|
|
echo "→ Joine Netzwerk 6ab565387a75e498..."
|
|
sudo zerotier-cli join 6ab565387a75e498
|
|
echo "→ Node-ID: $(zerotier-cli status | awk '{print $4}')"
|
|
echo "→ Bitte im Dashboard authorisieren: https://my.zerotier.com"
|
|
echo ""
|
|
|
|
# 3. Warte auf Authorisierung
|
|
for i in $(seq 1 30); do
|
|
STATUS=$(zerotier-cli listnetworks 2>/dev/null | grep 6ab565387a75e498 | awk '{print $6}')
|
|
if [ "$STATUS" = "OK" ]; then
|
|
IP=$(zerotier-cli listnetworks | grep 6ab565387a75e498 | awk '{print $NF}')
|
|
echo "✅ Authorisiert! IP: $IP"
|
|
break
|
|
fi
|
|
sleep 2
|
|
done
|
|
|
|
# 4. Ollama testen
|
|
echo "→ Teste Ollama auf Agent A..."
|
|
curl -s --max-time 5 http://172.24.196.119:11434/api/tags | python3 -c "import sys,json; d=json.load(sys.stdin); print('✅ Ollama erreichbar:', [m['name'] for m in d['models']])" 2>/dev/null || echo "⚠️ Ollama nicht erreichbar"
|
|
|
|
# 5. Hermes Provider konfigurieren
|
|
if [ -f ~/.hermes/config.yaml ]; then
|
|
if ! grep -q "172.24.196.119" ~/.hermes/config.yaml; then
|
|
echo "→ Füge Ollama-Provider zu Hermes hinzu..."
|
|
cat >> ~/.hermes/config.yaml << 'EOF'
|
|
|
|
providers:
|
|
custom:
|
|
api_key: ollama
|
|
base_url: http://172.24.196.119:11434/v1
|
|
EOF
|
|
fi
|
|
fi
|
|
|
|
# 6. Hermes PATH fix
|
|
if ! command -v hermes &>/dev/null && [ -f ~/.hermes/hermes-agent/hermes ]; then
|
|
echo 'export PATH="$HOME/.hermes/hermes-agent:$PATH"' >> ~/.bashrc
|
|
echo "→ Hermes zum PATH hinzugefügt (nach relogin aktiv)"
|
|
fi
|
|
|
|
echo ""
|
|
echo "=== Fertig! Agent bereit im Mesh. ===" |