d3vyce 052a6334cb
All checks were successful
Build Blog Docker Image / build docker (push) Successful in 1m1s
convert pgn into webp + start hugo migration article
2024-02-20 20:12:33 +01:00

117 lines
6.3 KiB
Markdown

---
title: "My current Homelab"
date: 2022-02-11
slug: "my-current-homelab"
tags: ["docker", "network", "storage"]
type: "infrastructure"
---
## 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
![Homelab topology](img/image-1.webp)
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](https://unraid.net) is a paid OS that is offered in 3 versions:
![Unraid license options](img/image-2.webp)
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](https://www.truenas.com) 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](https://cubecoders.com/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 |
| ----------- | ----------- | ----------- |
| <img src="icon/radarr.webp" alt="radarr" width="50"/> | Radarr | Movie collection manager |
| <img src="icon/sonarr.webp" alt="sonarr" width="50"/> | Sonarr | Series collection manager |
| <img src="icon/bazzar.webp" alt="bazzar" width="50"/> | Bazzar | Subtittle finder for movie and series |
| <img src="icon/jackett.webp" alt="jackett" width="50"/> | Jackett | Proxy server for indexer |
| <img src="icon/adguardhome.webp" alt="adguardhome" width="50"/> | AdGuardHome | DNS for blocking ads and tracking |
| <img src="icon/bitwarden.webp" alt="bitwarden" width="50"/> | Bitwarden | Password manager |
| <img src="icon/deluge.webp" alt="deluge" width="50"/> | Deluge | Torrent downloader |
| <img src="icon/gitea.webp" alt="gitea" width="50"/> | Gitea | Local github |
| <img src="icon/homeassistant.webp" alt="homeassistant" width="50"/> | Home Assistant | IOT manager (Zigbee) |
| <img src="icon/nginxproxymanager.webp" alt="nginxproxymanager" width="50"/> | Nginx Proxy Manager | Reverse Proxy |
| <img src="icon/plex.webp" alt="plex" width="50"/> | 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.
![Virtual Machines tab in Unraid](img/image-3.webp)
---
## 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](https://www.reddit.com/r/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!