Initial: Mesh-Skills, Configs, Scripts
This commit is contained in:
@@ -0,0 +1,118 @@
|
||||
---
|
||||
name: zerotier-mesh-join
|
||||
description: >-
|
||||
ZeroTier Mesh-Client für neue Agenten (SwitchHermes, LaptopHermes, Agent B).
|
||||
Richtet ZeroTier ein, joint dem Mesh 6ab565387a75e498,
|
||||
konfiguriert den Ollama-Zugriff auf Agent A (172.24.196.119:11434).
|
||||
Einmalig ausführen auf jedem neuen Agenten.
|
||||
---
|
||||
|
||||
# ZeroTier Mesh Join
|
||||
|
||||
Einmaliger Setup-Skill für neue Agenten im Multi-Agent-Mesh.
|
||||
|
||||
## 1. ZeroTier installieren
|
||||
|
||||
```bash
|
||||
curl -s https://install.zerotier.com | sudo bash
|
||||
```
|
||||
|
||||
## 2. Netzwerk joinen
|
||||
|
||||
```bash
|
||||
sudo zerotier-cli join 6ab565387a75e498
|
||||
|
||||
Dann im [ZeroTier Dashboard](https://my.zerotier.com) authorisieren (Netzwerk-ID: `6ab565387a75e498`).
|
||||
|
||||
## 3. Verbindung prüfen
|
||||
|
||||
```bash
|
||||
zerotier-cli listnetworks
|
||||
# → Erwartet: OK, 6ab565387a75e498, Access: OK
|
||||
zerotier-cli peers
|
||||
# → Agent A sollte als Peer erscheinen (172.24.196.119)
|
||||
```
|
||||
|
||||
## 4. Zugriff auf lokales Ollama testen
|
||||
|
||||
Alle Agenten erreichen das lokale Ollama auf Agent A nur über ZeroTier:
|
||||
|
||||
```bash
|
||||
curl -s http://172.24.196.119:11434/api/tags | head -5
|
||||
# → Sollte deepseek-r1:7b, deepseek-r1:14b, nomic-embed-text zeigen
|
||||
```
|
||||
|
||||
## 5. Hermes-Ollama-Provider konfigurieren
|
||||
|
||||
In `~/.hermes/config.yaml`:
|
||||
|
||||
```yaml
|
||||
providers:
|
||||
custom:
|
||||
api_key: ollama
|
||||
base_url: http://172.24.196.119:11434/v1
|
||||
```
|
||||
|
||||
Damit kann Hermes direkt das lokale Ollama auf dem VPS nutzen.
|
||||
|
||||
## 6. Hermes CLI in PATH (falls `hermes` nicht gefunden wird)
|
||||
|
||||
Auf Source-Installationen liegt der Binary in `~/.hermes/hermes-agent/hermes`:
|
||||
|
||||
```bash
|
||||
echo 'export PATH="$HOME/.hermes/hermes-agent:$PATH"' >> ~/.bashrc
|
||||
source ~/.bashrc
|
||||
# Prüfen:
|
||||
hermes --version
|
||||
```
|
||||
|
||||
## 7. Sudo für Remote-Management durch Agent A
|
||||
|
||||
Wenn Agent A per SSH auf diesem Agenten arbeiten soll (Skills syncen, Config editieren):
|
||||
|
||||
**Option A — Passwordless sudo (empfohlen):**
|
||||
```bash
|
||||
echo 'mehlzoerwer ALL=(ALL) NOPASSWD: ALL' | sudo tee /etc/sudoers.d/mehlzoerwer
|
||||
```
|
||||
|
||||
**Option B — SUDO_PASSWORD in .env (tirith-sicher):**
|
||||
```bash
|
||||
echo 'SUDO_PASSWORD=Bp3lskt0' >> ~/.hermes/.env
|
||||
```
|
||||
⚠️ `sudo -S` via stdin wird von tirith blockiert — nur .env oder passwordless sudo funktionieren.
|
||||
|
||||
## Netzwerk-Übersicht
|
||||
|
||||
| Agent | ZT-IP | Node-ID | Rolle |
|
||||
|-------|-------|---------|-------|
|
||||
| A (VPS) | `172.24.196.119` | `adccde5dd6` | Hub, Ollama-Server |
|
||||
| B | TBD | TBD | Entwickler (ZorinOS 18) |
|
||||
| SwitchHermes | `172.24.20.26` | `3c1d63bbed` | Cockpit (ARM64, Nintendo Switch) |
|
||||
| LaptopHermes | `172.24.178.202` | `94334e18df` | Worker (RTX 2060) |
|
||||
| Handy | `172.24.92.162` | `e39b118b68` | Controller (Android) |
|
||||
|
||||
## Firewall-Hinweis
|
||||
|
||||
Ollama auf Agent A ist NUR via ZeroTier erreichbar (`172.24.0.0/16:11434`).
|
||||
Port 11434 ist **nicht** vom Internet aus erreichbar.
|
||||
|
||||
## Migration von altem Netzwerk
|
||||
|
||||
Falls ein Agent noch im alten Netzwerk (`b9a18a606fb05ae6`) hängt:
|
||||
|
||||
```bash
|
||||
# Neues Netz joinen (zuerst!)
|
||||
sudo zerotier-cli join 6ab565387a75e498
|
||||
# Im Dashboard authorisieren (my.zerotier.com)
|
||||
# Altes Netz erst verlassen, wenn neues aktiv ist
|
||||
sudo zerotier-cli leave b9a18a606fb05ae6
|
||||
```
|
||||
|
||||
Danach alle IP-Referenzen updaten:
|
||||
| Alt | Neu |
|
||||
|-----|-----|
|
||||
| `10.36.223.x` → | `172.24.196.x` |
|
||||
| `10.36.223.0/24` → | `172.24.0.0/16` |
|
||||
| `b9a18a606fb05ae6` → | `6ab565387a75e498` |
|
||||
|
||||
Betrifft: Ollama-Service, UFW-Regeln, duo_state.json, Hermes-Config, Skills.
|
||||
Reference in New Issue
Block a user