Dociagniecie do zmiany DEFAULT_BASE_URL z 24afb49 — po niej repo w szesciu
miejscach dalej podawalo stary adres.
- kb/runbooks/kb-site-deploy.md: wszystkie wystapienia + rekord Cloudflare
(Name: kb -> kb-e2a24af3). Runbook jest visibility: private, wiec slug
moze stac wprost.
- services/kb-site/{README.md,service.yaml,env.example,docker-compose.yml}
- hosts/piha/services.yaml: komentarz przy exposure
kb/services/kb-site.md swiadomie nietkniety — dokument publiczny, slug tam
nie wchodzi (opisuje adres jako "non-obvious subdomain").
check_okf.py exit 0, gen_pages.py --check exit 0.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
34 lines
1.4 KiB
YAML
34 lines
1.4 KiB
YAML
service:
|
|
name: kb-site
|
|
owner_node: piha
|
|
role: static-html-host # public slice of the KB, rendered by scripts/kb/gen_pages.py
|
|
exposure: public # public via npm@PIHA (kb-e2a24af3.okit.pl). The container itself binds
|
|
# 8250 on the LAN; npm is the sole public entry point.
|
|
dependencies: [] # nginx serving a local volume — nothing else required at runtime
|
|
ports:
|
|
- container: 80
|
|
host: 8250
|
|
protocol: tcp
|
|
healthcheck:
|
|
type: http
|
|
endpoint: http://127.0.0.1:8250/index.html # content must be loaded first (see runbook)
|
|
interval: 30s
|
|
timeout: 10s
|
|
retries: 5
|
|
restart_policy: unless-stopped
|
|
persistence:
|
|
# Docker named volume kb-site_kb-site_content (compose project prefix), NOT a
|
|
# bind under /opt/homelab/data. The content is a pure artifact: regenerate it
|
|
# from the repo with scripts/kb/gen_pages.py, no backup job needed.
|
|
paths:
|
|
- kb-site_kb-site_content
|
|
runtime:
|
|
config_files: [] # no .env — the port bind is static, no secrets
|
|
env_vars: []
|
|
content:
|
|
# Only kb/ documents with `visibility: public` are published; the generator
|
|
# is fail-closed (no frontmatter / no visibility field = private).
|
|
generator: scripts/kb/gen_pages.py
|
|
leak_check: scripts/kb/gen_pages.py --check # must pass before publishing
|
|
source: kb/**/*.md
|