Selfhosting is Addicting
I initially bought a Raspberry Pi 4 with 4GB of memory to explore IoT programming. I was excited to dive into projects that would connect the physical and digital worlds. However, life had other plans, and my IoT projects didn’t quite take off as I hoped. But little did I know, this was just the start of something even more exciting.
While exploring the capabilities of my Raspberry Pi, I stumbled upon Umbrel—a user-friendly way to run a Bitcoin and Lightning Network server. Intrigued, I decided to give it a try. Setting up Umbrel was straightforward, and soon my Pi became a Bitcoin/Lightning server.
Umbrel introduced me to the concept of self-hosting. Beyond Bitcoin and Lightning, I discovered that I could add other services and applications to my server. This was eye-opening! But as I started adding more services, I noticed that the 4GB of memory wasn’t quite enough, and my server would occasionally crash. It was clear that I needed a different approach.
After my experience with Umbrel, I decided to try something new, something simple. I came across Pi-hole, an ad-blocking solution that could run on my Raspberry Pi. Setting up Pi-hole was a breeze, and soon my home network was free from annoying ads. But more importantly, this setup introduced me to the broader world of self-hosting. I also learned the basics of containerization through Docker. I realized that my Raspberry Pi could do so much more than just block ads. It could host various services, manage my files, and even help with photo organization. This was just the beginning of my self-hosting journey.
The repository of my current setup can be found in this Github repo.
Key Features of My Setup
- Caddy: Acts as my web server, handling HTTP and HTTPS traffic with automatic SSL certification.
- Pi-hole: Blocks ads across my network and enhances DNS privacy.
- Syncthing: Syncs files across my devices, ensuring I have access to my data wherever I go.
- PhotoPrism: Organizes and manages my photo library with AI-powered features.
- Vaultwarden: Securely manages my passwords and credentials.
- Uptime-Kuma: Set up monitoring for your services and configure notifications.
I’d love to hear your thoughts on my setup or any suggestions you might have. If you’re curious about self-hosting and haven’t taken the plunge yet, I encourage you to give it a try. It’s a rewarding experience that offers both learning opportunities and practical benefits. Happy tinkering!