Files
claude_settings/plans/typed-munching-tarjan.md
root 4277b10f55 Kanbanize Kartenerstellung dokumentiert: Arrival-Rule-Workaround, Board-Struktur
- 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>
2026-02-05 13:09:09 +01:00

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

  1. ssh root@10.0.0.61 "cat /root/.claude/CLAUDE.md | head -5" — CLAUDE.md vorhanden
  2. ssh root@10.0.0.61 "ssh root@10.0.0.21 hostname" — SSH zu srvdc01 funktioniert
  3. ssh root@10.0.0.61 "cd /root/Nextcloud/egonetix/infrastructure && git pull" — Repo-Zugriff OK
  4. ssh root@10.0.0.61 "cd /root/dotfiles/claude_settings && git pull" — Settings-Repo OK
  5. moltbot in Telegram bitten: "Lies die README von infrastructure und sag mir was drin steht"
  6. 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?