22 KiB
NAS Runbooks — Index
Référentiel opérationnel partagé entre hermes-tt, hermes-nyora, hermes-perso. Chaque instance écrit uniquement dans son dossier ; tous les dossiers sont lisibles par tous. Consolidation du 09/07/2026 : doublons fusionnés, runbooks obsolètes purgés, runbooks métier re-sphérés (détail en bas de page).
common — Protocoles & référence
common — Sécurité
| Runbook | Date | Tags |
|---|---|---|
| Audit sécurité réseau NAS (surface WAN, crowdsec, firewall) | 2026-07-03 | securite, reseau, wan |
| Audit sécurité mcp-nas — RCE root anonyme, P0 fermés + durcissement (reste: rotation) | 2026-07-09 | securite, mcp-nas, rce, rotation |
| Permissions credentials/clés — piège 777 | 2026-07-05 | securite, credentials, chmod |
| Décommission wg-easy (remplacé par Tailscale) | 2026-07-08 | wireguard, tailscale, vpn |
| Pattern IP sessions Claude-User (mcp-vps/mcp-nas) + incident exposition tokens Gitea | 2026-07-12 | securite, mcp, faux-positif, tokens |
common — Stack & fiabilité
common — LLM (Bifrost, OpenCode, n8n)
| Runbook | Date | Tags |
|---|---|---|
| Accès Bifrost (passerelle LLM, vision/OCR) | 2026-07-11 | bifrost, llm, x-bf-vk, bifrost-proxy, hermes-desktop |
| Bifrost — incidents VK & fallback (consolidé 23/06 + 06/07 + 11/07) | 2026-07-11 | bifrost, vk, opencode, cout |
| Migration provider → OpenCode Go (consolidé, état des modèles à jour) | 2026-07-09 | opencode, hermes, family-help |
| n8n Code nodes LLM vers Bifrost obligatoire | 2026-06-15 | n8n, bifrost, code-node |
| Génération/édition d'images IA (nano-banana) | 2026-06-14 | openrouter, image |
common — Hermes (plateforme)
| Runbook | Date | Tags |
|---|---|---|
| Mise à jour des 3 instances Hermes | 2026-06-15 | hermes, update, compose |
| Skills concurrents PDF/DOCX/PPTX/XLSX archivés (anti-bypass nyora-doc-api) | 2026-07 | hermes, skills, doc |
| Audit data/ 3 instances — écarts & pièges (cron/skill archivé, root:root, purge backups) | 2026-07-09 | hermes, data, audit |
| Génération chunkée tâches volumineuses (>1000 mots) | 2026-07 | hermes, skill, chunk |
| Skill sobriété-code (7 règles Ponytail) | 2026-07-05 | skill, code, tokens |
| Envoi de fichiers via Telegram (sendDocument) | 2026-07-04 | telegram, senddocument |
| Telegram rich_messages flag + restart Portainer API | 2026-06-24 | telegram, rich-messages |
| Partage Pingvin gros fichiers | 2026-07 | pingvin, partage |
| Tap Gitea privé hermes-skills | 2026-06-17 | gitea, skills |
common — Documents (nyora-doc-api)
| Runbook | Date | Tags |
|---|---|---|
| nyora-doc-api v3 Premium — guide d'usage Hermes | 2026-07-01 | nyora-doc-api, docx, xlsx, pptx, pdf |
| nyora-doc-api — procédure rebuild & déploiement | 2026-07-09 | nyora-doc-api, docker, rebuild |
| nyora-doc-api mode template — cause racine non-restyle + restyle=full (déployé 08/07) | 2026-07-08 | nyora-doc-api, template |
common — Divers
| Runbook | Date | Tags |
|---|---|---|
| Hébergement de sites statiques produits par Hermes | 2026-06-20 | hebergement, statique |
| HTML vers PNG headless (Puppeteer) | 2026-07-09 | html, png, puppeteer |
| gstack — évaluation MacBook vs Hermes | 2026-06 | evaluation, gstack |
hermes-tt
hermes-nyora
hermes-perso
| Runbook | Date | Tags |
|---|---|---|
| CrowdSec sur DSM | 2026-06-12 | securite, ssh, iptables |
| SOUL.md hermes-perso — ingest API veille | 2026-06-15 | soul, veille |
| formation-consultant — site formation autodidacte | 2026-07-25 | infra, formation, deploiement |
Règles de contribution
- Écriture : chaque instance écrit uniquement dans son dossier
hermes-<nom>/;common/= strictement transverse (infra/ops générique, jamais de données métier ou familiales). - Lecture : tous les dossiers lisibles par toutes les instances.
- Format : RUNBOOK-TEMPLATE.md. Après chaque runbook : note NyoraNotes tags [infra, runbook] et mise à jour de ce _INDEX.md (pas de sous-index par dossier).
Consolidation 09/07/2026 (traçabilité)
-
Fusionnés : MCP-NAS-SCRIPTING + mcp-nas-run-command-v2 →
mcp-nas-reference.md· OPENCODE-GO-MIGRATION + migration-provider-opencode-go →opencode-go-migration.md· BIFROST-VK-OPENCODE-FIX + bifrost-vk-stale-cache →bifrost-vk-incidents.md· nyora-doc-api-footer-bug-docx + nyora-doc-api-rebuild-footer-docx →nyora-doc-api-rebuild.md(footers supprimés de tous les formats le 08/07). -
Supprimés (obsolètes) : gotenberg-pdf.md (container désinstallé 21/06), ports-registry.md dupliqué à la racine (identique à common/), hermes-nyora/_INDEX.md (sous-index abandonné).
-
Re-sphérés depuis common/ : hermes-perso-SOUL-veille-ingest → hermes-perso/ (données familiales) · kanban-evaluateur-ao → hermes-tt/ · veille-hebdo-nyora, workflow-claude-glm-nyora, veille-dr-nexum-cron-timezone-publish-n8n → hermes-nyora/.
-
common/vps-transition-swap-hdd.md— transition VPS Contabo (doublure noyau métier) pour swap HDD + reset volume. Tailscale = fenêtre. (10/07/2026) -
scripts/backup-usb.sh— backup USB incrémental root (docker+volumes+mémoire), tâche DSM. (10/07/2026) -
common/runbook-audit-charge-nas-ds920-methode-2026-07.md— Audit charge DS920+ : méthode mesure, pièges loadavg/smbd/docker stats, goulot = IO, état de référence 42 containers, actions en attente (flaresolverr, agent-perso 768m). (12/07/2026) -
common/n8n-credentials-corruption-veille-consolidation.md— Credentials n8n corrompues (does not exist), tokens/domaines Baserow valides, consolidation veille Dr. Nexum en pipeline unique (14/07/2026) -
veille-nexum-vk-morte-fuseau-n8n.md — Veille Dr. Nexum réparée : VK Bifrost morte (purge 07/07) + fuseau n8n + piège versionnage workflow_history (14/07/2026)
-
veille-nexum-rich-job-20-sources.md — Bascule vers la veille riche mimo-v2.5 : 20 articles, 17 YouTube + 13 RSS, autres veilles désactivées (14/07/2026)
-
hermes-vers-bifrost-bifrost-proxy.md — Les 3 Hermes routent via Bifrost (bifrost-proxy convertit Bearer→x-bf-vk), config.yaml provider custom, restart-only (15/07/2026)
-
common/tourisme-tunisie-skill.md— Skill Hermes : lieux a visiter en Tunisie (OSM, sans cle) [16/07/2026] -
hermes-nabil-vps-deploiement.md — hermes-nabil sur VPS Contabo : structure, cerveau OpenCode direct, bots Tailscale-only, recherche web, documents (18/07/2026)
-
hermes-nabil-images-flyers-navigateur.md — Navigateur bake dans l'image (postinstall), rendu HTML->PNG/PDF, OpenCode ne genere pas d'images -> Gemini, pipeline flyer Or Bruni (18/07/2026)
-
transfert-secret-inter-machines.md — Deplacer une cle API entre deux machines sans jamais l'exposer (RSA-3072/OAEP, cle privee jetable), controle par longueur et prefixe (18/07/2026)
-
common/vps-hermes-nabil-visuels-yasmi.md — pipeline visuels Yasmi VPS : logo intelligent (luminance), 28 scènes tunisiennes, 5 mannequins (19/07/2026)
-
dockerfile-layer-cache-ordre.md — Ajout de dependance mineure a un Dockerfile hermes en couche RUN separee post-postinstall pour eviter un rebuild complet (git sur hermes-nabil VPS, evite retelechargement Chromium ~400 Mo) (21/07/2026)
-
n8n-insights-collation-index-doublons.md — Index unique dégradé sur insights_metadata (collation postgres) : restore littéral impossible, laissé en l'état, bombe à retardement REINDEX/pg_upgrade (23/07/2026)
-
common/prompt-defensif-anti-refus-contre-productif.md — hallucination refus job cron (email légitime pris pour phishing), root cause = langage anti-refus meta dans le prompt, fix = contexte factuel neutre (24/07/2026)
-
hermes-tt/mail-o365-hermes-mail-browser-inbox-staleness.md — /inbox renvoyait des mails perimes apres ouverture dun message (liste virtualisee OWA non remontee), fix go_to_inbox_root() force navigation fraiche sur les 4 endpoints indexes (24/07/2026)
-
hermes-tt/mail-o365-recherche-scroll-virtualisation.md — liste OWA virtualisee limitee a 5-7 mails montes, fix par accumulation ArrowDown progressif (read_listbox_items), + endpoints /search* (recherche precise dans toute la boite), skill mail-o365-tt.md complete (24/07/2026)
-
hermes-tt/mail-o365-search-pas-de-filtre-date.md — tentative estimation volume mail 2024+ (projet nyora-notes-TT) : /search fait du matching texte brut, pas un filtre received reel (q=received:2024 remonte des mails de 2025 contenant 2024 dans le sujet) ; /folders instable (count:0 ou timeout) ; ~35-40s/appel pour 5 resultats -- comptage volume a faire via UI OWA native (noVNC), pas via scraping iteratif (30/07/2026)
-
hermes-nyora/iakifech-ep2-subtitle-desync-freeze-postmortem.md — Sous-titres moneyprinterturbo calés sur edge-tts non regénérés apres swap voix ElevenLabs (desync ~0,57s), freeze+silence fin (body 75,57s vs voix 79,49s, ~18s ecart non explique), logo confirme present et correct (24/07/2026)
-
common/baserow-rotation-casse-containers-standalone.md — Rotation mot de passe admin Baserow casse les containers standalone non supervises (JWT admin code en dur) ; fix = Database API Token statique par scope, cas dashboard-terrain corrige (25/07/2026)
-
common/vision-auxiliaire-routing-text-only-modeles.md -- auxiliary.vision
autocasse sur modeles text-only (deepseek-v4-flash), route explicite vers google/gemini-2.5-flash via bifrost-proxy, applique hermes-perso + hermes-tt (27/07/2026) -
common/anti-hallucination-benchmarks-recherche-chiffree.md -- Garde-fou anti-invention sur rapports chiffres : chiffre = page lue en entier ou "non verifie", verifier variante exacte du modele avant attribution (27/07/2026)
-
common/smart-approvals-deny-rules-4-instances.md -- approvals.mode smart + deny rules sur les 4 instances Hermes, auxiliary.approval route vers deepseek-v4-flash (jamais mimo-v2.5), exception documentee hermes-nabil VPS (27/07/2026)
-
common/veille-chunking-nyora-root-cause.md -- Root cause des 24 tool_calls casses hermes-nyora : prompt du job veille ordonnait un heredoc unique pour 20 items sans limite, pas un probleme mimo-v2.5 ; fix construction chunkee (27/07/2026)
-
common/watchdog-telegram-gateway-container-autonome.md -- Watchdog Telegram gateway Hermes en container autonome (docker:cli + socket monte), contourne l'absence d'acces DSM Task Scheduler/crontab, redemarre automatiquement + escalade si echec persistant (27/07/2026)
-
common/n8n-baserow-https-interne-econnrefused.md -- Workflow oTLZguPfPlq9B7El (Moyens Humains Zone Sud Sync) : ECONNREFUSED sur Update/Create1 -- nyoeuds ecriture appelaient https://baserow.bolbol.tn (443, pas de TLS interne sur ce reseau Docker) au lieu de http://baserow:80 comme les noeuds GET ; fix scheme https->http (28/07/2026)
-
common/baserow-mcp-oauth-fix.md -- Connecteur Claude.ai vers Baserow MCP echouait (404 sur well-known/register, meme piege que mcp-vps) ; sidecar OAuth stub + nginx devant Baserow (image officielle non patchable), reseau n8n uniquement (gotcha TCP timeout sur nouveau bridge custom), teste bout-en-bout SSE/WS/API identique au direct, reste reverse-proxy DSM 3888->3887 a faire manuellement (28/07/2026)
-
common/context-hub-memory-entries-securite-mcp.md -- Faille MCP corrigee (ContextVar lie a l'identite SSE reelle au lieu des arguments client sur get_rules/search_rules/get_agent_config/get_my_context/update_rule/check_port/get_ports) + table memory_entries typee (decision/constraint/best-practice/common-error/do-not-use) + FTS5, testee end-to-end ; base du futur scope coding (30/07/2026)
-
common/context-hub-mcp-initialize-bad-request-4-causes.md -- MCP initialize Bad Request cote Gemini : 4 causes empilees decouvertes une par une (proxy-headers manquant -> redirect HTTPS vers HTTP, httpx absent de requirements.txt, mcp installe en 2.0.0 breaking, transport SseServerTransport legacy incompatible clients Streamable HTTP modernes) ; migration vers StreamableHTTPSessionManager stateless, resolu, Gemini connecte 9 tools (30/07/2026)
-
common/veille-nexum-sources-reddit-403-nas-ip.md -- Ajout 5 sources Reddit au pipeline Dr Nexum (r/LocalLLaMA, r/artificial, r/OpenAI, r/ClaudeAI, r/singularity), pipeline retrouve inactif (active:false), Reddit bloque en 403 depuis l IP NAS (teste 3 UA), perimetre restreint a Nyora (31/07/2026)
-
hermes-tt/nyora-notes-tt-backup-wal-moteur-mixte.md -- disk I/O error sur toutes les requetes RAG mail juste apres chaque backup n8n : route /backup ouvrait une connexion sqlite3 stdlib differente du moteur sqlean de l'app sur la meme DB WAL live, checkpoint au close() desynchronise le wal/shm ; fix moteur unifie (sqlean) + PRAGMA busy_timeout partout, verifie 8/8 juste apres un backup manuel (02/08/2026)