← todos os documentos

CEOS — Runbook operacional (VPS)

Como o CEOS está integrado à VPS da fleet OpenClaw (root@103.90.161.70, host gclaw). Referência para operar, reconstruir e reverter com segurança.

Princípio: os 5 agentes existentes e os sites em compositelab.net são produção. Mudanças em openclaw.json e no nginx são aditivas, sempre com backup e validação (--dry-run / nginx -t) antes de aplicar.

Componentes

O quê Onde
Clone do repo /opt/ceos (deploy key dedicada)
Workspace do agente /opt/ceos/vault
Deploy key (privada) /root/.ssh/ceos_deploy_ed25519read-write, só para este repo
Config do agente ~/.openclaw/openclaw.jsonagents.list[] id=ceos
Site (fonte) /opt/ceos/site (Eleventy)
Site (publicado) /var/www/ceos (servido pelo nginx)
Build automático ceos-build.timer + ceos-build.service (systemd, root)
nginx /etc/nginx/sites-available/ceossites-enabled/ceos
TLS cert dedicado Let's Encrypt ceos.compositelab.net
Basic auth /etc/nginx/.htpasswd-ceos (protege /dashboard, /status)
Credenciais entregues /root/ceos-credentials.txt (chmod 600, não no terminal)

Deploy key

O /opt/ceos usa uma chave dedicada (não a chave pessoal do Glaucus), fixada no repo:

git -C /opt/ceos config core.sshCommand   # ssh -i /root/.ssh/ceos_deploy_ed25519 -o IdentitiesOnly=yes ...

A pública está registrada como deploy key read-write no repo glaucus1/ceos. Para revogar: remova a deploy key em GitHub → repo → Settings → Deploy keys.

Fluxo de publicação (build on push)

  1. Autoria/commit vão para github.com/glaucus1/ceos (branch main).
  2. ceos-build.timer dispara ceos-build.service periodicamente: git -C /opt/ceos fetch; se main avançou, git pull (deploy key) e rebuild do site para /var/www/ceos.
  3. nginx serve /var/www/ceos imediatamente.

Forçar build agora:

systemctl start ceos-build.service
journalctl -u ceos-build.service -n 30 --no-pager

Build manual direto:

cd /opt/ceos/site && npm ci && npm run build   # saída em /var/www/ceos

Reconstruir / reverter

Troubleshooting

Sintoma Verificar
Agente não responde systemctl --user is-active openclaw-gateway.service; openclaw agents list; modelo/quotas (openclaw logs)
Site 502/404 systemctl status ceos-build.service; existe /var/www/ceos/index.html?
TLS inválido certbot certificates; validade do cert ceos.compositelab.net
/dashboard sem pedir senha /etc/nginx/.htpasswd-ceos existe? location tem auth_basic?
Push falha em /opt/ceos deploy key presente? ssh -i /root/.ssh/ceos_deploy_ed25519 -T git@github.com

Segurança