Conversation
Update ckpool to v1.2.0
…instruction crashes
Harden and make container releases reproducible
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
This updates the backend from ckpool 1.1.1 to 1.2.0 and hardens how the multi-architecture image is built, tested, and published.
The same image changes have been running successfully in the Bassin community app with the existing Umbrel RPC/ZMQ configuration and UID/GID 1000 volume layout.
ckpool 1.2.0
The image now builds the exact upstream 1.2.0 revision (
2e44101e2da2c11f499be76d16e6a26cd95cfea7) instead of 1.1.1. This is a substantial upstream update, including:dropidledefault changing from 3600 seconds to disabled (0)Cap'n Proto is intentionally not enabled in this image yet. Bassin therefore continues to use its established JSON-RPC and ZMQ interfaces without requiring a Bitcoin Core IPC socket or configuration change. IPC can be evaluated separately with an explicit compatibility and integration test matrix.
Runtime and security hardening
--no-install-recommends, and remove package indexeslibzmq3-devwith the requiredlibzmq5shared-library packagemake checkduring the image build1000:1000by default/app/logswhile retaining the command contract used by the official Bassin compose fileFor amd64, compressed image layers decreased from approximately 58.3 MB to 32.0 MB in the reference build.
Portability
ckpool 1.2.0 defaults to
-march=nativeand can select build-host-specific SHA/AVX/ARM instructions. The image explicitly uses portable-O2C/C++ flags and disables host CPU feature selection, preventing binaries built under GitHub Actions/QEMU from failing with illegal instructions on older amd64 or arm64 Umbrel hardware.CI and release integrity
linux/amd64andlinux/arm64on every pull request and master pushlibzmq3-dev<ckpool-version>-<packaging-revision>tags such asv1.2.0-1Verification performed
The reference
v1.2.0-1build completed successfully with:make check: 1/1 passedReference multi-architecture build:
ghcr.io/blockdyor/docker-ckpool-solo:v1.2.0-1@sha256:ac630bfd6675cb512317f3a75edff7940dcf0378dc8aeb61ba9ac592aa6bdb87Once an Umbrel-owned image is published, the official Bassin app can continue pinning the Umbrel GHCR digest rather than relying on an external image.