What’s a Homelab ? #
As you may or may not know, I have a homelab at home. For people who don’t know what it is :
A home lab is essentially a compounded system that connects all your devices. Thus, creating an environment for you to experiment and build new projects at the comfort of your home!
A homelab is neither more nor less than a local network allowing experimentation, self-hosting of services, …
Initially, my goal was to create a media server accessible from anywhere with Plex. That was the initial objective, but you will see that today my homelab is much more extensive than that. I have over 20 selfhosted services ranging from password manager, web hosting, game server, etc.
To present you all this I will first list the hardware, then the topology I used and the presentation of the services I host. And I will finish with a conclusion on the first 3 years of my homelab!
Hardware #
Currently my homelab is composed of the following elements:
Networking #
- Unifi Dream Machine (Router/Firewall)
- Unifi Switch Lite 8 PoE
- Unifi AP WiFi 6 Lite
- Unifi AP WiFi 6 LR
- Netgear GSS108E 8-Port
Mark1 : Storage server / VM / Docker #
- AMD Ryzen 7 - 1700X (8/16 core)
- NVIDIA 750 ti
- 32 GiB DDR4
- 2* 500GB SSD (Cache)
- 2* 4TB HDD (Parity)
- 2* 3TB + 2* 4TB HDD = 18TB (Storage)
Mark2 : Gaming server / Lab #
- Intel i7 - 7700K (4/8 core)
- 32 GiB DDR4
- 500GB SSD
HOME NAS : Backup storage #
- Synology DS418
- 3* 4TB HDD
Topology #
In terms of network architecture it is quite simple, there is only one subnet, the 10.0.0.0/24, that I have subdivided for the different equipment:
- 10.0.0.1 : Unifi Dream Machine
- 10.0.0.2->9 : Network Equipment
- 10.0.0.10->29 : Server/Service
- 10.0.0.30->250 : DHCP leases
No VLAN, no multiple subnets, … Nothing very complicated in short! This network topology has some limitations for which I will come back in conclusion (a v2 of the homelab is in development/deployment).
The vast majority of services/VM/storage are on the Mark1 server. This server is under Unraid, it is an OS based on a Linux kernel and offers a multitude of options in addition to its main function of NAS.
Unraid is a paid OS that is offered in 3 versions:
The only difference is the number of storage devives we can install in our server. In my case I am on the “Plus” version. It’s a one time payment that allows you to unlock all the features.
You can try the OS in a demo version that is valid for 30 days, which gives you time to choose the OS that suits you. If you don’t want to pay, there are alternatives. For example TrueNAS which has many features in common and is updated regularly.
I personally chose Unraid for its stability and the numerous virtualization features which, at the time of the creation of the server, were not 100% perfected by TrueNAS.
Mark2 is a server under Ubuntu Server, it is notably used for game servers (Minecraft, Rust, …). I use the AMP service for that. In addition to the game servers, I use it as a test server for projects I’m doing.
Services #
As you can see on the diagram there are many services running in my homelab. Most of them are on the “Mark1” server and are Dockers.
Name | Description | |
---|---|---|
Radarr | Movie collection manager | |
Sonarr | Series collection manager | |
Bazzar | Subtittle finder for movie and series | |
Jackett | Proxy server for indexer | |
AdGuardHome | DNS for blocking ads and tracking | |
Bitwarden | Password manager | |
Deluge | Torrent downloader | |
Gitea | Local github | |
Home Assistant | IOT manager (Zigbee) | |
Nginx Proxy Manager | Reverse Proxy | |
Plex | Movie and series remote access |
In addition to these services, I have two database managers: MariaDB and Redis. I have a VPN service allowing me to connect to the LAN from outside: Wireguard. And a backup VPN present on the Home NAS: OpenVPN.
In terms of VMs on Mark1, I have 2 Ubuntu VMs for web hosting. A GNS3 VM for network tests. A VM containing Home Assistant. A Debian VM for a Docker project in progress and a Kali VM to do Pentesting and have access to cyber tools in remote.
Conclusion #
What I retain from this Homelab is that despite the basic objectives I had set for myself. The network is constantly evolving, I always find new things to do to improve it, add new services, increase security, …
Overall this experience is very rewarding, I am always looking for improvement and learn a lot in several areas: supervision, network, quality of service, … I recommend it to anyone in the networking field who is curious to learn new things and put them into practice.
This may seem like a lot of hardware, but it’s an accumulation of more than 3/4 years, so if you want to get started, a simple old laptop or a Raspberry Pi may be enough.
To learn more and better discover the world of Homelab, I advise you to take a look at this sub Reddit: Homelab. There are many resources, whether on hardware, software, topology, …
Futur plans for Homelab v2 #
- This topology had been created as a temporary base, but it poses many problems, especially in terms of security. I am updating this topology with with several new improvements:
- VLAN
- Multiple Subnet
- Monitoring
- Intrusion Detection
- Switch to OPNSense
There will be a blog post about the V2 of my homelab in the coming months!