RaspiBlitz Documentation
repository·dev·Indexed 25 days ago
https://github.com/raspiblitz/raspiblitzA DIY Bitcoin and Lightning Fullnode solution designed for Raspberry Pi 4 or 5, with support for alternative platforms including amd64, Proxmox, Armbian, Ubuntu, and various virtual machine environments. Includes guides for hardware requirements, build script configuration, and data drive management for blockchain storage.
What's inside RaspiBlitz
- RaspiBlitz is a DIY Bitcoin and Lightning Fullnode solution designed to run on a Raspberry Pi 4 or 5. It features an optional display for easy setup and monitoring. The project is primarily intended for users who want to learn how to run decentralized nodes from home and participate in the open-source Bitcoin ecosystem. The core repository contains the bash and python scripts used to build the RaspiBlitz software.
Minimum and recommended hardware requirements
devTo run RaspiBlitz on alternative platforms, ensure your hardware meets these specifications:
Minimum Requirements:
- ARMv8 or x86 processor (64 bit)
- 1 GB RAM
- 500 GB HDD
- Python >= 3.9
Recommended Specs:
2GB DDR3 ECC RAM (8GB+ if using ZFS)
- USB 3.0 / SATA / PCIE / NVME connectors
- SSD - multiple disks for redundancy
RaspiBlitz Ecosystem Components
devRaspiBlitz is composed of several distinct repositories that handle different aspects of the node experience:
- Core (this repo): Contains the bash and python scripts for building the software.
- WebUI: A React and Tailwind-based web interface (github.com/raspiblitz/raspiblitz-web).
- API: A Python FastAPI-based interface (github.com/fusion44/blitz_api).
- Documentation: Docusaurus-based documentation (github.com/raspiblitz/raspiblitz-docs).
Manage files in the development environment
devThe development environment uses specific linking behaviors for the
home.admindirectory:- Automatic Linking: Files in
home.adminon your host are linked to/home/admininside the VM. These are linked automatically every time the VM boots. - Adding New Files: If you add a new file to
home.admin, you must runvagrant provisionto ensure it is linked inside the VM. - Assets Folder: The
/home/admin/assetsfolder is currently NOT kept in sync. To access your development assets inside the VM, use the path/vagrant/home.admin/assets/.
- Automatic Linking: Files in
Quickstart RaspiBlitz Setup
devTo begin building and setting up your own RaspiBlitz, use the following resources:
- Project Homepage: raspiblitz.org
- Setup Guide & Documentation: How to build & setup your own RaspiBlitz
- Software Downloads: Download latest SD Card images
- Support: How to get Support
Configure Grafana InfluxDB Datasource
devTo visualize RaspiBlitz metrics, add InfluxDB as a data source in Grafana:
- Go to Configuration (gear icon) > Data Sources > Add data source and select InfluxDB.
- Use the following settings:
- HTTP URL:
http://localhost:8086(or your InfluxDB server IP) - Auth: Default settings
- Database:
raspiblitz - User:
grafana - Password:
[GRAFANA-PASSWORD] - HTTP Method:
POST(recommended)
- HTTP URL:
- Click Save & Test.
Important: After saving, note the UID of the data source. You can find it in the browser URL when editing the data source (e.g.,
.../datasources/edit/<data_source_uid>). You will need this UID to import the RaspiBlitz dashboard.Verify a Debian base image using GPG and SHA512
devWhen manually preparing an amd64 image, you must verify the integrity and authenticity of the Debian base image using the provided SHA512SUMS and GPG signature.
Verification Workflow:
- Download the
.iso,SHA512SUMS, andSHA512SUMS.signfiles. - Import the Debian CD signing key via a keyserver.
- Verify the signature of the
SHA512SUMSfile usinggpg. - Use
sha512sumto check the image file against the verified sums.
# Download the base image: wget https://cdimage.debian.org/debian-cd/current/amd64/iso-cd/debian-11.3.0-amd64-netinst.iso # Download the SHA512SUMS: wget https://cdimage.debian.org/debian-cd/current/amd64/iso-cd/SHA512SUMS # Download the Signature: wget https://cdimage.debian.org/debian-cd/current/amd64/iso-cd/SHA512SUMS.sign # Verify: # download the signing pubkey: gpg --keyserver keyring.debian.org --receive-key DF9B9C49EAA9298432589D76DA87E80D6294BE9B # Verify the signature of the SHA512SUMS file gpg --verify SHA512SUMS.sign # Compare the hash to the hash of the image file: sha512sum -c SHA512SUMS --ignore-missing- Download the
Run RaspiBlitz in a Virtual Machine
devYou can run RaspiBlitz as a VM on a Linux host (tested with Debian/Ubuntu in VirtualBox, virt-manager, or cockpit-machines, and TrueNAS/bhyve).
1. Create the base image
Download and install a base OS on at least a 32GB drive. Debian is the most tested and closest to RaspberryOS. Ubuntu is also supported but less tested. For experimentation, you can use pre-made images from osboxes.org (password:
osboxes.org).2. Building the Raspiblitz scripts
Run the build script in the terminal of the base OS with
sudoaccess:# download the build script wget https://raw.githubusercontent.com/rootzoll/raspiblitz/dev/build_sdcard.sh # run sudo bash build_sdcard.sh -f false -b dev -d headless -t false -w offBuild Script Options:
-EXPORT: Just print build parameters & exit-h, --help: Show help info-i, --interaction [0|1]: Interaction before proceeding (default: 1)-f, --fatpack [0|1]: Fatpack mode (default: 1)-u, --github-user [raspiblitz|other]: GitHub user to check (default:raspiblitz)-b, --branch [v1.7|v1.8]: Branch to build (default:v1.10)-d, --display [lcd|hdmi|headless]: Display class (default:lcd)-t, --tweak-boot-drive [0|1]: Tweak boot drives (default: 1)-w, --wifi-region [off|US|GB|other]: WiFi ISO code (default:US) oroff
3. Data Drive Configuration
Attach a second virtual disk to serve as the BLOCKCHAIN drive. This keeps data portable and independent from the OS.
- Tip: Create a raw image of 500+ GB for best compatibility. If you encounter permission issues, try symlinking the disk image to
/var/lib/libvirt/images.
Set up RaspiBlitz on an amd64 machine
devFor amd64 Laptops, Desktops, or Servers, you can use an amd64 image.
Requirements:
- Connection to the internet via a LAN cable.
- OS disk: Minimum 32GB SSD recommended. You can use an Endurance type SD card if the computer supports booting from SD, or a USB SSD (e.g., Sandisk Extreme Pro USB 128 GB). An Optical Drive Bay Caddy can be used to add a second SSD in laptops with optical drives.
- Data disk: A new, minimum 1TB SSD is recommended to store data independently from the OS.
To find download links or build locally, refer to the CI documentation in
/ci/README.md.Manual amd64 image release process
devThis guide outlines the manual process for creating a signed amd64 image release for RaspiBlitz. This is intended for maintainers or advanced users building custom images.
High-Level Workflow:
- Base Setup: Boot Ubuntu Live and install a clean Debian base on an OS disk.
- Script Installation: Install RaspiBlitz scripts on the Debian system.
- Build: Run the build scripts to configure the environment.
- Image Creation: Use
ddto clone the OS disk, compress it withgzip, and generate asha256hash. - Signing: Use GPG to create a detached signature (
--detach-sign --armor) of the hash file. - Distribution: Upload the
.img.gz,.sha256, and.ascfiles to a server.
Configure a virtual data drive for RaspiBlitzVM
devTo run the full setup process, you must attach a large virtual data drive (VDI) to the RaspiBlitzVM via the VirtualBox Manager GUI.
- Stop the VM: Use the
offcommand inside the VM or runvagrant haltfrom your host. - Open VirtualBox GUI: Select the
RaspiBlitzVMand clickchange. - Add Storage: In the
mass storagesection, add a second disc asprimary slaveto the existing controller. - Select VDI: Use a torrent-downloaded VDI or create a new dynamic VDI of approximately 900GB. If local space is limited, store the VDI on an external drive.
- Restart: Run
vagrant upandvagrant sshto begin the setup process.
- Stop the VM: Use the
Deploy generated LND RPC libraries to Raspiblitz
devAfter generating the RPC libraries on the Raspberry Pi, transfer them to your local machine via SFTP/SCP, then move them to the
/home/admin/config.scripts/lndlibsdirectory on the Raspiblitz instance.scp -r admin@192.168.X.X:/home/admin/protobuffs ./protobuffs