A self-hosted homelab built on Ubuntu Server, focused on Dockerized services, DNS, and home infrastructure management.
- Ubuntu Server based homelab
- Docker and docker-compose for service orchestration
- Local DNS and internal domain management
- Home network and service exposure management
- Reverse proxy, TLS, and routing
- Monitoring, backups, and persistence
- Linux administration and troubleshooting
Welcome to my homelab. 🎉
This repo exists because I had a spare computer, too much curiosity, and just enough free time to turn it into a server. 😎
For a detailed guide on installation, setup, and power/network management, check out Homelab Installation & Setup Guide.
Yes, you can clone this repository. No, you probably should not use it as a plug-and-play solution. ❌
This is not a polished product. It is a guide, reference, and idea dump. Copy files manually, adapt them, break them, fix them, and learn from them. 💡
Think of this repo as "steal the idea, not the exact setup". 🏴☠️
- To document what I built in my free time 📝
- To keep notes so I do not forget what I did 2 months later 🕒
- To show my interest in Linux, servers, networking, and containers 🐳
- To subtly tell recruiters that yes, I am a nerd and I enjoy this stuff 🤓
I had a spare computer. I installed Ubuntu Server on it. 🐧 Then I installed a lot of things. 🔧
Most services run in Docker containers because:
- It is easier to manage ✅
- It is harder to completely break (usually)
⚠️ - I can experiment without fear 🚀
Over time this turned into a proper homelab with experiments, mistakes, rewrites, and fixes. 🧪
- Docker and docker-compose files 🐳
- Service configurations ⚙️
- Notes about things that went wrong (and how I fixed them) 🛠️
- Small scripts and random tweaks ✨
- Read things 📖
- Copy things 📋
- Modify things 🖊️
- Learn things 🎓
Do not blindly deploy things. ❌
Some setups are clean. Some are messy. Some exist only because I wanted to see if they would work. 🤷
That is the point. 😏
Enjoy, and may your servers stay online! 🌐
Many Docker services in this homelab are based on images from LinuxServer.io.
LinuxServer.io is a community that maintains well-documented, regularly updated Docker images for self-hosted services like Plex, Nextcloud, WireGuard, and more. If you see image names starting with lscr.io/linuxserver/..., that is where they come from.
Their documentation is usually the first place to look if you want to understand environment variables, volumes, or permissions used in this repo.
Opinion: LinuxServer.io images are reliable and beginner-friendly, and they remove a lot of setup friction, which makes them perfect for homelabs.