Homelab
Here is my current homelab setup
Networking
I have a very simple networking setup, it consists of one gateway, one switch and one access point. as for the gateway is a netgate SG 1100 running pfSense, the switch is a MokerLink 2G080110GSM and the access point is a UniFi AP Lite.
The gateway is connected to my ISP and I have created an extra vlan that I am using for IOT devices. The switch is not doing much extra more than tagging along the extra vlan to my AP and having my wired pc's connected. All my wireless devices are connected to my AP, and it serves both my networks I have created. Below is a simple diagram showing the topology of how everything is connected.
Servers
My servers is just 3 pc's acting as "servers". There is one mini pc with an older i5 and 16 gigs of ram(PVE01), Then there is a larger server with a newer i3 and 128 gigs of ram(PVE02), and the last one runs on a old pentium and 4 gigs of ram(PBS).
PVE01
PVE01 is an old HP EliteDesk with an i5 6500T CPU and 16 GB of memory, it runs proxmox as an hypervisor. It has a 500 GB SSD dish used both as boot drive and vm storage, since it is a weaker system it does not run that many virtual machines.
PVE02
PVE02 is a custom built pc with an i312100 CPU and have 128 GB of memory, it also runs proxmox as an hypervisor. For storage it has a 500 GB SSD as a boot drive and a 2 TB nvme for vm storage, it also have additional 4x4 TB HDD configured in a raid5 mdraid, and a Quadro P400 GPU. this server all the main services I mostly use on a day to day basis.
PBS
PBS is my backup server, it is also a custom built but with scrap parts I could find, so it has an pentium and 4 GB of memory, it runs proxmox backup server. it has a 128 GB SSD as a boot drive and one 1 TB for vm backup and a 12 TB HDD for file backup.
Services
DNS
I have 2 DNS server set up, one on each hypervisor, the software of choise is dnsmasq, so it reads all it entries for the hosts file. I dont have a need for something more powerfull like Bind9 or PowerDNS, since all I need is a couple of A records I feel perfectly fine running something simple like dnsmasq. Everyone else is using something like pihole anyways which is just a fancy interface for dnsmasq. I also felt the need to have one IP for DNS so I am using vrrp with keepalived to make my DNS higly available with one IP address. To sync the hosts file between the I just created a simple script that runs on the secondary DNS and checks to see if there been any change on the primary, if there have been a change it will copy the hosts from from the primary server to itself.
NTP
I have 2 NTP server, one on each hypervisore, I set up ntpd to serve ntp to all my clients and use systemd-timesyncd on all my clients to connect to my ntp servers. The ntp pool the servers are connected to are the se debian pool.
ACME
I have set up STEP to act like a acme server, and to serve my web servers with ssl certificates. I use lego-acme as a client on my servers to requests certificates from my acme server, and I have created a script that I use that you can find here
ZABBIX
I user Zabbix for monitoring, it sends me emails when something on a server is wrong and a notification to my phone through gotify.
Gotify
Gotify is a push notification service is use to send notification to my phone, mostly only use it with Zabbix to send notificaions when something is wrong on a server
Vaultwarden
I use vaultwarden as a password manager, I can use the bitwarden browser extension to connect to vaultwarden and have easy access to my password.
Homeassistant
I use homeassistand for some simple automation stuff, not much just a couple for temp sensord and outlets to control some lights and humidifers, so I can stay a bit lazy turn off my light without having to get up.
Fileserver
It is what it sounds like, just my fileserver that I use for storage, here I save all my media and pictures. I set up samba on it to be able to serve files to most clients (Win/Mac/Linux).
Emby
Emby is my media server, I use it to watch my media, and because it keeps track on what episode I am on. It has a cifs mount to my fileserver to get access to all media.
immich
I use immich to sync all photos from my phone to my server, it actually has a really nice interface and AI features for those that like that.
Pterodactyl
I use pterodactyl to manage my game servers, right now I only host a minecraft server, and pterodactyl makes it so much eacher to manage.
Miniflux
Miniflux is a web based RSS reader, I use to track RSS feeds on github release pages to see when software I host gets updates.
Homepage
Homepage is just a fancy dashboard I use instead of just bookmarking websites like other normal people.
Navidrome
Navidrome is a music streaming service, I use it to listen to all my music that I keep stored on my fileserver.
Beszel
Beszel is like a super simple graph server to keep simple server graphs like CPU MEM and others. It is not super featureful or customizable like grafana, but it shows enough for a simple homelab.
Gitlab
You probably already know what Gitlab is, I use host my own gitlab so I can store my private project on my own server.
Pritunl
Pritunl is a VPN solution, I use it to be able to connect to my homelab when I am out and about and touching grass.
UniFi
I have unifi server that I use to manage my singular access point.