Diátaxis: How-to. Containerised dashboard + materialize.
docker compose up serve
# → http://localhost:8000
docker compose --profile ingest run --rm materialize
compose.yml bind-mounts ./contracts and ./data so edits and
deletes round-trip to the host. Both services use the same image
built from Dockerfile.
See .github/workflows/materialize.yml — runs flow materialize --all
on a cron schedule and uploads data/ as a build artifact.