- Neuer Abschnitt "Karten erstellen (Aufgaben-Workflow)" mit Workflow A/B - Bekannte Struktur erweitert: Workflows, Columns, Lanes für Board 1 - Pitfalls ergänzt: Arrival Rule, Parent-Link API, linkedCards read-only - Settings und Plans aktualisiert Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
4.4 KiB
Plan: moltbot Arbeitsumgebung einrichten
Ziel
moltbot (@egomol_bot) soll genauso arbeiten wie die CLI-Sessions: Infrastructure-Doku pflegen, Server verwalten, Repos committen/pushen. Dafür braucht er CLAUDE.md, SSH-Zugriff auf alle Server, und Gitea-Zugang.
Ausgangslage (srvclawdbot01)
- Clawdbot läuft, Telegram-Channel OK, Pairing abgeschlossen
- SSH-Key existiert:
/root/.ssh/id_rsa(root@srvclawdbot01) - Gitea (gitea.egonetix.de:222) ist in known_hosts
- Fehlt: CLAUDE.md, SSH-Zugriff auf Infra-Server, Repos geklont, Gitea-Key, Verzeichnisstruktur
Schritte
1. CLAUDE.md deployen
Datei: /root/.claude/CLAUDE.md auf srvclawdbot01
scp /home/rwiegand/dotfiles/claude_settings/CLAUDE.md root@10.0.0.61:/root/.claude/CLAUDE.md
Claude Code CLI liest diese Datei automatisch als globale Instruktionen. 1:1 Kopie.
2. Verzeichnisstruktur anlegen
Gleiche Struktur wie auf dem Laptop, damit CLAUDE.md-Pfade funktionieren:
ssh root@10.0.0.61 "mkdir -p /root/Nextcloud/egonetix"
3. SSH-Key auf alle Server verteilen
Den existierenden Key /root/.ssh/id_rsa.pub auf alle Server kopieren:
| Server | IP | User |
|---|---|---|
| srvhost04 | 95.216.112.133 | root |
| srvdc01 | 10.0.0.21 | root |
| srvdocker02 | 10.0.0.29 | root |
| srvmail01 | 10.0.0.23 | root |
| srvmailgw03 | 10.0.0.37 | root |
| srvrevproxy02 | 10.0.0.29 | root |
| srvfs01 | ? | root |
| gwnue01 | 10.0.0.1 | root |
| gw-st01 | 172.20.20.1 | root |
Methode: Vom Laptop aus den Public Key lesen und per SSH auf jeden Server verteilen:
PUBKEY=$(ssh root@10.0.0.61 "cat /root/.ssh/id_rsa.pub")
for host in srvhost04 srvdc01 srvdocker02 srvmail01 srvmailgw03 srvrevproxy02 srvfs01 gwnue01; do
ssh root@$host "echo '$PUBKEY' >> /root/.ssh/authorized_keys && sort -u -o /root/.ssh/authorized_keys /root/.ssh/authorized_keys"
done
4. Known Hosts populieren
Vom Server aus alle Hosts einmal kontaktieren, damit SSH nicht nach Fingerprints fragt:
ssh root@10.0.0.61 "for h in 10.0.0.21 10.0.0.23 10.0.0.29 10.0.0.37 95.216.112.133 10.0.0.1 172.20.20.1; do
ssh-keyscan -H \$h >> /root/.ssh/known_hosts 2>/dev/null
done
sort -u -o /root/.ssh/known_hosts /root/.ssh/known_hosts"
5. Gitea SSH-Key hinterlegen
Public Key als Deploy-Key oder User-Key in Gitea registrieren:
PUBKEY=$(ssh root@10.0.0.61 "cat /root/.ssh/id_rsa.pub")
curl -X POST -H "Authorization: token $(cat ~/.config/gitea/token)" \
-H "Content-Type: application/json" \
-d "{\"title\":\"moltbot (srvclawdbot01)\",\"key\":\"$PUBKEY\"}" \
https://gitea.egonetix.de/api/v1/user/keys
6. Repos klonen
Infrastructure-Repo und relevante Repos auf srvclawdbot01 klonen:
ssh root@10.0.0.61 "
cd /root/Nextcloud/egonetix
git clone ssh://git@gitea.egonetix.de:222/Egonetix/infrastructure.git
"
Optional weitere Repos (zabbix, claude-remote-agent) je nach Bedarf.
7. dotfiles/claude_settings klonen
Damit moltbot die Settings-Sync Pflicht erfüllen kann:
ssh root@10.0.0.61 "
mkdir -p /root/dotfiles
cd /root/dotfiles
git clone ssh://git@gitea.egonetix.de:222/root/claude_settings.git
"
8. Gitea Token auf Server hinterlegen
ssh root@10.0.0.61 "mkdir -p /root/.config/gitea"
scp /home/rwiegand/.config/gitea/token root@10.0.0.61:/root/.config/gitea/token
9. tea CLI installieren (optional)
Falls ~/bin/tea auf dem Server gewünscht ist für Gitea-Interaktion.
10. Git-Config auf Server setzen
ssh root@10.0.0.61 "
git config --global user.name 'moltbot'
git config --global user.email 'moltbot@egonetix.de'
"
Verifikation
ssh root@10.0.0.61 "cat /root/.claude/CLAUDE.md | head -5"— CLAUDE.md vorhandenssh root@10.0.0.61 "ssh root@10.0.0.21 hostname"— SSH zu srvdc01 funktioniertssh root@10.0.0.61 "cd /root/Nextcloud/egonetix/infrastructure && git pull"— Repo-Zugriff OKssh root@10.0.0.61 "cd /root/dotfiles/claude_settings && git pull"— Settings-Repo OK- moltbot in Telegram bitten: "Lies die README von infrastructure und sag mir was drin steht"
- moltbot bitten: "Prüfe den Status von srvdocker02 per SSH"
Offene Punkte
- IPs von srvfs01 und srvrevproxy02 verifizieren (aus Host-Dateien)
- gw-st01 (172.20.20.1) ist nur über VPN erreichbar — prüfen ob srvclawdbot01 VPN-Routing hat
- Entscheidung: Soll moltbot eine eigene Git-Identity bekommen (moltbot@egonetix.de) oder die gleiche wie der User?