Overview
I’m currently running a Docker-based homelab with over 15+ self-hosted services - Plex, Arr Stack, Tailscale, MySpeedTest, PiHole, GetHomepage, Cloudflare Tunnels, Glances and more. My homelab is a personal playground for experimenting with various technologies, tools and services. I use it to learn new skills, test out new software, and host my own applications and services. It’s a great way for me to stay up-to-date with the latest trends in technology and to have fun while doing it.
Why I Started This Homelab Journey?
I had a Mini PC that I was using to host my Plex server, but I wanted to expand my setup and experiment with more technologies. I also wanted to have a dedicated environment for testing and learning new tools without affecting my main devices. A close friend of mine inspired me to expand my current setup and turn it into a homelab, and I’ve been enjoying the process of setting up and maintaining it ever since.
What’s Is My Current Setup?
My homelab is running on an Ubuntu server with Docker as the containerization platform. I have a variety of services running, including:
- Plex: A media server for streaming my media collection.
- Tautulli: A monitoring and analytics tool for Plex.
- Arr Stack: A collection of tools for managing and organising my media library.
- Tailscale: A VPN service for secure remote access to my homelab.
- MySpeedTest: A tool for testing my internet speed.
- PiHole: A network-wide ad blocker.
- GetHomepage: A tool for managing my home page and bookmarks.
- Cloudflare Tunnels: A service for securely exposing my homelab to the internet.
- Glances: A system monitoring tool for keeping an eye on my server’s performance.
- Uptime Kuma: A monitoring tool for keeping track of the uptime and performance of my services.
- IT Tools: A collection of tools for managing and maintaining my homelab, including Portainer for managing Docker containers and Watchtower for automatic updates.
What Am I Covering In This Project?
In this project, I will be sharing my homelab setup, particularly the backup process I’ve taken to ensure the safety of my data and configurations:
- Backup and Restore Process for Disaster Recovery - My backup strategy for both local and cloud storage, including encryption, scheduling and recovering from data loss or failures.
- Docker Compose Best Practices - How I structure my Docker Compose files for maintainability and scalability
- Automated Config Backup with Secret Redaction - The daily/weekly backup pipeline that keeps my configs safe and secrets out of Git
I will also be sharing some of the challenges I’ve faced and how I’ve overcome them, as well as any tips and tricks I’ve learned along the way.
More on this project will be coming soon, so stay tuned for updates!
