homelab-codex-ws/kb/services/narty27.md
oskar 3292ab54e2 feat(kb): SPLIT service+runbook — 10 serwisow -> 20 dokumentow
Wzorzec mechaniczny: sekcje deploy/verify/install/testy wycinane do
kb/runbooks/<serwis>-*.md, reszta zostaje dokumentem type: service.
Wzajemne `links` w obie strony. Tresc sekcji nietknieta — przenoszone
doslownie, dodany wylacznie naglowek H1 nowego runbooka.

kb-query, paperless-worker, planner-agent, ha-diag-agent, ollama-piha,
narty27, home-assistant, ha-mcp, job-gmail-header-backfill, job-mail-body-ingest.

Weryfikacja: dla kazdego pliku multizbior niepustych linii
(main + runbook) == oryginal z HEAD. Zero zgubionych, zero dodanych.

Recon szacowal 13 splitow service+runbook; faktycznie 2-typowych jest 10,
pozostale 5 (paperless, nextcloud, gokapi, fleet-prometheus, deploy-runner)
sa 3-typowe i ida osobno jako splity wielotypowe.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-04 16:53:57 +02:00

1.2 KiB

okf type visibility status updated links
0.1 service private active 2026-07-31
../runbooks/narty27-deploy.md

narty27

Static hosting for a single self-contained viz.html (narty 2027 / Saalbach KB export) on PIHA. Plain nginx:alpine serving one Docker named volume — no build, no database, no dependencies.

  • URL: http://192.168.31.5:8240/viz.html (and / — same file, see below)
  • Exposure: private (LAN/Tailscale only; no npm vhost, no public ingress)
  • Volume: narty27_narty27_content/usr/share/nginx/html:ro

Content is personal and lives outside the repo

The visualisation is personal content. It is never committed — not to this repo, not to any other. It exists in exactly two places:

  1. the source on SOLARIA (~/narty-2027/saalbach-kb/viz.html), and
  2. the narty27_narty27_content Docker volume on PIHA.

There is no backup job and no bind mount under /opt/homelab/data/. If the volume is lost, re-run the update procedure below from SOLARIA.

Two copies of the same file are stored in the volume: viz.html (canonical name) and index.html (so the bare root http://192.168.31.5:8240/ works without a path). Both must be refreshed together on every update.