diff --git a/serverAppConfigs-docs/LLM/frank-medium-radiance-mxfp4.md b/serverAppConfigs-docs/LLM/frank-medium-radiance-mxfp4.md index 0217ad7..9b6201b 100644 --- a/serverAppConfigs-docs/LLM/frank-medium-radiance-mxfp4.md +++ b/serverAppConfigs-docs/LLM/frank-medium-radiance-mxfp4.md @@ -199,6 +199,27 @@ the entrypoint/healthcheck/proxy scripts mounted read-only out of The healthcheck reads `PORT`, so one probe serves the replicas (:7771/:7772), the proxy (:7770) and the TP=2 target. +### Boot persistence, verified by rebooting + +The trio was reboot-tested end to end (2026-09-16), because this repository has +been burned before by services that ran only from `compose.yaml` and stayed dark +after a reboot: + +``` +sudo reboot # unattended; ~2 min 14 s to graphical.target +# ... no manual step at any point ... +systemctl --user is-active frank-medium-a frank-medium-b frank-medium-proxy + -> active active active (containers up 59 s after boot) +curl http://127.0.0.1:7770/health -> both replicas UP ~3.5 min after boot +``` + +Why it comes back: each unit's `[Install] WantedBy=default.target` — the generator +wires all three into `default.target`'s wants (they report `generated`, which is +the healthy state on this host's v1 quadlet generator and cannot be `enable`d) — +plus `Linger=yes` for the deploy user, so the user manager runs without a login +session. The replicas need no warm cache: the compile cache lives on disk +(`/cache`) and the model loads cold in about three minutes. + ## Deploy and verify ```