From 6b29a8f0031fb12ce6c2dab13edc030ea4846c41 Mon Sep 17 00:00:00 2001 From: giing <33764485+0xf0xx0@users.noreply.github.com> Date: Wed, 10 Sep 2025 11:53:25 -0400 Subject: [PATCH 1/5] scaffolding --- astro.config.mjs | 4 +++ src/content/docs/public-pool/about.md | 2 +- src/content/docs/public-pool/selfhost.md | 42 ++++++++++++++++++++++++ 3 files changed, 47 insertions(+), 1 deletion(-) create mode 100644 src/content/docs/public-pool/selfhost.md diff --git a/astro.config.mjs b/astro.config.mjs index aadb051..ebcb8a2 100644 --- a/astro.config.mjs +++ b/astro.config.mjs @@ -110,6 +110,10 @@ export default defineConfig({ label: "Overview", link: "/public-pool/about", }, + { + label: "Self-Hosting", + link: "/public-pool/selfhost", + }, ], }, { diff --git a/src/content/docs/public-pool/about.md b/src/content/docs/public-pool/about.md index 24dcf21..10cd1b5 100644 --- a/src/content/docs/public-pool/about.md +++ b/src/content/docs/public-pool/about.md @@ -3,7 +3,7 @@ title: About Public Pool discordChannel: https://discord.com/channels/1091348375301013615/1120846282672590918 githubRepo: https://github.com/benjamin-wilson/public-pool --- -Public Pool is fully open source, solo Bitcoin mining pool. There is an official instance of the pool available at [web.public-pool.io](https://web.public-pool.io), where you can point your miners, but you also have the option to host it yourself. +Public Pool is fully open source, solo Bitcoin mining pool. There is an official instance of the pool available at [web.public-pool.io](https://web.public-pool.io), where you can point your miners, but you also have the option to [host it yourself](./selfhost.md). The official instance is managed by [Ben](https://github.com/benjamin-wilson). The backend runs on hardware under his physical control, and only the GUI relies on cloud infrastructure. Public Pool was developed from scratch with the goal of offering easy installation, a modern interface, maintainability, and low complexity. diff --git a/src/content/docs/public-pool/selfhost.md b/src/content/docs/public-pool/selfhost.md new file mode 100644 index 0000000..4cb544c --- /dev/null +++ b/src/content/docs/public-pool/selfhost.md @@ -0,0 +1,42 @@ +--- +title: Self-Hosting Public Pool +--- + +1. 💻 [Windows](#-windows) - TODO +2. 🍏 [MacOS](#-macos) - TODO +3. 🐧 [Linux](#-linux) + +## 💻 Windows + +## 🍏 MacOS + +## 🐧 Linux + +### Installing Bitcoin Core + +- download latest release from https://bitcoin.org/en/download + TODO: note about knots and btcd being usable as well +- extract everything in `bitcoin-XX.X/bin` to `/usr/local/bin`, and everything in `bitcoin-XX.X/share` to `/usr/local/share` + +### Installing NodeJS + +- ubuntu/debian: select the node.js runtime, your distro, and the latest lts version from https://nodesource.com/products/distributions +- arch: use nvm to install the latest lts + +### Configuring Bitcoin + +#### Bitcoin Core/Knots + +MAYBE: have a community mining config? + +#### btcd + +### Getting and Starting Public-Pool + +- `git clone https://github.com/benjamin-wilson/public-pool.git` +- `cd ./public-pool` +- install dependencies with `npm install` +- copy `.env.example` to `.env` and fill in `BTC_RPC_URL` and `BTC_RPC_COOKIEFILE` +- `npm start` +- point your miners to your _lan_ ip address +- profit (hopefully) From 589691c2cc971a9187c5b43fc007a40dd2596a3c Mon Sep 17 00:00:00 2001 From: giing <33764485+0xf0xx0@users.noreply.github.com> Date: Wed, 10 Sep 2025 12:08:28 -0400 Subject: [PATCH 2/5] fix link to selfhost page --- src/content/docs/public-pool/about.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/content/docs/public-pool/about.md b/src/content/docs/public-pool/about.md index 10cd1b5..3ce5114 100644 --- a/src/content/docs/public-pool/about.md +++ b/src/content/docs/public-pool/about.md @@ -3,7 +3,7 @@ title: About Public Pool discordChannel: https://discord.com/channels/1091348375301013615/1120846282672590918 githubRepo: https://github.com/benjamin-wilson/public-pool --- -Public Pool is fully open source, solo Bitcoin mining pool. There is an official instance of the pool available at [web.public-pool.io](https://web.public-pool.io), where you can point your miners, but you also have the option to [host it yourself](./selfhost.md). +Public Pool is fully open source, solo Bitcoin mining pool. There is an official instance of the pool available at [web.public-pool.io](https://web.public-pool.io), where you can point your miners, but you also have the option to [host it yourself](./selfhost). The official instance is managed by [Ben](https://github.com/benjamin-wilson). The backend runs on hardware under his physical control, and only the GUI relies on cloud infrastructure. Public Pool was developed from scratch with the goal of offering easy installation, a modern interface, maintainability, and low complexity. From 2584cfccdbfbf90278269990a7ca4b7f3699f94f Mon Sep 17 00:00:00 2001 From: giing <33764485+0xf0xx0@users.noreply.github.com> Date: Wed, 10 Sep 2025 12:53:13 -0400 Subject: [PATCH 3/5] better structure? --- src/content/docs/public-pool/selfhost.md | 38 ++++++++++++++---------- 1 file changed, 22 insertions(+), 16 deletions(-) diff --git a/src/content/docs/public-pool/selfhost.md b/src/content/docs/public-pool/selfhost.md index 4cb544c..c5d8e0f 100644 --- a/src/content/docs/public-pool/selfhost.md +++ b/src/content/docs/public-pool/selfhost.md @@ -2,36 +2,42 @@ title: Self-Hosting Public Pool --- -1. 💻 [Windows](#-windows) - TODO -2. 🍏 [MacOS](#-macos) - TODO -3. 🐧 [Linux](#-linux) +## Installing Dependencies -## 💻 Windows +TODO: `git` and `npm` lts -## 🍏 MacOS +### 💻 Windows -## 🐧 Linux +### 🍏 MacOS -### Installing Bitcoin Core +- use homebrew to install the latest node lts + the version needs to be specified + +### 🐧 Linux + +#### Debian, Ubuntu, and Derivatives +- install git with `apt install git` +- select the node.js runtime, your distro, and the latest lts version from https://nodesource.com/products/distributions + +#### Arch and Derivatives +- install git with `pacman -S git` +- use your favorite aur helper to install the latest node lts, or install nvm, then use nvm to install and activate the latest node lts + +## Installing Bitcoin Core - download latest release from https://bitcoin.org/en/download TODO: note about knots and btcd being usable as well - extract everything in `bitcoin-XX.X/bin` to `/usr/local/bin`, and everything in `bitcoin-XX.X/share` to `/usr/local/share` -### Installing NodeJS - -- ubuntu/debian: select the node.js runtime, your distro, and the latest lts version from https://nodesource.com/products/distributions -- arch: use nvm to install the latest lts - -### Configuring Bitcoin +## Configuring Bitcoin -#### Bitcoin Core/Knots +### Bitcoin Core/Knots MAYBE: have a community mining config? -#### btcd +### btcd -### Getting and Starting Public-Pool +## Getting and Starting Public-Pool - `git clone https://github.com/benjamin-wilson/public-pool.git` - `cd ./public-pool` From 3c619c98edc989d7f2cda78ba14cc4e540499c16 Mon Sep 17 00:00:00 2001 From: giing <33764485+0xf0xx0@users.noreply.github.com> Date: Wed, 10 Sep 2025 12:58:12 -0400 Subject: [PATCH 4/5] more scaffolding notes --- src/content/docs/public-pool/selfhost.md | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/content/docs/public-pool/selfhost.md b/src/content/docs/public-pool/selfhost.md index c5d8e0f..1b2d425 100644 --- a/src/content/docs/public-pool/selfhost.md +++ b/src/content/docs/public-pool/selfhost.md @@ -2,6 +2,8 @@ title: Self-Hosting Public Pool --- +bla bla overview here, something about being able to do this on your home pc but dedicated hardware is nice too (and especially note old pcs are perfectly fine) + ## Installing Dependencies TODO: `git` and `npm` lts @@ -29,7 +31,7 @@ TODO: `git` and `npm` lts TODO: note about knots and btcd being usable as well - extract everything in `bitcoin-XX.X/bin` to `/usr/local/bin`, and everything in `bitcoin-XX.X/share` to `/usr/local/share` -## Configuring Bitcoin +## Setting up your Bitcoin node ### Bitcoin Core/Knots @@ -37,7 +39,8 @@ MAYBE: have a community mining config? ### btcd -## Getting and Starting Public-Pool + +## Setting up your private Public-Pool - `git clone https://github.com/benjamin-wilson/public-pool.git` - `cd ./public-pool` From 5ac1ac0e47b6380ebcd9ec63a75570de5a974aac Mon Sep 17 00:00:00 2001 From: giing <33764485+0xf0xx0@users.noreply.github.com> Date: Wed, 10 Sep 2025 17:32:10 -0400 Subject: [PATCH 5/5] note about pruning --- src/content/docs/public-pool/selfhost.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/content/docs/public-pool/selfhost.md b/src/content/docs/public-pool/selfhost.md index 1b2d425..5c8a657 100644 --- a/src/content/docs/public-pool/selfhost.md +++ b/src/content/docs/public-pool/selfhost.md @@ -35,8 +35,9 @@ TODO: `git` and `npm` lts ### Bitcoin Core/Knots -MAYBE: have a community mining config? - +MAYBE: have a community mining config? +TODO: note about pruning, prefer 10-30gib of space for the chain + not everyone casually has 1 tib of free space ### btcd