Add three new named health checks to the manifest alongside the existing
web check, each implemented as a fetch+parse of /api/health:
ckpool — is the stratum server alive? (miners can connect)
bitcoin — is Bitcoin Core RPC reachable? (blocks can be submitted)
submit-gap — have all block submissions been confirmed by bitcoind?
The web check retains its current role: calling /api/health which returns
503 when any critical subsystem is down, so StartOS marks the overall
service as degraded. The three new checks give operators a drill-down
view of which subsystem is the problem.
Each check returns "starting" for the first 20 s after launch so normal
boot sequencing does not trigger false alarms.
start-sdk pack was failing on 'Copying Assets: No such file'
because the compat volume was declared with type: assets but
had no assets/compat/ directory to populate it.
start-sdk pack discovers per-arch tarballs at docker-images/
x86_64.tar and docker-images/aarch64.tar by filename convention,
not via a manifest assets entry. Dropping the invalid
'docker-images: image.tar' assets key and reworking the Makefile
to build one type=docker tarball per arch with arm/x86 single-
arch convenience targets.
Multi-stage Dockerfile clones KamadoPool at a pinned SHA, builds
ckpool and kamado-api (with embedded Svelte UI), runtime image
supervises both processes via tini + wait -n. Config covers
bitcoind mainnet/testnet4 variant, payout address, coinbase tag,
vardiff knobs, and log level. Web UI interface only — stratum
:3333 requires a router port-forward or simpleproxy workaround
because StartOS 0.3.x does not forward raw TCP on LAN.
TODO before first build: pin KAMADO_REPO + KAMADO_SHA in the
Dockerfile to a pushed commit.