Runtime swap ROCmFPX llama.cpp -> peonist-ai/halogen (image digest dc0a39a0, tag 0.1.4), serving qwen3.8-27b-p1w4d-d2.hgn (33.4 GiB, the .hgn format loads in no other engine) with HALOGEN_DRAFTER=2 (DFlash2) on ONE slot of 200700 ctx: slots>1 disables the drafter (engine law). Accepted: TEXT-ONLY (vision encoder ignored; frank-small owns images) and the censored base (rollback = revert this commit; payload, fork build and build-rocmfpx.sh pin stay on disk). - serve script: podman run under the root unit, exec podman wait so Restart=always is real; gates image digest, checkpoint byte-count, flat regular-file tokenizer, GPU nodes; engine stdout to log. - deploy handler: gates the artifacts, sweeps the legacy bare llama-server + old container name by NAME (never pkill llama-server: frank-small), retires the 2026-09 quadlet, port cutover 7770. - fetch script: -C - resume, -f, byte count, sha256, --verify-only. - seam rewritten (17 tests): halogen is now the deployed runtime.
32 lines
1.3 KiB
Desktop File
32 lines
1.3 KiB
Desktop File
[Unit]
|
|
Description=halogen container (peonist-ai/halogen-qwen3.8-27b, DFlash2 spec decode, 1 slot x 200700, text-only), root systemd unit (dankclaw, frank-large, Strix Halo iGPU)
|
|
After=network-online.target
|
|
Wants=network-online.target
|
|
|
|
[Service]
|
|
Type=simple
|
|
User=dank
|
|
Group=dank
|
|
# The engine pins staging buffers; keep the memlock budget unbounded so an
|
|
# RLIMIT smaller than the pinned set cannot fail the load. Parity with the
|
|
# other LLM units on this fleet.
|
|
LimitMEMLOCK=infinity
|
|
Environment="FRANK_LARGE_ENV_FILE=/home/dank/serverAppConfigs/scripts/frank-large.env"
|
|
ExecStart=/home/dank/serverAppConfigs/scripts/serve-frank-large.sh
|
|
# systemd stop alone cannot stop the container child; stop it explicitly
|
|
# (frank-primary pattern). The engine drains on SIGTERM.
|
|
ExecStop=/usr/bin/podman stop -t 60 frank-large-halogen
|
|
TimeoutStartSec=1200
|
|
TimeoutStopSec=120
|
|
# always, not on-failure: an engine that exits 0 after an internal fault
|
|
# would otherwise leave the endpoint down until someone notices.
|
|
Restart=always
|
|
RestartSec=10
|
|
# The engine mmaps 33.4 GiB of weights and keeps a multi-GiB working set
|
|
# on a box that also hosts frank-small, ComfyUI and the Caddy/observability
|
|
# stack; make it a late OOM candidate, not the first.
|
|
OOMScoreAdjust=-500
|
|
|
|
[Install]
|
|
WantedBy=multi-user.target
|