This page is dedicated to showing off progression on my home compute/networking center.
I will be a little vague because I dont want to just say the specific software version numbers / specific hardware I run.
Another picture would go here but right now its a little messy. I want to clean it up by organizing cables and etc before posting a picture. Instead, this is what my list of VMs looks like:

Hardware:
My setup is made from a 4u short-depth rack with the following items:
- Access Point | Mac Mini
- The top row features a 3d printed shelf that perfectly holds my Mac Mini and Unifi Access Point.
- Proxmox Host
- This row houses the short depth server Im running, which uses Proxmox to run VMs which work together to run all sorts of different programs to provide a wide array of functions.
A short list:- Software for Machine Monitoring
- Software for Local LLM Usage (Programming assistance)
- Software to browse ebooks and other literature
- Software to adblock the entire network
- Software to run a NAS for long term storage and external VM storage
- Software to play games
- more to come
- This row houses the short depth server Im running, which uses Proxmox to run VMs which work together to run all sorts of different programs to provide a wide array of functions.
- Empty
- There is nothing here now.
- Dream Machine Pro
- This serves as the networking hub for my home, enabling me to create VLANs and SSIDs, and manipulate the rules of them to either allow traffic, or deny it.
Projects involving the Homelab:
- Project 1 – 4/15/25 – Assemble a 1U computer that would be equal or greater in power than my gaming PC.
- Given my gaming PC is composed of power hungry components, I had to purchase parts that were powerful yet efficient, in addition to having more resources in general. As a result, I went with:
- 16 Core Ryzen 9 CPU
- Nvidia RTX A4000 16GB
- 128Gb of DDR5 ram
- 5TB of storage (Actually 3TB with the 2x RAID 1 setups) (with room to expand)
- The above parts have replaced:
- 6 Core Ryzen 5600x3d
- Overclocked Nvidia RTX3070
- 32gb of 3600mhz DDR4 ram
- 1TB of storage (no RAID) (No room to expand internally)
- Although I havent used it to game yet – which I plan on doing – with the hardware jump I expect at least a 10% increase over my old computer, then factor in the slight overhead of the Hypervisor, and its probably anywhere from 4 to 10% faster.
Unfortunately having thermal tested the machine, the GPU can run on the warmer side after being stressed for awhile. I believe there are two ways I can solve this:- A slight undervolt on the GPU
- Undervolting is a great way to reduce temperatures the few degrees I need
- Fans in front of the gpu to pull fresh air to it
- The only extra fans in the case blow directly over the CPU and motherboard, which makes sense…. I just want to add some more so the GPU can get fresh air like the rest of the computer.
- (Edit 4/27/25 – I have placed a fan at the front of the case, which draws fresh air in and blows it directly to / over the GPU (and SSDs). This has helped prolong the time until thermal throttling but has not stopped it. Will keep working on this….
- A slight undervolt on the GPU
- Given my gaming PC is composed of power hungry components, I had to purchase parts that were powerful yet efficient, in addition to having more resources in general. As a result, I went with:
- Project 2 – 4/16/25 – Build a racked setup that I can hide out of sight.
- While I worked on project one, I started project two. After a fair amount of research I determined that the 2 post 4U rack from Startech was perfect in terms of sizing.
- When I got it, I assembled the hardware I had already in it, and I have been adding to it since. With only one unit of space left I have to choose carefully what I want to put there.
I also added some fans to the cabinet it sits in, after cutting a rectangular hole for the air to pass through. Now the fans pull out the hot air as it exits the ‘rack’ and exhausts out the back. The thermals are satisfactory, but for prolonged sessions that max out the GPU, it can get a little hot. (Undervolting is on my list of things to do)
- Project 3 – 4/17/25 – Create a monitored set of VM machines
- Having seen enterprise tech stacks, I wanted to emulate that in my home to have the increased knowledge of precisely what is happening, and ways to display it in ways that are easily understood.
- I accomplished this through Prometheus and Grafana, which gets the information from the machines I have installed the node_exporter program on. From there Prometheus passes the data to Grafana which handles the visualization aspect of things.
- I have not made much in terms of visualizations yet, I mostly wanted to lay the groundwork to record data and then go back to it when I have free time.
- Having seen enterprise tech stacks, I wanted to emulate that in my home to have the increased knowledge of precisely what is happening, and ways to display it in ways that are easily understood.
- Project 4 – 4/19/25 – Create a VM which I can use to host local LLMs to assist me with programming in addition to training models.
- As a result, I have made a Windows AI VM. Ideally I will replace this with a Linux VM when SteamOS comes out, as this will be both my AI Machine and Gaming Machine due to the complications of routing a GPU to a VM in general, let alone splitting it into multiple vGPUs to disperse across several computers. This VM doesn’t provide a nice user-friendly GUI for the LLM messaging app, so I had to host a program to do that too. Open-webui has a nice user interface and a vast amount of options to change around which are hosted on the open web-ui specific VM. This is accomplished through simple http traffic, and is rather insecure. I want to replace it with SSH which should be possible… I just have to do it, but I have more projects I want to get to this ‘working but I want to improve it’ phase before I go back and do it.
- As a result, I have made a Windows AI VM. Ideally I will replace this with a Linux VM when SteamOS comes out, as this will be both my AI Machine and Gaming Machine due to the complications of routing a GPU to a VM in general, let alone splitting it into multiple vGPUs to disperse across several computers. This VM doesn’t provide a nice user-friendly GUI for the LLM messaging app, so I had to host a program to do that too. Open-webui has a nice user interface and a vast amount of options to change around which are hosted on the open web-ui specific VM. This is accomplished through simple http traffic, and is rather insecure. I want to replace it with SSH which should be possible… I just have to do it, but I have more projects I want to get to this ‘working but I want to improve it’ phase before I go back and do it.
- Project 5 – 4/20/25 – Host Ebooks with Kiwix
- Having owned a Sony Reader when they first came out, I have a fairly large selection of legally owned ebooks that I lacked a way to read. Now with Kiwix I have a way to display them through a browser on any computer I have connected to my network. This is one of those servers that could benefit from having a NAS attached to it, so it could pull the books from a centralized storage location instead of me having to upload them separately to the VMs storage.
- Having owned a Sony Reader when they first came out, I have a fairly large selection of legally owned ebooks that I lacked a way to read. Now with Kiwix I have a way to display them through a browser on any computer I have connected to my network. This is one of those servers that could benefit from having a NAS attached to it, so it could pull the books from a centralized storage location instead of me having to upload them separately to the VMs storage.
- Project 6 – 4/21/25 – Create a NAS solution for the other VMs on the host, in addition to my other computers.
- Having tried Open Media Vault in the past, I wanted to try something new. After installing TrueNAS I like the UI and how easy it was to get things set up.
- Having tried Open Media Vault in the past, I wanted to try something new. After installing TrueNAS I like the UI and how easy it was to get things set up.
- Project 7 – 4/23/25 – Reinstall Proxmox on a Raid 1 setup
- With this, I’ll undo all of the progress thus far because I decided I want to reinstall Proxmox on a raid 1 setup to ensure the OS and VMs (The Virtual Disks will be stored on that same initial drive) will have a copy in case an SSD bites the dust. Ive backed up the VMs, TMP and EFI data and even the configurations of the VMs. It should be possible to reload them onto the new host, but I might just do it all over again for practice. Itll go much faster the second time around.
- I will also be changing the minimum volume size I assign some machines. For example last time around I made partitioned 100Gb for each machine. This is totally unnecessary for most of them, so I will be ‘more stingy’ with my storage the second time around. This will allow me to store more VMs, or even the backups of the VMs on that same Boot/VMEFI drive. That would leave the 2 1TB HDDs for a TrueNAS Raid 1 setup to ensure photos or other important personal data remains safe, which wouldnt be accessed by any of the VMs. This leaves the 1TB NVMe drive to act as NAS for the VMs as its the fastest of all the connected drives. It will hold things like LLM Models, project files if they’re to be shared between the VMs, etc.
- Project 8 – 4/26/25 – Previous VM Rebuild
- I have recreated the VM cluster I had before, but this time it’s Harder, Better, Faster, Stronger. It’s got boot drives set up in raid 1, as well as NAS drives set up in raid 1 for extra data safety in case a drive fails.
- In addition to data safety improvements, I have given the passwords for each machine an overhaul in an effort to be mildly secure on that front too.
- Before I only had a Windows machine that I was able to do GPU passthrough with, in order to have a LLM capable machine. Now Ive got it working with Ubuntu, which means I have left windows behind completely. Just in time for that Windows Recall BS.
- I have also made a template out of the working VM I had, so I can easily create another in the future if necessary.
- I am also editing the firewall rules of the machines that are expected to communicate with each other, to be more strict about what machines can communicate with each other.
- In regards to what I wrote previously about VM Disk size, I have how elected that 60Gb should be sufficient for each machine. Anything else ought to be stored in a NAS drive.
- Project 9 – 5/17/25 – Gaming VM
- This is a VM I have build that will utilize:
- 10 Cores, 20 threads
- 32Gb ram
- RTXA4000
- Its intended for steam gaming, and provides the graphical output from the Graphics Card to my monitor directly. This is to avoid the refresh rate penalty and lag that comes from VNC/RDP/SPICE/etc.
- The games are stored on my VMNAS drive, as to not take up space on the Raid1 SSD Setup which houses the VM disks, or the Raid1 HDD Setup I have for long term storage.
- Utilizing Ubuntu with a GUI, this was a fairly easy setup.
- Ideally I would be able to run my gaming setup and my AI setup at the same time, but thats not the case currently. Creating a virtual GPU and delegating that to VMs can be rather difficult, especially given my unique hardware setup. Maybe Ill do that eventually.
- This is a VM I have build that will utilize:
- At some point I would like to look into continuing my ‘Live 3D Network Rack’ project using this hardware as both a means to host it, and as the hardware to emulate in the project. This would allow for an easier-to-make first version, where all the data would directly correspond to the physical hardware shown in the model. But thats a lot of work… and I want to enjoy my setup so far 😅