My homelab is a personal server that I built and maintain to learn real-world IT skills. It runs on Unraid OS and hosts services for myself, friends, and family - everything from media streaming and photo backup to game servers and project management tools.
The goal is simple: get hands-on experience with technologies that matter in professional IT environments. I treat this server like a production system, which means focusing on security, reliability, and proper organization. Every service I add teaches me something new about Linux, networking, Docker, or system administration - skills that directly translate to IT jobs.
A repurposed desktop turned server, built from spare parts and a few targeted upgrades to handle everything from media streaming to container orchestration.
| Component | Specification |
|---|---|
| Rosewill 4U Rackmount Server Chassis 7x 3.5" + 2x 5.25" drive bays | |
| ASUS TUF B360M-PLUS GAMING S | |
| Intel Core i5-8400 6-Core @ 2.80GHz | |
| 32GB DDR4-2666MHz | |
| Intel Arc A380 6GB | |
| Netgear GS308EP [8 port, 1000Mbps, PoE+] | |
| ISP-provided gateway | |
| GL.iNet Comet IP KVM | |
| APC BE600M1 UPS & Surge Protector |
All services run in Docker containers, managed through Docker Compose with automated backups via Duplicati.
Take a look at live uptime statistics for each of these services here!
My server uses Unraid's flexible storage system, which combines drives of different sizes into a single protected array.
Provides fault tolerance for the entire array. If any single data drive fails, the parity drive can rebuild it. The parity drive must be equal to or larger than the biggest data drive.
Store all media, backups, and user files. Unlike traditional RAID, each drive contains its own filesystem and can be accessed individually if needed. Total usable storage: ~24TB.
Acts as a high-speed landing zone for new writes. Data gets written here first for speed, then moved to the array overnight. Dramatically improves performance for file transfers and application writes.
Two SSDs in a BTRFS RAID0 pool dedicated to Docker container persistent storage (databases, configurations, app data). The striped configuration maximizes throughput and usable capacity while keeping container I/O fast and separate from the main array.
Unraid runs entirely from RAM but boots from USB. The USB drive stores the OS and configuration.
A straightforward network setup paired with a zero-trust security approach — services are accessed through secure tunnels and VPN rather than traditional port forwarding.
I use a modern approach to security that focuses on secure tunneling and VPN access rather than exposing services directly:
Cloud Tunneling Service
Public-facing services (like Plex, Immich, AFFiNE) are accessible via custom domains that route through Cloudflare's infrastructure. This means no ports are opened on my router, and Cloudflare provides DDoS protection and SSL encryption automatically.
Private VPN
All administrative interfaces and sensitive services are only accessible through Tailscale's mesh VPN. This includes server management panels, databases, and configuration tools. Even when I'm remote, I connect through Tailscale before accessing anything sensitive.
Access Control Strategy
Public services get Cloudflare domains for convenience. Private/admin services stay VPN-only. This keeps management interfaces completely isolated from the internet.
Container Security
Services run in isolated Docker networks with only necessary ports exposed to the host.
Running a homelab is hands-on learning — here are the technical and soft skills I practice and develop through building and maintaining this infrastructure.
The homelab is always evolving — these are some of the upgrades and projects on the roadmap.
Planning to upgrade both the cache drive and appdata SSD to 1-2TB drives for increased capacity and performance as more services are added.
Exploring home automation technologies and integration with the homelab infrastructure.
Always looking to expand knowledge and implement new services that provide value while teaching practical IT skills.