- SanDisk Extreme 32 GB Micro SD Card ~ $11.32
- Raspberry Pi 4B w/4GB Ram ~ $69.95
- Geekworm Pi Armor Case ~ $13.99
- WD Green 1 TB SATA SSD (Use smaller SSD for pruned node) ~ $74.99
- UGreen SATA to USB 3.0 SSD Enclosure ~ $16.99
- Total Cost ~ $187.24
Warning! Your external SSD will be reformatted, make sure your drive does not contain anything you plan to keep.
- Download compressed image btcpi-clightning.zip.
- Unzip image.
- Flash image to SD card using Belena Etcher or Rufus.
- Expert tip - Skip the SD card and flash the image directly to your USB 3.0 SSD if your RPi4 can boot from USB.
- Connect External USB SSD to Raspberry Pi (make sure you use one of the blue USB 3.0 ports).
- Power on Raspberry Pi.
Wait 10 minutes, open browser and go to btcpay.local
- The BTCPi image installs a minimal BTCPayServer
- Bitcoin Core (full node)
- Lightning (C-Lightning)
- Ride the Lightning
- Hostname - btcpay
- SSH Enabled
- Username - pi
- Password - raspberry
- Firewall configured to allow ports 22 (internal networks only), 80, 443, 8333, 9735
- Obtain the internal IP address of your BTCPayServer by logging into your router and looking for 'btcpay' under attached devices. If you don't have access to your router try Angry IP Scanner.
- SSH into your BTCPi using it's IP address with Putty.
- Username = pi
- Password = raspberry
- type 'passwd' and follow the prompts to change your password.
Access BTCPayServer using the Tor Browser
- SSH back into your BTCPi
- Type or paste the following command
- Copy and paste the .onion address into the Tor Browser.
sudo tail /var/lib/docker/volumes/generated_tor_servicesdir/_data/BTCPayServer/hostname
You must have an existing domain name and ideally a static IP address.
- Forward ports 80, 443 and 9735 to the internal IP address of your BTCPi.
- Create an 'A' record at your domain registrar that points to your external IP address.
- Log into your BTCPayServer and change the domain under Server Settings -> Maintenance
For more information visit BTCPayServer.org
A repository that shows how to use Pimod and Github Actions to create a ready-to-use Raspberry Pi image that includes connectivity to your home Wi-Fi, custom packages and build steps without opening a terminal or any manual setup. You can do all of this directly within the Github UI, which significantly lowers the barrier of entry for novice users, who don't need to understand a lot of the technical details.
Youtube video explaining the what, why and how.
⚙️ This repository is intended as a basic template for developers who wish to create ready-to-use bootstrap repositories meant for novice users. See aniongithub/rhasspy-appliance for an example of a repository meant for novice end-users to use directly
The table below lists variables for each module in pi-bootstrap, confidential variables are marked by 🔑 and should be set in Github repository secret SECRET_ENV
(or secrets.env
if developing locally) while others can be committed to git in .env
Module | Variable | Description | Default |
---|---|---|---|
core |
Sets up core functions, software, environment, etc. Required to use pi-bootstrap modules | ||
hostname |
Changes the hostname of your Raspberry Pi | ||
BOOTSTRAP_HOSTNAME | The name with which your Pi will identify itself to any networks | btcpay | |
ssh |
Enables SSH access | ||
password |
Changes the password for a specified user for more security | ||
BOOTSTRAP_USER 🔑 | Name of the user to change the password for | pi | |
BOOTSTRAP_PASSWORD 🔑 | The password for**${BOOTSTRAP_USER}** on the generated image | raspberry | |
timezone |
Sets the timezone of your Raspberry Pi | ||
BOOTSTRAP_TIMEZONE | TheTZ database name (timezone) where your Raspberry Pi will run | America/Los_Angeles | |
camera |
Enables the Raspberry Pi camera module | ||
BOOTSTRAP_GPU_MEM | Amount of GPU memory (MB) to reserve for camera operation | 128 | |
wifi |
|||
BOOTSTRAP_WPA_SSID 🔑 | SSID of your Wi-Fi network | None | |
BOOTSTRAP_WPA_PASSPHRASE 🔑 | Passphrase of your Wi-Fi network | None | |
BOOTSTRAP_WPA_COUNTRY | Two-character ISO-3166-1 alpha-2 country code](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) for your country. | None | |
docker |
Sets up docker and docker-compose |
The flowchart below shows simple usage of pi-bootstrap.