---
id: 06b5602f-4327-4377-99f6-3dca67b5bd75
title: Docker build-on-start + dogfood + polish
state: closed
labels:
- area:docker
assignees: []
milestone: m5-docker-v1
created: 2026-09-10T03:52:27.769090401Z
updated: 2026-09-10T05:09:33.503159534Z
---
Context: hu13 must be host-anywhere: one image, build-on-start, two mounts.
Tasks:
- `Dockerfile`: rust build stage (locked deps) + minimal runtime; entrypoint: `hu13 build /data/repo -o /srv/www` (fail loud on bad branch) then `exec hu13 serve`. Expose 39313. No nginx inside. `.dockerignore` (target, dist, inbox).
- Documented run: `-v ./repo:/data/repo:ro -v ./inbox-vol:/data/inbox -p 39313:39313`. Restart = rebuild.
- Polish: empty states ("none yet"), 404 page, header metadata, CSS check (<15KB), binary size check (<2MB or cut list), `border-radius: 0` grep.
- Dogfood: build+serve THIS repo; supervisor browses every tab; file 3+ polish issues found (or record "none found").
Success rubric (dod §Ship minus license):
- [ ] Fresh container from clean image serves code/commits/issues/pulls/tasks/ci/releases/wiki + feed + api on first boot with no manual steps.
- [ ] Replace repo contents + restart -> new sha shown; inbox files survive restart.
- [ ] fmt/clippy/test/ci green; CSS + binary budgets met.
Swarm: Owl + supervisor dogfood session. Branch `m5/docker`.
