# ---------------------------------------------------------------------------- # 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"