Homelab.part 1 : server / hypervisor / core services
So. If you want to self host, you need to consider a few key points before getting excited :
- The whole thing is time consuming, even if you're good (and I'm sure you are).
- Core services will deployed and maintained ... by you. So you need to master them : network, dns, vlans, security, firewall, NAT/PAT. Specifically, you need to be ready to analyze potential issues, make diagnosis, well ... understand what you do.
- On top of this, you need not to be blind, so that means installing a lightweight monitoring solution to at least get CPU, RAM, DISK, NETWORK minimal intelligence.
- I won't give any specific commercial reference because not the point here, but you can ask me on my socials 😀.
Preparing this will cost you time first, then save you some time.
I. Setup vlans and secure a dedicated subnet, seriously.
Whatever is your firewall appliance, you need it to be vlan aware and secure your traffic. Seriously, you cannot use the subnet of your PC, your connected bulb and your TV, especially because we're going to serve applications on the Internet. And this is a wild space at the moment.
By the way, you need an internet provider that will provide a static public ip with the whole port range available for you. We have that in France but it's rare and you probably won't have your answer right away if you ask level one on the phone (sorry guys, no offense).
II. Choose a good hardware.
You need something clever and relevant to your needs : that seems obvious but.. you know. Technically, this means :
- recent CPU with modern instructions availability : check if AVX is present for instance, otherwise, no mongodb 6.
- small form factor
- acceptable upgrade possibilities / scalability, which means :
- being able to go from 32GB to 64 Gb of RAM
- 1 TB for your local storage is ok, but you need extra space to achieve :
- a NAS or a distributed storage setup
- the reason is : safety, resilience
- needed for : backup space, distributed storage for any K3S you would install (wink, wink)
- so, maybe some SATA slots and / or additional M.2 slots
- at least 2 network sockets : 1 per vlan.
A mini PC can achieve this or somekind of a development card, but don't make it too experimental : the best thing is to have a small, well refreshed box, somewhere on your desk, near a small network switch.
When your hardware is setup, you will know :
- where your resources start and where you can go
- how you will use your storage
- how your thing is connected
And of course, check technical requirements BEFORE buying anything : https://www.proxmox.com/en/products/proxmox-virtual-environment/requirements
My setup is Proxmox, but you can make a bold choice and install K3S, and do everything using Kubernetes, but I suspect that, if you go with this choice, you don't need to be here at all 😅.
III. Install Proxmox
Installing Proxmox is pretty straightforward. It's a debian derivated distribution with all debian stuff included. Just make sure your hardware is 100% ok with the current kernel version. Use a wired keyboard, and go.
And always, read the documentation.
That's all for now. We'll get into details in the next post.
See you around, folks.
Comments ()