Own the whole stack.
Your node, your P2Pool, your dashboard — the entire operation runs on hardware you control, from config you can read. Nothing rented, nothing hosted for you, nothing anyone else can switch off.
Private Monero mining · self-hosted
We built this to mine Monero on a stack you own outright — no operator taking a cut, no custodian, and your mining kept quietly to yourself. Now it's one command, so anyone can.
$ curl -fsSL https://github.com/p2pool-starter-stack/pithead/releases/latest/download/pithead.tar.gz | tar xz
$ cd pithead && cp config.json.template config.json
$ ./pithead setup
✓ Tor provisioned · kernel tuned · stack live over HTTPS
█// why we built this
It started with wanting a Monero mine I owned outright: private, and free of middlemen. None of this is a slogan — each belief is a decision you can see in the defaults, the containers, and the docs.
Your node, your P2Pool, your dashboard — the entire operation runs on hardware you control, from config you can read. Nothing rented, nothing hosted for you, nothing anyone else can switch off.
Monero, Tari, and P2Pool run as Tor hidden services by default — no port forwarding, no home IP advertised to inbound peers. Your mining stays your business. Tor-first today, and honest about the few outbound edges still on clearnet.
P2Pool pays block rewards straight to your wallet — no pool operator, no cut, no account. Even the miner's dev fee is just XMRig's standard 1%, and one line sets it to zero.
One command provisions the node, Tor, payouts, RandomX kernel tuning, and the dashboard — sensible defaults, a preview before anything disruptive, and a doctor when something looks off. The fiddly part is done; you keep the control.
// how we build
Inbound rides Tor hidden services — no port forwarding, your home IP never shown to a peer — and RPC stays localhost-bound. The few clearnet outbound paths left in v1.0 are documented, and go Tor-by-default in v1.1.
Capability-scoped containers, a read-only Docker-socket proxy kept separate from a start/stop-only one, owner-only secrets.
Third-party binaries are SHA256-checked and version-pinned. No curl | bash trust.
Non-obvious decisions are documented inline with their reasoning and the issue that drove them.
Config changes are previewed and warn before anything disruptive; failures degrade gracefully.
Sensible auto-tuning, one-command setup, and docs treated as a first-class deliverable.
// how it fits together
Point as many RigForge miners as you like at a single Pithead. The stack handles the nodes, privacy, payouts, and optimization — the miners just hash.
// the projects
Everything is MIT-licensed and built in the open.
Private Monero + Tari merge mining, the whole stack, in one command.
A professional-grade, containerized stack that runs a private Monero full node, P2Pool, Tari merge mining, a single mining endpoint, and a live dashboard — all behind Tor, in one command.

