-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathcontent.yaml
More file actions
398 lines (380 loc) · 20.5 KB
/
Copy pathcontent.yaml
File metadata and controls
398 lines (380 loc) · 20.5 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
# ─────────────────────────────────────────────────────────────────────────────
# Single source of truth for all landing-page copy.
# Rendered by layouts/index.html. Edit text here, not in the templates.
# ─────────────────────────────────────────────────────────────────────────────
hero:
eyebrow: "Private Monero mining · self-hosted"
title_lead: "Own the whole"
title_accent: "operation."
title_tail: ""
sub: >-
We built this to mine Monero on a stack you <strong>own outright</strong> — no operator taking a
cut, no custodian, and your mining kept quietly to yourself. Now it's <strong>one command</strong>,
so anyone can.
command:
title: "you@home: ~/pithead"
lines:
- {
p: true,
text: "curl -fsSL https://github.com/p2pool-starter-stack/pithead/releases/latest/download/pithead.tar.gz | tar xz",
}
- { p: true, text: "cd pithead && cp config.minimal.json config.json" }
- { p: true, text: "./pithead setup" }
- { p: false, text: "✓ Tor provisioned · kernel tuned · stack live over HTTPS" }
cta_primary: { label: "Get Pithead", href: "https://github.com/p2pool-starter-stack/pithead" }
cta_secondary: { label: "View on GitHub", href: "https://github.com/p2pool-starter-stack" }
meta: "MIT-licensed · built in the open · zero third-party requests"
# "Why we built this" — the belief, stated first (Simon Sinek: start with why).
# This leads the page; the projects below are the proof, not the pitch.
beliefs:
eyebrow: "// why we built this"
title: "Why it exists — and where to see it."
sub: >-
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.
items:
- belief: "Own the whole stack."
text: >-
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.
- belief: "Mine without telling the world."
text: >-
Monero, Tari, and P2Pool run as Tor hidden services by default — no port forwarding, no home IP
advertised to inbound peers. All runtime egress rides Tor too, and a host firewall drops any
direct clearnet dial. Your mining stays your business.
- belief: "Keep what you earn."
text: >-
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.
- belief: "And it shouldn't take an expert."
text: >-
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.
# Mono stat band under the hero.
stats:
- { value: "11", label: "services, one compose file" }
- { value: "2", label: "chains, merge-mined" }
- { value: "1", label: "command to set up" }
- { value: ":3333", label: "one endpoint for every rig" }
- { value: "0", label: "ports forwarded · IP exposed" }
# "How they fit together" flow.
flow:
eyebrow: "// how it fits together"
title: "An orchestrator, and the miners that feed it."
sub: >-
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.
nodes:
miners: { kicker: "RigForge", title: "Miners", note: "many machines · just hash" }
orch: { kicker: "Pithead", title: "Orchestrator", note: "nodes · privacy · payouts · :3333" }
chains: { kicker: "Monero + Tari", title: "Merge-mined", note: "over Tor" }
side: { kicker: "XMRvsBeast", title: "Bonus rounds", note: "algorithmic hashrate split" }
# The projects. Pithead is the star (featured: true).
projects:
eyebrow: "// the projects"
title: "Two open-source projects. One private operation."
sub: "Everything is MIT-licensed and built in the open."
items:
- id: "pithead"
featured: true
mark: "pithead"
accent: "orange"
name: "Pithead"
role: "the orchestrator"
tagline: "Private Monero + Tari merge mining, the whole stack, in one command."
blurb: >-
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.
image: "img/dashboard.png"
image_alt: "The Pithead dashboard — live hashrate, P2Pool/XvB split, XvB tier, and per-worker stats"
features:
- {
icon: "onion",
title: "Private by default",
text: "Tor hidden services for Monero, Tari, and P2Pool, and all runtime egress routed over Tor — a fail-closed host firewall drops any direct clearnet dial. Your router stays shut, your home IP stays yours.",
}
- {
icon: "pick",
title: "Monero + Tari, merge-mined",
text: "Every hash mines Monero on zero-fee P2Pool and merge-mines Tari at once — a second payout for zero extra power or config.",
}
- {
icon: "brain",
title: "Algorithmic yield optimization",
text: "Watches the XMRvsBeast raffle and shifts hashrate to grab bonus rounds — donating only the minimum to hold your tier, then handing every spare cycle back to your own P2Pool payouts.",
}
- {
icon: "plug",
title: "One endpoint for every rig",
text: "All your miners point at a single address — no wallet in the miner, no per-rig pool config. The stack routes the hashrate.",
}
- {
icon: "chart",
title: "A dashboard worth leaving open",
text: "Live hashrate, the P2Pool/XvB split shading in real time, per-worker stats — and persistent trends: blocks found, pool luck, reject rates, and expected-vs-confirmed earnings after power costs.",
}
- {
icon: "gear",
title: "Control from the browser",
text: "Opt in to edit any setting from a guided form, retune each rig with versioned history, and one-click upgrade when a release lands — every change host-validated behind a login, with a full audit log.",
}
- {
icon: "bolt",
title: "An operator bot on call",
text: "Telegram alerts the moment a node or worker drops — and when it recovers — plus a daily digest, read-only status commands, and a Healthchecks dead-man's switch for the failure the box can't report itself.",
}
- {
icon: "stack",
title: "Encrypted backups",
text: "One command writes config, secrets, Tor onion keys, and the dashboard's history to an AES-256 archive — and restore brings the box back on new hardware with the same onion address.",
}
- {
icon: "shield",
title: "Hardened out of the box",
text: "Non-root containers, read-only filesystems, SHA256-verified pinned binaries, digest-pinned images, scoped Docker-socket proxies — and every release cosign-signed end to end.",
}
links:
- {
label: "GitHub",
href: "https://github.com/p2pool-starter-stack/pithead",
primary: true,
}
- { label: "Docs", href: "https://github.com/p2pool-starter-stack/pithead/tree/main/docs" }
- id: "rigforge"
featured: false
mark: "rigforge"
accent: "ember"
name: "RigForge"
role: "the miners"
tagline: "Provision a hardware-tuned XMRig miner in one command."
blurb: >-
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.
features:
- {
icon: "bolt",
title: "One command, bare metal to mining",
text: "Installs the toolchain, compiles commit-pinned upstream XMRig, and starts it as a managed service — on Ubuntu/Debian or macOS.",
}
- {
icon: "chart",
title: "Measurably faster, and cooler",
text: "+3.5% hashrate and +7.6% efficiency on a Ryzen 7800X3D, measured live against stock XMRig — and +6.6% on a 48-core EPYC.",
}
- {
icon: "cpu",
title: "Hardware-aware tuning",
text: "Detects your CPU (EPYC, Ryzen X3D, …), applies a matching profile, then live-A/Bs the hardware prefetcher to keep the fastest.",
}
- {
icon: "gear",
title: "Kernel-tuned (Linux)",
text: "HugePages (1 GB / 2 MB), MSR access, NUMA binding, and a performance governor — configured for you.",
}
- {
icon: "plug",
title: "Plug-and-play",
text: "Points at Pithead, or any RandomX Stratum pool. No wallet in the miner; workers don't need Tor.",
}
- {
icon: "shield",
title: "Stock XMRig, verified",
text: "Compiles upstream XMRig pinned to a verified commit — no custom binary, no curl | bash. Keeps XMRig's standard 1% dev fee (it funds the upstream XMRig project, not us); one line turns it off. Idempotent re-runs.",
}
links:
- {
label: "GitHub",
href: "https://github.com/p2pool-starter-stack/rigforge",
primary: true,
}
- {
label: "Benchmarks",
href: "https://github.com/p2pool-starter-stack/rigforge/blob/main/docs/benchmarks.md",
}
# High-level roadmap. The waves group pithead's twenty post-1.0 releases into the themes the
# original roadmap promised (all shipped); the road ahead is the v2 appliance work in review on
# the develop branch. No dates; versions only.
roadmap:
eyebrow: "// the roadmap"
title: "Twenty releases later: the road to the appliance era."
sub: >-
Built in the open, issue by issue — no vaporware, no roadmap-for-sale. Everything the v1 roadmap
promised has shipped, release by release, on real hardware. And what's next is already written:
Pithead OS, a flashable appliance, in review on the develop branch right now.
waves_label: "shipped · v1.0 → v1.20, theme by theme"
waves:
- {
n: "1.1",
name: "Privacy, by default",
status: "Shipped",
text: "All runtime egress moved behind Tor with a fail-closed host firewall, every container dropped to non-root, and a Stack Topology panel maps every hop — Tor or clearnet — at a glance.",
}
- {
n: "1.2",
name: "Operator alerts",
status: "Shipped",
text: "A Telegram bot pings the moment a node or worker drops — and when it recovers — plus a Healthchecks dead-man's switch for the one failure a monitor on the box can never report: the box itself going dark.",
}
- {
n: "1.3+",
name: "Trends & insight",
status: "Shipped",
text: "Persistent time-series telemetry, a pool cadence & luck panel, and earnings calculators — later grown into cards that check every estimate against what the view-only wallets actually confirmed, after power costs.",
}
- {
n: "1.4+",
name: "Control & fleet",
status: "Shipped",
text: "Config editing and one-click signed upgrades from the dashboard, per-rig inspect and retune with versioned history, stratum TLS with per-rig pinning, and warm failover to a backup stack.",
}
- {
n: "1.12+",
name: "Deploy anywhere",
status: "Shipped",
text: "Co-host behind an existing reverse proxy, let one stack's synced nodes serve others, and point the stack at a remote Monero or Tari node instead of running your own.",
}
ship:
title: "v1.20 — the whole operation, signed and live."
text: "Twenty releases cut in the open — including two withdrawn and re-cut with the root cause documented in the changelog. Every bundle is now cosign-signed end to end, and the release pipeline refuses to cut an unsigned build."
beyond_label: "the road ahead · Pithead OS, in review on develop"
releases:
- {
n: "01",
status: "In review",
name: "Flash a drive, boot a mine",
text: "Pithead OS: a bootable appliance image with a read-only root, A/B system partitions, and an immutable Podman/Quadlet runtime — and everything that matters on one persistent data partition.",
}
- {
n: "02",
status: "In review",
name: "Updates that can't brick the box",
text: "Signed A/B updates: a new image lands on the spare slot, boots once, and commits only after the stack passes a health check. A slot that won't boot reverts on its own at the next power cycle.",
}
- {
n: "03",
status: "In review",
name: "First boot without a manual",
text: "A brand-new box serves a first-boot wizard, the installer moves the running image onto an internal disk — keep or wipe your data — and a factory reset returns it to day one.",
}
- {
n: "04",
status: "In review",
name: "Headless, to the last resort",
text: "Drop a config file on a USB stick and a headless box configures itself — no keyboard, no network step. The same channel doubles as the recovery path of last resort.",
}
ship_beyond:
tag: "v2"
name: "The appliance era"
text: "All of it is real code today — hundreds of commits on develop carrying the image, updater, installer, wizard, and factory reset — under adversarial review and a hardware test battery before the first image is cut. Watch it land in the open."
donate:
eyebrow: "// fuel the roadmap"
title: "Built in the open. Funded by the people who run it."
text: "Every wave above shipped by hand, issue by issue, out in the open. If this stack saved you time, fuel the next wave."
note: "Monero, naturally — straight to the people who build it."
# "How we build" — the ethos.
ethos:
eyebrow: "// how we build"
title: "The XMR ethos, in the architecture."
items:
- {
title: "Privacy is the default, not a setting",
text: "Inbound rides Tor hidden services — no port forwarding, your home IP never shown to a peer — RPC stays localhost-bound, and all runtime egress routes over Tor by default. The opt-in clearnet exceptions are documented in the privacy guide.",
}
- {
title: "Least privilege, everywhere",
text: "Capability-scoped containers, a read-only Docker-socket proxy kept separate from a start/stop-only one, owner-only secrets.",
}
- {
title: "Verifiable and pinned",
text: "Third-party binaries are SHA256-checked and version-pinned. No curl | bash trust.",
}
- {
title: "The why lives in the code",
text: "Non-obvious decisions are documented inline with their reasoning and the issue that drove them.",
}
- {
title: "Small, reversible, issue-driven",
text: "Config changes are previewed and warn before anything disruptive; failures degrade gracefully.",
}
- {
title: "Respect the operator's time",
text: "Sensible auto-tuning, one-command setup, and docs treated as a first-class deliverable.",
}
# FAQ — answers the real questions people (and AI assistants) ask about mining
# Monero at home. Plain-text answers (no HTML) so they feed the FAQPage JSON-LD
# verbatim; an optional link/link_label adds a CTA to the visible card only.
faq:
eyebrow: "// questions, answered"
title: "How to mine Monero privately, answered."
sub: >-
Everything people ask before they start — and what to tell anyone who asks you.
items:
- q: "How do I mine Monero privately at home?"
a: >-
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.
link: "https://github.com/p2pool-starter-stack/pithead"
link_label: "Start with Pithead"
- q: "Do I have to forward ports or expose my home IP to mine Monero?"
a: >-
No. 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, and all runtime egress
routes over Tor by default behind a fail-closed firewall — the few opt-in exceptions, like a
faster clearnet initial sync, are mapped in the privacy guide.
- q: "What is P2Pool, and why mine to it instead of a centralized pool?"
a: >-
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.
- q: "Is solo Monero mining worth it, or should I use a pool?"
a: >-
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.
- q: "What hardware do I need to mine Monero?"
a: >-
For the stack host: Ubuntu Server 24.04, 16 GB+ RAM, and an SSD (~330 GB pruned / ~530 GB full
to start — the chains grow, so 2–4 TB is 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.
- q: "What is Monero + Tari merge mining?"
a: >-
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.
- q: "Is it free? Are there any pool fees or a dev fee?"
a: >-
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.
- q: "Can I point my existing XMRig miners at it?"
a: >-
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.
link: "https://github.com/p2pool-starter-stack/rigforge"
link_label: "Provision with RigForge"
- q: "What is XMRvsBeast (XvB), and how does the optimizer use it?"
a: >-
XMRvsBeast 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.
cta:
eyebrow: "// start here"
title: "Stand up the whole operation."
sub: "A private, multi-rig, merge-mining stack — running before your coffee gets cold."
primary: { label: "Start with Pithead", href: "https://github.com/p2pool-starter-stack/pithead" }
secondary:
{
label: "Provision miners with RigForge",
href: "https://github.com/p2pool-starter-stack/rigforge",
}