nas-runbooks/common/hermes-nabil-vps-deploiemen...

2.8 KiB

hermes-nabil — deploiement sur VPS Contabo

Prototype du futur hermes-desktop (MacBook M5 Pro). Instance Hermes personnelle de Nabil, hebergee sur le VPS Contabo (contabo-vps-qbt, Tailscale 100.94.90.119).

Acces

mcp-vps -> ssh vps.internal (user claude-oversight, groupe docker, sudo bride). Projet : ~/hermes-nabil/Dockerfile, docker-compose.yml, data/ (= HERMES_HOME). Conteneur hermes-nabil, restart: unless-stopped.

Structure

~/hermes-nabil/
├── Dockerfile            # python:3.11-slim + hermes-agent + libs doc + postinstall (navigateur)
├── docker-compose.yml    # image locale, env_file ./data/.env, volume ./data:/data
└── data/                 # HERMES_HOME (root dans le conteneur)
    ├── config.yaml       # modele, cle API OpenCode
    ├── .env              # SEUL fichier de secrets lu par Hermes
    ├── SOUL.md           # persona
    ├── memories/{USER,MEMORY}.md
    ├── skills/           # core, docx, pptx, pdf, xlsx, media, nyora-flyer
    └── nyora/            # pipeline images + flyers

Cerveau : OpenCode direct (Mimo 2.5)

base_url: https://opencode.ai/zen/go/v1, cle dans model.api_key du config.yaml. Piege : passer par OPENAI_API_KEY donne un 401. Envoyer un User-Agent sur /models sinon 403 Cloudflare 1010.

Reseau

Bots Telegram + Discord sortants uniquement, Tailscale-only, aucun port publie. Verification demarrage : docker logs hermes-nabil puis /data/logs/gateway.log -> ✓ discord connected / Gateway running with 2 platform(s). Le WARNING [Telegram] Connecting to Telegram (attempt 1/8) sur docker logs est normal : la suite du demarrage n'apparait que dans /data/logs/gateway.log.

Capacites installees

  • Recherche web par API : Tavily + Exa (TAVILY_API_KEY, EXA_API_KEY dans data/.env).
  • Documents : skills docx / pptx / pdf / xlsx (xlsx transcrit d'Anthropic, local) + python-docx, python-pptx, openpyxl, XlsxWriter, reportlab, pypdf, pillow. Les 4 formats generent reellement.
  • Navigateur / images / flyers : voir hermes-nabil-images-flyers-navigateur.md.

Regles d'exploitation

  • Operations longues (build, download, postinstall) : toujours en detache (nohup … > log 2>&1 & puis polling du log) — le connecteur mcp-vps tombe sinon.
  • data/.env seul fichier de secrets lu par Hermes ; ne jamais afficher une valeur (verifier par longueur). Secret expose en clair = rotation immediate.
  • Le wrapper mcp interdit docker rm -f, reboot, shutdown : utiliser docker compose up -d et docker run --rm pour les tests jetables.
  • NAS Synology en arret programme 16:30 -> 01:30 (coupures Sfax) : Gitea et NyoraNotes sont indisponibles sur ce creneau — decaler la capitalisation.