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_KEYdansdata/.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/.envseul 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: utiliserdocker compose up -detdocker run --rmpour 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.