Experimental Compute Lab
1. Introduction
In this post I document the infrastructure for my projects. This covers hardware, networking, and AI/LLM-focused resources. Whether you’re building a home campus of compute or eyeing cloud/edge alternatives, these posts will give you real-world insights and cost trade-offs.
2. Why build an Experimental Compute Lab?
Before diving into the technical aspects, it’s worth asking: Is a home lab really necessary?
The short answer is: no, at least not for every project. Many experiments can be carried out using a powerful laptop or a budget-friendly virtual private server (VPS). In fact, for years, I relied on affordable VPS providers like Webtropia and Contabo, where a reasonably powerful VPS (e.g., 12 vCPU cores, 48 GB RAM) costs around $30 per month. When specialized hardware, such as GPUs for training large language models (LLMs), was needed, I rented cloud-based GPUs (e.g. Hyperstack ) on an hourly basis rather than making a significant upfront investment in expensive hardware.
However, while VPS and cloud-based solutions provide flexibility, they also come with downsides. One of the biggest challenges is that when running projects and experiments in the cloud, you are paying even when, as it happens often, your focus has shifted to other things. The cumulative cost of maintaining cloud resources can be significant, especially when projects remain idle for extended periods. In contrast, a home lab allows for greater control and cost efficiency, eliminating the need to keep paying for unused resources.
Here’s what’s coming in this post:
- Hardware Deep Dive – servers, GPUs, networking…
- Power & Cooling – efficiency, UPS, setup best practices
- Virtualization & Orchestration – Docker, Kubernetes, Proxmox
- Storage & Backup – balancing redundancy, performance
- Networking & Security – VPNs, firewalls, dynamic DNS
- Local LLM Training & Inference – optimizing for AI workloads
- Self-hosted vs. Cloud Services – running homegrown alternatives
- Monitoring & Automation – observability, backups, alerts
- Cost Analysis – TCO: Experimental Lab vs. Cloud
3. Dev Workstation
Let’s first take a look where i do my typing.
While this might not be the most exciting part of this post, it is probably the one piece of hardware that everyone has at home. Whether it’s a computer for gaming, for browsing or for your productivity, a laptop or a desktop, pretty much everyone has a computer for their day to day stuff. Mine is an iMac 27-inch 2019, connected to a second monitor, a 34-inch Curved Samsung C34J791. The iMac is starting to show its age now, being 6 years old at the time of writing, however it is still a pretty powerful machine with 3GHz 6-Core i5 and 72GB of DDR4 Ram.
- iMac 27″ (2019) + 34″ Samsung C34J791 monitor
– Specs: 3 GHz 6‑Core i5, 72 GB RAM
– Cost: ~$1 000 (used—iMac ~$500; monitor ~$300; plus upgrades) - MacBook Air 2017 – excellent for VPN, browsing & light Docker
4.Networking
I use Frontier 1G in upload and download. Frontier uses Fiber To Home connectivity and in my area offers up to 7G connectivity for residential consumers for $200/Month. That is pretty powerful, however 7G is also wasteful for what I need at the moment. I am pretty happy with my 1G at $50/Month.
The Frontier router, which is in my garage, has a LAN cable that runs into a LAN outlet in my office. The outlet is connected to a couple of TP-Link 5-port 2.5G switches (overdue an upgrade) which in turn provide connectivity to the eero, two servers and one NAS. The TP-Link has the nice feature of having an in-build VPN server that allows me to VPN in at home from anywhere.
Frontier doesn’t offer Static IP for residential consumers, so the only option is to use one of the dynamic DNS services (like no-ip.com). TP Link has an inbuilt dynamic DNS functionality where you can use register an account dyn.com and manage the dynamic IP association to a C-Name DNS record from their panel. However, the service costs $55/Year and this is generally easy enough to configure for free. In a nutshell, I am running a docker container on an Orange PI Zero 3 that check if the IP has changed and calls the Cloudflare API to update the IP on a custom A record. That A Record is what the rest of my other domains will point to via C-Name records An NGINX reverse proxy takes care of the rest, explained in more detail later in this post. For completeness, running an Orange PI Zero 3 (at 2W consumption) costs less than $3/year.
- Frontier 1 Gbps fiber – $50/month (includes Wi‑Fi mesh)
- LAN: Fiber to TP‑Link 2.5 Gb switch → servers, NAS, Pi, router
- VPN + dynamic DNS via Orange Pi Zero 3 + Cloudflare API
5. Storage setup
Firstly, I use OneDrive for personal files as an opportunistic choice since there is plenty of free space that is backed up on the cloud without any other extra cost, and it is pretty safe and redundant storage.
I use Cloudflare R2 storage, for server backup, though generally OneDrive is a cheaper option. In fact, I had to disable any large storage to R2, as the cost started to pile up fast. Even though R2 is a lot cheaper than other AWS S3 compatible storage, when doing GBs of backups daily, the cost can become significant, in a non-business context.
As additional storage within my setup, I have a WD My Cloud EX2 Ultra NAS with two 4TB disks configured in RAID 1 that, besides being a place to store the day-to-day files, is also mounted as volume on some of my servers and used as a more active backup drive.
And lastly, each of the servers have a diskA drive used as the data volume for any docker image file storage. diskA is what is backed up into the cloud storage (like OneDrive, WD My Cloud and some of it on R2).
- OneDrive (1 TB) – used as high‑reliability backup via cron jobs
- WD My Cloud EX2 Ultra NAS – 2×4 TB RAID 1 for active backups
- Cloudflare R2 bucket – useful but costs add up with volume
- Each server uses local
diskA, with critical data offloaded nightly
6. Compute machines
I have configured a couple of powerful workstations repurposed to run as comput machines, running headless Ubuntu Server 22.04 LTS. The two workstation machines hardware are configured as follows:
Workstations/Server Configuration
| Host | CPU | RAM | GPU | Cost (used) |
|---|---|---|---|---|
| Workstation A | Xeon E5‑2680 (16 cores) | 128 GB | RTX 3080 10 GB | ~$1000 |
| Workstation B | Xeon Gold 5118 (48 cores) | 128 GB | RTX 3090 24 GB | ~$2000 |
| + UPS backup & Orange Pi for services/power orchestration (~$200) |
6.1 Summary of costs:
- Hardware: ~$4 000 total
- Recurring: ~$50/month for internet
- Electricity: Less than $100/year thanks to low utilization
- Effective running cost: ~$0/year beyond things you’d already pay – vs ~$25/month for basic VPS
What’s next?
In follow-up posts I’ll dig into:
- CLI & container-based deployments
- Reverse proxy & SSL via NGINX
- Dynamic DNS automation with Cloudflare
- Making this infrastructure AI/LLM ready
~Ylli Prifti