feat(homepage): add talk tile with its commissioned mark

talk has served on nh3-dev since 2026-09-08 with no dashboard presence.
nh3-dev is not a Docker-stack host and is absent from docker.yaml, so
label auto-discovery cannot reach it — this is a manual services.yaml
entry in Apps, beside the Booth and WhereTF which are there for the
same reason.

siteMonitor points straight at the app: talk.nh3.phasefinal.com:8092
now presents the Let's Encrypt *.nh3.phasefinal.com wildcard (valid to
2026-12-06), so no cert or port special-casing is needed.

Icon is copied into the images mount rather than hot-linked from the
booth, which is scratch space. Document the two traps that cost time
here: Homepage v2 serves nothing but custom.css/custom.js out of the
config dir, and Next.js fixes its public/ route manifest at container
start, so a newly added image 404s until the container is restarted.
This commit is contained in:
vh
2026-09-18 06:50:21 -07:00
parent d94b5a1934
commit d6a9d70b9e
3 changed files with 18 additions and 0 deletions
+8
View File
@@ -223,6 +223,14 @@ Observed and standardized across servers:
tabs right now.
Labels only apply at container **creation**, so a label edit needs
`docker compose up -d <service>`, not `restart`.
**Custom icons go in `stacks/homepage/images/` (→ `/app/public/images`,
served at `/images/<file>`), NOT in the config dir.** Homepage v2 serves only
`custom.css` / `custom.js` out of `/app/config`, so `conf/icons/foo.svg` 404s
even though the file is plainly there in the container. ⚠ **And Next.js builds
its `public/` route manifest at container START** — a file dropped into the
mounted images dir 404s until you `docker restart homepage`, while files that
predate the start serve fine. That asymmetry reads exactly like a bad mount or
a permissions problem and is neither. Reference it as `icon: /images/<file>`.
- **Healthchecks** on services that expose HTTP
## Servers