Introduction:
Setting up a home lab has grown in popularity among tech lovers in this age of technology since it enables them to experiment, learn, and harness the power of numerous cutting-edge technologies. In order to create the best possible home lab environment, I deliberately combined CasaOS over Ubuntu, Cloudflare Zero Trust, Automated Workflows, and many other services.
CasaOS: The Foundation of My Homelab
I chose CasaOS as the main front-end to control my Docker containers as the foundation of my home lab. The user-friendly interface offered by CasaOS makes it simple to deploy and administer different apps in isolated containers. Utilizing Ubuntu's strength as a foundation, CasaOS gains from its reliability and performance while providing a simpler method for handling the intricate world of containers. It can be installed over many different linux distributions as the base operating system behind CasaOS front-end.
Resources:
- CasaOS - Main website for CasaOS
- GitHub - Repository hosted on Github where contributions and updates happen
- Demo - Try CasaOS (username and password is
casaos
)
Cloudflare Zero-Trust: Securely expose ports to the world
When connecting your home lab to the internet, security is crucial. I chose Cloudflare Zero Trust to safely expose my web server ports to the outside world for this reason. Cloudflare makes sure that only authenticated and authorized users can access my homelab services by employing a zero-trust security paradigm. This safeguards my data and guards against any risks that might come from the huge internet.
Resources:
- Cloudflare Docs - Main guide on how how to setup inside a network
- docker-compose - Custom App installation for CasaOS
Serving Media to friends & family:
I can easily organize, stream, and share my media library thanks to Jellyfin. I can access my favorite content whenever I want, wherever I am, and within the comfort of my home network.
- Libraries are easy to access on homescreen
- It serves different formats of Audio including FLAC
- Movie/Shows page for a media show every details for the media it fetches from IMDB
- Yes, it supports books
Resources:
- Website - Main website of Jellyfin
- Source Code - Available on GitHub
- docker-compose - Custom App installation for CasaOS
- Demo - Try Jellyfin
N8N: Automated Workflow for different Tasks
In my ideal homelab setup, N8N has changed the game by providing a centralized and automated method of managing multiple duties. I've unlocked a new level of comfort and effectiveness in my daily operations by effortlessly combining N8N with mostly every tasks.
A famous game I play gets dailies automated on n8n
Resources:
- n8n - Main website
- Source Code - Available on GitHub
- docker-compose - Custom App installation for CasaOS
System Backups: a solution for clumsy actions
There has been times where I would do something quite stupid and break the whole system by a single command. and there has been times where a system update could've broken multiple functions of my HomeLab without a notice.
For a permanent solution I chose TimeShift and it takes automatic snapshots of the system daily (for a month) and hourly (24 hours) to an external disk.
Resources:
- Source Code - Easy to Install Guide with Source Code available on GitHub
Conclusion
It’s been a long time since I’ve had a good time designing and building a HomeLab, and I can’t wait to share with you all what I’ve learned along the way.
This costed me 0$ so if anyone would want to have a self-hosted HomeLab I really do hope this blog helps.