117 lines
6.4 KiB
Markdown
117 lines
6.4 KiB
Markdown
---
|
|
title: "My current Homelab"
|
|
date: 2022-02-11
|
|
draft: false
|
|
slug: "my-current-homelab"
|
|
tags: []
|
|
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
|
|
<img src="img/image-1.png"/>
|
|
|
|
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:
|
|
|
|
<img src="img/image-2.png"/>
|
|
|
|
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 |
|
|
| ----------- | ----------- | ----------- |
|
|
|  | 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.
|
|
|
|
<img src="img/image-3.png"/>
|
|
|
|
---
|
|
|
|
## 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! |