Initial StartOS 0.3.5.1 packaging scaffold for Kamado Pool
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.
This commit is contained in:
+151
@@ -0,0 +1,151 @@
|
||||
id: kamado-pool
|
||||
title: "Kamado Pool"
|
||||
version: 0.1.0
|
||||
release-notes: |
|
||||
Initial StartOS 0.3.5.1 packaging for Kamado Pool — a modern solo
|
||||
Bitcoin mining pool built on a patched fork of CKPool-solo with a
|
||||
Go middleware API and Svelte real-time dashboard.
|
||||
license: gpl-3.0
|
||||
wrapper-repo: "https://github.com/Relaxo143/KamadoPool-StartOS"
|
||||
upstream-repo: "https://github.com/Relaxo143/KamadoPool"
|
||||
support-site: "https://github.com/Relaxo143/KamadoPool/issues"
|
||||
marketing-site: "https://github.com/Relaxo143/KamadoPool"
|
||||
donation-url: ~
|
||||
build: ["make"]
|
||||
description:
|
||||
short: "Modern solo Bitcoin mining pool with real-time dashboard"
|
||||
long: |
|
||||
Kamado Pool is a solo Bitcoin mining pool built on a patched fork
|
||||
of CKPool-solo. Unlike wrappers that read periodic stats files,
|
||||
Kamado talks directly to CKPool's Unix socket API to expose real-
|
||||
time per-client hashrate, difficulty, hardware detection, full
|
||||
block history, and best-share leaderboards (both current round
|
||||
and all-time) via a Svelte dashboard with WebSocket push.
|
||||
|
||||
Stratum listens on port 3333. Because StartOS 0.3.x does not
|
||||
forward raw TCP ports on the LAN interface, you must use a
|
||||
simpleproxy or router port-forward to reach the stratum endpoint
|
||||
from miners on your local network. See instructions.
|
||||
|
||||
assets:
|
||||
license: LICENSE
|
||||
icon: icon.png
|
||||
instructions: instructions.md
|
||||
docker-images: image.tar
|
||||
|
||||
main:
|
||||
type: docker
|
||||
image: main
|
||||
entrypoint: docker_entrypoint.sh
|
||||
args: []
|
||||
mounts:
|
||||
main: /root/.kamado
|
||||
ckpool: /root/.ckpool
|
||||
compat: /mnt/assets
|
||||
gpu-acceleration: false
|
||||
|
||||
hardware-requirements:
|
||||
arch:
|
||||
- x86_64
|
||||
- aarch64
|
||||
|
||||
health-checks:
|
||||
web:
|
||||
name: "Web Dashboard"
|
||||
success-message: "Kamado dashboard is reachable."
|
||||
type: script
|
||||
|
||||
config:
|
||||
get:
|
||||
type: script
|
||||
set:
|
||||
type: script
|
||||
|
||||
properties:
|
||||
type: script
|
||||
|
||||
volumes:
|
||||
main:
|
||||
type: data
|
||||
ckpool:
|
||||
type: data
|
||||
compat:
|
||||
type: assets
|
||||
|
||||
interfaces:
|
||||
main:
|
||||
name: Web Dashboard
|
||||
description: "Real-time Kamado Pool dashboard (hashrate, miners, blocks, best shares)."
|
||||
tor-config:
|
||||
port-mapping:
|
||||
80: "8080"
|
||||
lan-config:
|
||||
443:
|
||||
ssl: true
|
||||
internal: 8080
|
||||
ui: true
|
||||
protocols:
|
||||
- tcp
|
||||
- http
|
||||
|
||||
dependencies:
|
||||
bitcoind:
|
||||
version: ">=24.0.0 <30.0.0"
|
||||
requirement:
|
||||
type: "opt-in"
|
||||
how: "Can alternatively use bitcoind-testnet for testnet4 testing."
|
||||
description: "Used to submit found blocks and receive new block templates via RPC + ZMQ."
|
||||
config:
|
||||
check:
|
||||
type: script
|
||||
auto-configure:
|
||||
type: script
|
||||
bitcoind-testnet:
|
||||
version: ">=24.0.0 <30.0.0"
|
||||
requirement:
|
||||
type: "opt-in"
|
||||
how: "Can alternatively use mainnet bitcoind."
|
||||
description: "Testnet4 variant of bitcoind for testing Kamado without real funds."
|
||||
config:
|
||||
check:
|
||||
type: script
|
||||
auto-configure:
|
||||
type: script
|
||||
|
||||
backup:
|
||||
create:
|
||||
type: docker
|
||||
image: compat
|
||||
system: true
|
||||
entrypoint: compat
|
||||
args:
|
||||
- duplicity
|
||||
- create
|
||||
- /mnt/backup
|
||||
- /root/.kamado
|
||||
mounts:
|
||||
BACKUP: /mnt/backup
|
||||
main: /root/.kamado
|
||||
restore:
|
||||
type: docker
|
||||
image: compat
|
||||
system: true
|
||||
entrypoint: compat
|
||||
args:
|
||||
- duplicity
|
||||
- restore
|
||||
- /mnt/backup
|
||||
- /root/.kamado
|
||||
mounts:
|
||||
BACKUP: /mnt/backup
|
||||
main: /root/.kamado
|
||||
|
||||
migrations:
|
||||
from:
|
||||
"*":
|
||||
type: script
|
||||
args: ["from"]
|
||||
to:
|
||||
"*":
|
||||
type: script
|
||||
args: ["to"]
|
||||
Reference in New Issue
Block a user