Move ckpool logs and kamado-api DB to persisted volumes

The default LOGDIR and DB_PATH both pointed at ephemeral container
paths, so a service restart wiped the pool's users/workers state,
its block history, and kamado-api's hashrate chart.

- LOGDIR: /var/log/ckpool -> /root/.ckpool/logs (ckpool volume).
  Persists pool/pool.status, users/, workers/, and daily logs.
- DB_PATH: default /var/lib/kamado/kamado.db
  -> /root/.kamado/data/kamado.db (main volume).
  Persists blocks, hashrate_samples, and the kv table that holds
  cumulative pool work.

CKPOOL_LOGFILE follows LOGDIR so kamado-api's log-tailer keeps
picking up ckpool's block-solve lines.
This commit is contained in:
satoshi
2026-04-22 21:07:36 +03:00
parent bfc9553bb9
commit 04a8e2d4dc
+9 -1
View File
@@ -62,7 +62,10 @@ TLS_PORT=$(q '.tls.port // 3334')
# never credits it a satoshi. # never credits it a satoshi.
export POOL_BTCADDRESS="${SELFTEST_ADDRESS}" export POOL_BTCADDRESS="${SELFTEST_ADDRESS}"
export LOGDIR=/var/log/ckpool # LOGDIR lives on the ckpool data volume so ckpool's own state files
# (users/, workers/, pool/pool.status, daily log files) survive restart.
# SOCKET_DIR is ephemeral — sockets are re-created on each start.
export LOGDIR=/root/.ckpool/logs
export SOCKET_DIR=/run/ckpool export SOCKET_DIR=/run/ckpool
export BITCOIN_NOTIFY=true export BITCOIN_NOTIFY=true
# ckpool itself doesn't use ZMQ in this build — zmqblock is stripped # ckpool itself doesn't use ZMQ in this build — zmqblock is stripped
@@ -101,9 +104,14 @@ echo "kamado-entrypoint: starting ckpool (solo, ${BITCOIND_VARIANT}) on port ${S
/usr/local/bin/ckpool --btcsolo --config "${CONF}" --sockdir "${SOCKET_DIR}" --log-shares & /usr/local/bin/ckpool --btcsolo --config "${CONF}" --sockdir "${SOCKET_DIR}" --log-shares &
CKPOOL_PID=$! CKPOOL_PID=$!
# DB_PATH must live on the persisted main volume; the default
# /var/lib/kamado/kamado.db is ephemeral container storage.
KAMADO_DATA_DIR=/root/.kamado/data
mkdir -p "${KAMADO_DATA_DIR}"
export LISTEN_ADDR=":8080" export LISTEN_ADDR=":8080"
export CKPOOL_SOCKDIR="${SOCKET_DIR}" export CKPOOL_SOCKDIR="${SOCKET_DIR}"
export CKPOOL_LOGFILE="${LOGDIR}/ckpool.log" export CKPOOL_LOGFILE="${LOGDIR}/ckpool.log"
export DB_PATH="${KAMADO_DATA_DIR}/kamado.db"
export BITCOIN_RPC_URL="http://${BITCOIN_RPC_HOST}:${BITCOIN_RPC_PORT}" export BITCOIN_RPC_URL="http://${BITCOIN_RPC_HOST}:${BITCOIN_RPC_PORT}"
export POLL_INTERVAL=5s export POLL_INTERVAL=5s
export KAMADO_LOG_LEVEL="${LOG_LEVEL}" export KAMADO_LOG_LEVEL="${LOG_LEVEL}"