docs(hermes-nabil): runbook deploiement VPS Contabo
This commit is contained in:
parent
a65b56d05d
commit
5835fe6df0
|
|
@ -0,0 +1,59 @@
|
|||
# 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](common/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.
|
||||
Loading…
Reference in New Issue