Home lab Series: What do you see when you poke around in my office Ylli P, March 1, 2025March 2, 2025 I took a few takes at writing this second post on the home lab series, and I wasn’t sure how to approach it. A home lab, by its nature, is an exploratory and experimental environment without any particular set goal, ever-changing and generally a representation of one’s latest interest and passion. As such, my best take on this is to look around and describe what hardware I see and their purpose. Actually, I will start without turning my head at all and describe what’s in front of me, as I type. Where I do my typing? While this might not be the most exciting part of a home lab, 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. I bought these both second hand and spent about $1000 for both. The iMac can be found for less than $500 today on Amazon, and the monitor can be found for about $300 second hand. Let me add a footnote here that I actually bought a Curved Samsung 32-inc at Costco and was pretty happy with it until one of my neighbors was giving away a MacBook Air and the 34-inch monitor at a great price. I think I paid less than $200 for the monitor. And that is a nice segway into my other machines where I do typing. I use a MacBook Air 13-inch 2017 for when I am on the way and I need a computer with me. This is certainly old and not powerful enough as a dev machine, but it is a great computer if you are using it to connect remotely to other machines (or browsing the internet). In reality, docker runs fine in it, and some other tools too. How do I connect? 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, in my opinion, isn’t even too bad. 7G is a lot and I wish I could afford it. However, I am pretty happy with my 1G at $50/Month. Especially as it includes two Amazon eero mesh Wi-Fi devices without any extra monthly cost. All my home devices (this computer, phones, iPads, cameras, TV, PS5 and so on) use the Wi-Fi to connect, and it has been pretty stable. 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 TP-Link 5-port 2.5G switch (overdue an upgrade, looking at this) which in turns provides 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, and an NGINX reverse proxy takes care of the rest. I will create another post to explain this in more detail. For completeness, running an Orange PI Zero 3 (at 2W consumption) assuming on average about 30 Where do I store my stuff? Maybe let’s clarify first, ‘what stuff?’ There are family files and documents (like photos, tax documents, bill records, spreadsheets, document scans etc.) that generally go on the cloud. I use a Microsoft Office Family subscription that gives 6 licenses to share with family members and each gets 1TB of OneDrive space. The reason why I mention OneDrive in a ‘Home Office’ post is because I also mount OneDrive as volume on my servers and have set up a daily backup for some of the sites running on my servers. A daily backup Crontab job backs the files up into the OneDrive volume and only keeps the last 30 days of backups. @yp-us-lg1:~ mail # U949 xxxx@yp-us-lg1 Sun Feb 23 02:04 31/1382 Cron <@yp-us-lg1> /home/xxxx/run-backup.sh @yp-us-lg1:~ crontab -e # 00 02 * * * /home/xxxx/run-backup.sh # 00 03 * * * find /mnt/OneDrive/wp/backup -type f -mtime +30 -delete @yp-us-lg1:~ ls /mnt/OneDrive/wp/backup/ Using OneDrive for backups is 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. OneDrive though is also slow and whilst it’s a good backup storage, it’s a lot harder if you are planning for active use. You can also lose a day’s worth of activities since the backup is taken every night. I also use Cloudflare R2 storage, as an alternative to OneDrive, 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). Where is the computation happening? And lastly to the servers part. Which aren’t actually real servers but rather workstations repurposed to run as servers, running Ubuntu Server 22.04 LTS. The two workstation machines hardware are configured as follows: Workstations/Server Configuration Machine NameCPURAMGPUTotal PriceHP Workstation Z6202X Intel(R) Xeon(R) CPU E5-2680 @2.70GHz 16-Cores Total8 x 16GB DDR3 1333MHz 128GB Total RAMNone~ $500Lenovo ThinkStation P9202X Intel(R) Xeon(R) Gold 5118 CPU @2.30GHz48-Cores Total4 x 32GB DDR42133 MHz128GB Total RAMNVIDIA GeForce RTX 3080 10GB NVRAMAnd a Quadro K620 ~ $1000 In addition to the servers, I have Cyber Power 1500VA UPS that serves as power backup in case of power flickering (which are common in Florida) or interruptions. The UPS isn’t powerful enough to run the servers, but is good enough to power them down safely in case of power cuts and keeps them running in case of surges. This cost me about $200 on Amazon As mentioned above, there is some other hardware lying around that is probably non-material (like the Orange PI and some extra monitors), but otherwise the above paragraph gives a pretty complete picture of my hardware configuration. The software running on the hardware is a whole another post. Before I get to the conclusion section, let me recap the total cost of ownership and running costs. Total cost of buying and running the home office I have spent about ~$1000 for the iMac monitor and accessories, and ~$1500 for the servers and accessories. Additionally, I might have spent another $500 on other things, like Orange Pi or TP-Link and other experiments. That pretty much sums up the total cost of the hardware at ~$3000. Total cost of hardware ownership $3000 The yearly cost of ‘running’ the home office is actually 0. Obviously there is the cost of internet, electricity, OneDrive (nothing else comes to mind). However, apart some extra electricity spending, I would be paying for the other services regardless, so I can proudly say I am running my home office for free – and considering even the cheapest VPS would cost at the very lest $25/month – this is quite an achievement given the amount of compute power available. For completeness, my servers are generally running on pretty low consumption at less than 1ï¼… load. Apart from when I am running model training, which given the GPU isn’t powerful enough, isn’t happening very often. However, being generous and overestimating, we can say that the yearly average load is 5ï¼…. With that type of load, the two servers would be consuming less than $50/year of electricity. I would consider this cost as non-material and overall stick to my statement, the yearly running cost is $0. Total cost of running the home office $0/Year Conclusions and what next In conclusion, while nothing special, the home office setup allows me to experiment with all sorts of projects, as explained in the other projects of this (b)log, and run a few websites on it (like these pages). This configuration has the advantage of almost $0 running cost, and while the total setup cost is about $3000, having near to $0 running costs more than makes up for the ownership cost. In the next posts, I will be going in the detail of the software setup and configuration of the reverse proxy and web servers for running websites on the hardware detailed above. Homelab
Homelab Homelab Series – Introduction January 29, 2025January 29, 2025 Welcome to the first post in a new blog series where I’ll be documenting the setup, evolution, and use cases of my home lab. This series aims to provide insight into the hardware and software stack that powers my projects—both ongoing and upcoming—and why I chose this particular approach. Whether… Read More