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:
@@ -0,0 +1,45 @@
|
||||
import { matches, types as T } from "../deps.ts";
|
||||
|
||||
const { shape, boolean, arrayOf, string, dictionary, any } = matches;
|
||||
|
||||
const bitcoindMatcher = shape({
|
||||
"rpc": shape({
|
||||
"enable": boolean,
|
||||
"username": string,
|
||||
"password": string,
|
||||
}, ["enable", "username", "password"]),
|
||||
"advanced": shape({
|
||||
"peers": shape({
|
||||
"listen": boolean,
|
||||
}, ["listen"]),
|
||||
}, ["peers"]),
|
||||
}, ["rpc", "advanced"]);
|
||||
|
||||
const checkBitcoind: T.ExpectedExports.dependencyConfig["check"] = async (
|
||||
effects,
|
||||
input,
|
||||
) => {
|
||||
const res = bitcoindMatcher.test(input);
|
||||
if (!res) return { error: "Bitcoin Core RPC settings are missing." };
|
||||
if (!input.rpc.enable) {
|
||||
return { error: "Bitcoin Core RPC must be enabled." };
|
||||
}
|
||||
return { result: null };
|
||||
};
|
||||
|
||||
const autoBitcoind: T.ExpectedExports.dependencyConfig["autoConfigure"] =
|
||||
async (effects, input) => {
|
||||
input.rpc.enable = true;
|
||||
return { result: input };
|
||||
};
|
||||
|
||||
export const dependencies: T.ExpectedExports.dependencies = {
|
||||
"bitcoind": {
|
||||
check: checkBitcoind,
|
||||
autoConfigure: autoBitcoind,
|
||||
},
|
||||
"bitcoind-testnet": {
|
||||
check: checkBitcoind,
|
||||
autoConfigure: autoBitcoind,
|
||||
},
|
||||
};
|
||||
Reference in New Issue
Block a user