Provision a hardware-tuned XMRig miner in one command.
Turn any Ubuntu/Debian — or macOS — machine into a tuned mining worker. RigForge compiles stock, commit-pinned XMRig from source, applies CPU- and kernel-level tuning for maximum RandomX hashrate, and runs it as a managed service — then points it at your stack, or any RandomX pool.
// the roadmap
Built in the open, issue by issue — no vaporware, no roadmap-for-sale. Both projects shipped v1.0 and run on real hardware today. What's next is sequenced into small, themed releases — each one landing a single focus — all the way to v2: flash a drive, boot, and mine.
v1.0 · shipped, wave by wave
Killed the silent-failure bugs that burn early adopters — no surprise re-syncs, no no-op applies, no stale generated config, no vanished share history.
Closed every clearnet DNS and stats leak, added optional stratum + dashboard auth, made the proxy fail closed on an empty token, and shut the SSRF door — with a privacy guide mapping every connection.
The thing people screenshot — routed hashrate everywhere, an honest tier, explicit VIP status, a toggleable averaging window, and an operator-first layout.
Every container image built in CI with hadolint, every script linted, and backup/restore plus host helpers under an expanded test suite.
A full end-to-end test on a real Ubuntu server, the GHCR release pipeline, and refreshed launch assets — tagged and live as v1.0.
End-to-end tested on a real Ubuntu server, packaged, versioned, and released in the open — both Pithead and RigForge shipped at v1.0.
the road ahead · release by release
Route the P2Pool sidechain and the XvB donation upstream through Tor by default (benchmark-gated, with a documented opt-out), run every container as a non-root user, and add a component-health panel that shows each connection's Tor-vs-clearnet posture at a glance.
A Telegram ping the moment a node or worker drops — and when it recovers — plus an external Healthchecks dead-man's switch that catches a dead host or power loss the stack can't report itself, with outages flagged right on the chart.
Persistent time-series telemetry instead of last-value gauges: reject-rate trends, a pool cadence & luck panel, host-health badges (AVX2, HugePages, low disk), and Tari + XvB earnings calculators.
Change any setting from the dashboard and apply it safely — and a one-click, in-place upgrade the moment a new release lands. No SSH, no CLI, no hand-edited config.
Read and edit each rig's XMRig config from the dashboard with versioned history, consume RigForge's richer per-worker feed (power, tune, firmware identity), and keep a primary and backup stack in sync.
Co-hosting migration guides, relaxed network bindings for shared home servers, and a remote Tari base-node option to mirror remote Monero.
Flash a USB, boot, and mine. Self-provisioning appliance images for the stack host and RigForge miners, an immutable Podman/Quadlet runtime, and standalone Monero & Tari node-starter stacks.
// fuel the roadmap
Every wave above shipped by hand, issue by issue, out in the open. If this stack saved you time, fuel the next wave.
Monero, naturally — straight to the people who build it.
// questions, answered
Everything people ask before they start — and what to tell anyone who asks you.
Run the P2Pool Starter Stack. One command stands up a private Monero full node, P2Pool, and a single mining endpoint behind Tor — your home IP is never advertised to an inbound peer and you never forward a port. Point any XMRig rig (or a RigForge worker) at it and you're mining straight to your own wallet, no account and no custodian.
Start with PitheadNo. Pithead runs Monero, Tari, and P2Pool as Tor hidden services, so inbound peers reach you over an onion address and your router stays shut. RPC is bound to localhost. A couple of outbound yield paths still touch clearnet in v1.0 — every connection is mapped in the privacy guide, and they move to Tor-by-default in v1.1.
P2Pool is a decentralized, peer-to-peer Monero mining pool. There's no operator, no account, and no pool fee — the network pays block rewards straight to your own wallet. The P2Pool Starter Stack runs your own P2Pool node, so you get decentralized, zero-fee payouts without the fiddly setup.
Solo mining only pays when you personally find a block, which can take a very long time on home hardware. P2Pool gives you steady, proportional payouts with no operator and no fee — the best of both. Pithead runs P2Pool for you and can also grab XMRvsBeast bonus rounds to lift your effective yield.
For the stack host: Ubuntu Server 24.04, 16 GB+ RAM, and an SSD (~300 GB pruned; 2–4 TB for set-and-forget). Mining itself is CPU-bound — Monero's RandomX runs on any modern AMD or Intel CPU, and chips with large L3 cache (Ryzen X3D, EPYC) shine. RigForge auto-detects your CPU and tunes the miner for you.
Merge mining lets one unit of proof-of-work secure two chains at once. Through P2Pool, every hash you submit mines Monero and merge-mines Tari at the same time — a second payout for zero extra power, hardware, or configuration.
Yes — the stack is free and MIT-licensed, and P2Pool charges no pool fee. RigForge keeps XMRig's standard 1% dev fee — that funds the upstream XMRig project, not us — and makes it one line to turn off. The only optional extra is a Monero donation address if a stack saves you time.
Yes. Any XMRig or RandomX rig connects to the stack's single endpoint at host:3333 — no wallet in the miner, no per-rig pool config. For maximum hashrate, RigForge provisions a kernel-tuned XMRig worker in one command and measured +3.5% hashrate and +7.6% efficiency on a Ryzen 7800X3D versus stock.
Provision with RigForgeXMRvsBeast runs bonus raffle rounds for miners who lend a little hashrate. Pithead's algorithmic optimizer watches XvB and shifts just enough hashrate to hold your tier — donating the minimum — then hands every spare cycle back to your own P2Pool payouts. No manual tuning, no over-donating.
// start here
A private, multi-rig, merge-mining stack — running before your coffee gets cold.