Raspberry Pi projects I am using for my own homelab.
- Raspberry Pi Setup
- Networking
- Hardware Support
- Virtualization
- Container Services
- Kubernetes
- Certificate Authority
- Web Applications
- Windows Integration
- Arduino
- Linux Administration
- Tools
Basic setup and configuration for Raspberry Pi devices.
- Preconfigure WLAN client on Raspberry Pi SD card - Headless setup without monitor
- Create Bluetooth serial console - Connect via Bluetooth from your phone
- Switch to XFCE4 desktop - Lightweight desktop environment
- Compile VICE C64 Emulator - Commodore 64 emulation
Network configuration, access points, and routing.
- WLAN Access Point with ad-filter - Turn your Pi into a WiFi hotspot with Pi-hole
- TP-Link TL-WN725N driver setup - USB WiFi adapter support
- TP-Link TL-WN823N driver setup - USB WiFi adapter support
- USB LAN Adapter in libvirt VM - USB passthrough for VMs
- Network Bridge for second LAN port - Create a dedicated bridge for VMs
- Create Tor hidden service - Host a .onion service
- Flash OpenWRT to Raspberry Pi - Turn your Pi into a router
Hardware-specific configurations and drivers.
- Enable TRIM support for USB SATA Bridge - SSD optimization
- Create NTP server with USB GPS source - Stratum 1 time server
- Create RAID 1 with two USB hard disks - Software RAID mirror
- Create floppy disk image - Legacy media support
Virtual machines and hypervisor configuration.
- USB LAN Adapter passthrough for libvirt - Direct hardware access in VMs
- Network Bridge configuration - Bridged networking for VMs
Docker installation and containerized applications.
- Install Docker on armhf or arm64 - Docker installation guide
- Run Portainer with Docker - Web-based Docker management
- Run Pi-hole with Docker - DNS-based ad blocking
- Run MinIO with Docker - S3-compatible object storage
- Run MariaDB with Docker - MySQL-compatible database
- Git server with Gitea - Self-hosted Git service
K3s cluster setup and cloud-native tooling.
- Create ARM64 based k3s Kubernetes cluster - Lightweight Kubernetes
- Install Argo CD on k3s - GitOps continuous deployment
- Install Tekton Pipelines on k3s - Cloud-native CI/CD
- Local Ceph installation - Distributed storage with loopback devices
Manage SSL/TLS certificates for your homelab.
- Create your own offline CA - Self-signed root certificate authority
- Create local CA web interface - Web UI for certificate management
- Install cert-manager with local CA - Automated certificate provisioning
- Use cert-manager with Istio Ingress Gateway - TLS for service mesh
- Inject external CA to Istio sidecars - Trust external certificates
- Configure local DNS in k3s - Pi-hole DNS integration
Python-based web applications included in this repository.
- MinIO Web Manager - Web UI for MinIO user and bucket management
- Simple WebSocket Chat - Flask-based real-time chat application
Services for Windows client support.
- Create Windows share for RAID volume - Samba file sharing
- Create virtual PDF printer for Windows - Network PDF printing
Arduino development resources.
- Additional Boards Manager URLs - Sparkfun, Adafruit, Seeed Studio
- Useful Arduino libraries - Tested and working libraries
System administration and monitoring tools.
- Java process monitoring - Monitor JVM heap, CPU, RAM, threads, and OOM scores
- tmux cheat sheet - Terminal multiplexer usage
Utility scripts for repository and Git management.
- git_pull_all.py - Run git pull on all subdirectories
- scan_git_repos.py - Scan directory for Git repositories
- mirror_git_repos.py - Mirror Git repositories
- find_big_files_in_git_history.sh - Find large files in Git history
- tools.sh - General shell utilities
raspberrypi/
├── arduino/ # Arduino board manager URLs and libraries
├── ca/ # Certificate Authority setup
│ ├── cert-manager/ # Kubernetes cert-manager configuration
│ ├── external-ca/ # External CA injection for Istio
│ ├── istio/ # Istio ingress with TLS
│ └── local-dns/ # Local DNS configuration
├── chat/ # Python WebSocket chat application
├── chrony/ # Chrony time sync scripts
├── gitea/ # Gitea Docker Compose setup
├── minioaccess/ # MinIO web management interface
├── tekton/ # Tekton Pipelines documentation
├── tools/ # Utility scripts
└── *.md # Tutorial documentation files
See LICENSE file for details.