59 lines
1.8 KiB
Markdown
59 lines
1.8 KiB
Markdown
# Kamado Pool — StartOS Packaging
|
|
|
|
StartOS 0.3.5.1 wrapper 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.
|
|
|
|
## Prerequisites
|
|
|
|
- **Docker** with [buildx](https://docs.docker.com/build/buildx/) plugin
|
|
- **deno** — bundles the TypeScript embassy procedures
|
|
- **yq** — parses `manifest.yaml` for package metadata
|
|
- **start-sdk** — packs and verifies the `.s9pk` (from the [StartOS SDK](https://docs.start9.com/latest/developer-docs/specification/))
|
|
- **KamadoPool source** — local sibling checkout at `../KamadoPool` (override with `KAMADO_SRC=/path/to/KamadoPool`)
|
|
|
|
## Building
|
|
|
|
### Universal package (x86_64 + aarch64)
|
|
|
|
A universal `.s9pk` runs on any StartOS machine regardless of architecture. This is the default and what you should ship.
|
|
|
|
**One-time setup** (re-run after each reboot):
|
|
|
|
```sh
|
|
make setup
|
|
```
|
|
|
|
This registers qemu binfmt handlers for cross-architecture emulation and creates a multiplatform Docker buildx builder. The arm64 build runs under emulation on x86 hosts, so it is significantly slower (~5-10x) than native.
|
|
|
|
**Build:**
|
|
|
|
```sh
|
|
make
|
|
```
|
|
|
|
This bundles the TypeScript procedures, builds Docker images for both architectures, and packs `kamado-pool.s9pk`. The universal package is roughly double the size of a single-arch package since it contains two Docker images.
|
|
|
|
### Single-arch (development)
|
|
|
|
For faster iteration when you only need one architecture:
|
|
|
|
```sh
|
|
make x86 # x86_64 only
|
|
make arm # aarch64 only
|
|
```
|
|
|
|
These skip the other architecture entirely — no emulation overhead.
|
|
|
|
### Overrides
|
|
|
|
```sh
|
|
# Use a different KamadoPool source directory
|
|
make KAMADO_SRC=/path/to/KamadoPool
|
|
|
|
# Use a different buildx builder
|
|
make BUILDER=my-builder
|
|
```
|
|
|
|
## License
|
|
|
|
GPL-3.0 — matches upstream Kamado and CKPool.
|