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>
36 lines
1.2 KiB
Markdown
36 lines
1.2 KiB
Markdown
---
|
|
okf: "0.1"
|
|
type: service
|
|
visibility: private
|
|
status: active
|
|
updated: 2026-07-31
|
|
links:
|
|
- ../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.
|
|
|