Forks CKPool-solo at upstream commit cfb0f83b (v1.0) via a multi-stage Docker build, with an env-driven entrypoint that renders ckpool.conf from a template. The pinned commit already includes every fix referenced in Bassin issue #29 (workbase_id double increment, extended low-power timeouts, configurable dropidle, vardiff burst handling). No patches are applied yet — the patches/ directory holds the workflow and build wiring so Kamado-specific patches can be added incrementally. Build is portable across aarch64/x86_64: yasm is intentionally omitted so CKPool falls back to its C SHA256, and CFLAGS override drops upstream's default -march=native. Runtime image ships ckpool and ckpmsg for socket debugging; share logging (-L) is enabled by default. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
52 lines
1.8 KiB
YAML
52 lines
1.8 KiB
YAML
# ----------------------------------------------------------------------------
|
|
# Kamado Pool — development compose
|
|
#
|
|
# Spins up ckpool-solo pointing at a bitcoind. Expects bitcoind to be
|
|
# reachable at the host/port set in the `env` block below. For local
|
|
# testing, run bitcoind on regtest/testnet4 and set these accordingly.
|
|
#
|
|
# The ckpool socket dir is bind-mounted to ./data/run so the (future)
|
|
# kamado-api can talk to it from outside the container during development.
|
|
# ----------------------------------------------------------------------------
|
|
services:
|
|
ckpool:
|
|
build:
|
|
context: ./ckpool
|
|
dockerfile: Dockerfile
|
|
container_name: kamado-ckpool
|
|
restart: unless-stopped
|
|
ports:
|
|
- "3333:3333"
|
|
volumes:
|
|
- ./data/run:/run/ckpool
|
|
- ./data/logs:/var/log/ckpool
|
|
environment:
|
|
# --- Bitcoin Core connection ---
|
|
BITCOIN_RPC_HOST: "host.docker.internal"
|
|
BITCOIN_RPC_PORT: "48332" # testnet4 default
|
|
BITCOIN_RPC_USER: "${BITCOIN_RPC_USER:-kamado}"
|
|
BITCOIN_RPC_PASSWORD: "${BITCOIN_RPC_PASSWORD:-kamado}"
|
|
BITCOIN_NOTIFY: "true"
|
|
# Optional ZMQ for instant block notifications (recommended)
|
|
ZMQ_BLOCK: "${ZMQ_BLOCK:-}" # e.g. tcp://host.docker.internal:28332
|
|
|
|
# --- Pool settings ---
|
|
POOL_BTCADDRESS: "${POOL_BTCADDRESS:?set POOL_BTCADDRESS in .env}"
|
|
POOL_BTCSIG: "/Kamado Pool dev/"
|
|
STRATUM_PORT: "3333"
|
|
|
|
# --- Difficulty ---
|
|
MINDIFF: "1"
|
|
STARTDIFF: "1"
|
|
MAXDIFF: "0"
|
|
# Drop clients idle longer than N seconds (0 = never drop)
|
|
DROPIDLE: "0"
|
|
|
|
# --- Logging ---
|
|
SHARE_LOG: "1"
|
|
LOGDIR: "/var/log/ckpool"
|
|
SOCKET_DIR: "/run/ckpool"
|
|
extra_hosts:
|
|
# Allow containers to reach bitcoind running on the host
|
|
- "host.docker.internal:host-gateway"
|