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>
53 lines
1.8 KiB
Markdown
53 lines
1.8 KiB
Markdown
---
|
|
okf: "0.1"
|
|
type: runbook
|
|
visibility: private
|
|
status: active
|
|
updated: 2026-07-31
|
|
links:
|
|
- ../services/narty27.md
|
|
---
|
|
|
|
# narty27 — uruchomienie i operacje
|
|
|
|
## Updating the content (from SOLARIA)
|
|
|
|
```bash
|
|
# 1. Ship the file to PIHA
|
|
scp ~/narty-2027/saalbach-kb/viz.html piha:/tmp/viz.html
|
|
|
|
# 2. Write BOTH copies into the volume via a throwaway helper container
|
|
ssh piha 'docker run --rm \
|
|
-v narty27_narty27_content:/content \
|
|
-v /tmp:/src:ro \
|
|
alpine sh -c "cp /src/viz.html /content/viz.html && cp /src/viz.html /content/index.html"'
|
|
|
|
# 3. Drop the staging copy
|
|
ssh piha 'rm -f /tmp/viz.html'
|
|
|
|
# 4. Verify (no container restart needed — nginx serves from disk per request)
|
|
curl -sf -o /dev/null -w '%{http_code}\n' http://192.168.31.5:8240/viz.html
|
|
curl -sf -o /dev/null -w '%{http_code}\n' http://192.168.31.5:8240/
|
|
```
|
|
|
|
**Why a helper container and not `docker cp`:** the volume is mounted `:ro` into
|
|
the nginx container, and `docker cp` writes through the container's mount
|
|
namespace — it fails with `mounted volume is marked read-only`, for both running
|
|
and stopped containers (verified 2026-07-31). The helper container mounts the
|
|
same volume read-write and bypasses nginx entirely.
|
|
|
|
## First start
|
|
|
|
`nginx:alpine` seeds an empty named volume with its own default `index.html` and
|
|
`50x.html` on first run, so the root will show the nginx welcome page until step
|
|
2 above overwrites `index.html`. Until then `/viz.html` 404s and the container
|
|
healthcheck reports unhealthy — this is expected, not a failure.
|
|
|
|
## Operations
|
|
|
|
```bash
|
|
docker compose -f services/narty27/docker-compose.yml up -d # on PIHA
|
|
./healthcheck.sh # container + both paths
|
|
docker volume ls | grep narty27 # narty27_narty27_content
|
|
```
|