Files
nas-runbooks/_INDEX.md
T

21 KiB
Raw Blame History

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

Runbook Date Tags
Rotation des secrets — inventaire, portée réelle par empreinte, anomalies inter-sphères 2026-07-18 securite, secrets, rotation
Bifrost — routage texte par coût : état de la mesure, logs.db, clés virtuelles, incident 401 2026-07-18 bifrost, llm, cout, routage
Skills n8n officiels (n8n-io/skills) — socle 14 skills, tap auto 3 instances 2026-07-10 n8n, skills, hermes, tap
PROTOCOL-INFRA — règles opérationnelles maj continue infra, protocole
Ports Registry NAS (source de vérité services — miroir de /volume1/docker/ports-registry.md) 2026-07-04 infra, ports, registry
mcp-nas — référence opérationnelle consolidée (run_command v2, contraintes post-audit) 2026-07-09 infra, mcp-nas, scripting
VPS memory-node — Objectif A : nœud mémoire persistante (miroir git + rsync + restic, pull depuis VPS) 2026-07-10 vps, memoire, backup, restic, tailscale
Git push depuis mcp-nas (172.17.0.1, API Gitea si git absent) 2026-07-08 infra, git, mcp-nas
Boîte à idées Claude (radar non décisionnel) 2026-07-08 infra, veille, ideation
Vision fondatrice Nyora + SOUL.md 3 instances 2026-06-23 nyora, soul, vision

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é

Runbook Date Tags
Écriture naturelle + accès Firecrawl sur les 4 instances Hermes (TT/Nyora/Perso/Nabil) 2026-07-19 hermes, soul-md, firecrawl, ecriture
Telegram duplication (flood control overflow-split) + Gitea auth (GITEA_DEPLOY_TOKEN) 2026-07-16 telegram, gitea, git, hermes
Fragilités de dépendances stack 43 containers 2026-07-03 stack, restart, couplage
Correctifs fragilités appliqués (rla-api, n8n, bifrost-proxy) 2026-07-04 correctifs, healthcheck
Baserow mem_limit 2g 2026-06-29 baserow, memoire
Cache SSD write-back fin de vie + backup USB 2026-07-04 ssd, backup, usb
Telegram — réponses dupliquées 4-5× (getUpdates/NAT TT) + fix DNS agents 2026-07-09 telegram, hermes, dns, nat-tt
Nettoyage stack documentaire (historique containers retirés) 2026-07-09 cleanup, doc-stack
Migration cin-search-tt hors-Docker vers Docker + SMTP OVH->Infomaniak + regression RAS hardcode Baserow (audit /volume1/web) 2026-07-24 migration, docker, smtp, portainer-api, baserow-http-interne, hardcode-bug
VPS — qBittorrent Docker + VPN WireGuard intégré, kill-switch, qb.yesminedor.tn (démolition qbt-nox/policy routing UID) 2026-07-12 vps, qbittorrent, wireguard, vpn, kill-switch, cloudflare-tunnel

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

Runbook Date Tags
rla-api : gestion utilisateurs & superadmin (piège users.json baké) 2026-07-04 rla-api, users, bcrypt
Kanban multi-agent évaluation AO 2026-06-18 kanban, ao
hermes-mail-browser — /inbox renvoyait des mails perimes (staleness liste virtualisee OWA) 2026-07-24 mail, o365, owa, playwright, hermes-mail-browser
hermes-mail-browser -- recherche precise + fix scroll liste virtualisee (limite 5-7 mails) 2026-07-24 mail, o365, recherche, scroll, virtualisation
hermes-mail-browser -- /search ne filtre pas par date reelle de reception (matching texte, pas operateur date) 2026-07-30 mail, o365, recherche, date, hermes-mail-browser

hermes-nyora

Runbook Date Tags
IAKifech — durée finale corrompue (107s au lieu de ~85s) : mismatch framerate outro/footage au concat 2026-07-29 iakifech, dr-nexum, hermes-nabil, ffmpeg, concat, framerate, postmortem
IAKifech ep.1 — postmortem production vidéo hermes-nabil (skills refusées, timeouts, échappement) 2026-07-23 iakifech, dr-nexum, hermes-nabil, soul-md, postmortem
Pipeline Dr Nexum image-vidéo : config 480p/4s validée (Atlas Cloud Seedance + ElevenLabs) 2026-07-21 dr-nexum, atlas-cloud, seedance, elevenlabs
mimo-v2.5 : 400 Param Incorrect screenshots browser_vision — fix plugin provider 2026-07-09 mimo, vision, 400
Verdict pilote mimo-v2.5 : GARDER mimo, V4 Flash fallback 2026-07-08 mimo, modele, pilote
Veille Dr. Nexum — email enrichi 2026-07-03 dr-nexum, veille, email
Cron figé + publish n8n cassé — veille Dr Nexum (timezone Tunis) 2026-07-07 cron, timezone, veille
Veille hebdo Dr. Nexum (kanban fan-out) 2026-06-18 veille, kanban
Workflow Claude-GLM Nyora API Builder 2026-06-17 workflow, glm
VPS Contabo — réinstall + bascule Tailscale 2026-07-07 vps, tailscale
VPS Contabo — WireGuard + qBittorrent natif (kill-switch) 2026-07-05 vps, wireguard
Backup NAS → VPS Contabo (restic chiffré) 2026-07-05 vps, backup, restic
Accès supervision Claude sur VPS Contabo 2026-07-05 vps, acces
Surveillance trafic sortant fair-use Contabo 2026-07-05 vps, bandwidth

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 auto casse 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)