Abstract
In this article I will outline the history of previous home lab server designs and purposes, why I decided to rebuild my home lab server, and why a small business or home technologist might want to also pursue a home lab server build and setup. I discuss a few of the many, MANY options available to us today, but will focus primarily on the primary goal of retaining sovereignty over my owned data and files.
History
As my family has grown in size via number of children and scope of data captured and maintained, including managing children’s homeschool activities, various organizations and clubs we are involved in and media of photos and videos, the need to have more control and ownership over this data and media has grown as well. For some time I relied on SmugMug.com for photo and video sharing – because of its licensing terms which give users complete retention of rights over their own media – and various shared services for data and file management such as Microsoft OneDrive, Google services, Fastmail (for primary email services), and plenty of other online services. Then the COVID-19 situation happened. It became abundantly clear that (1) the vast majority of the populace worldwide was willing to abdicate personal responsibility and accountability to authority figures for any reason at all, whether real or invented, and (2) when that authority figure controls some aspect of your livelihood, personal information, or financial independence from “systems”, then that authority figure retains great amounts of control over you.
I had been using and playing with Linux servers for over twenty-five years, from the early days of the “new” Linux distributions of RedHat, Slackware, Mandrake, and SUSE; however, I had not seriously built and maintained a server for the purposes of running our household, a small business, or non-profit organizations in any meaningful way. COVID-19 made me rethink my stance on everything about how our life was organized in this digital age. At first I re-purposed a small Network Attached Storage (NAS) setup on an aging Drobo 5N which had been used primarily for computer backup so that it could serve audio, video and photo files to all of the family devices. The Drobo quickly began to deteriorate in capability as I outstripped its ability to keep up with the growing software services I was installing on it.
The next step was to build two small servers using purchased and spare parts from used computers. I first built a small Raspberry Pi 4 system with an external 2TB LaCie drive (for its speed and ruggedness) to serve as a Bitcoin node for further monetary self-custody and research. (This is an entirely different topic, but an important decision-maker for later server builds.) Within a year I built a second machine using ProxMox installed on a refurbished HP G600 $140 special from MicroCenter using additional drives harvested from the no-longer-supported Drobo 5N to provide both NAS and media services to all of the home devices. This setup worked well until it too began to be too limiting for a variety of purposes, including having a stable system that wouldn’t require a day’s worth of work to bring back online after a power outage. (I found out after a few years of living in a new neighborhood to us that the electrical grid infrastructure throughout the neighborhood was reaching end-of-life, and was experiencing annual and even semi-annual outages – not good for computer equipment!) Most recently I built an even heftier server using Ubuntu 24.04 with a more recent AMD Ryzen 5 CPU and NVidia 1650 Super GPU so that the media could be served up more reliably to children’s devices (mostly for audio books and seasonal music listening – we watch very little TV). For several years these components performed well enough but still did not solve a variety of automation needs that I increasingly found necessary as my job and family duties required more of my time. These limitations and various problems led me to redesign my entire system and processes with new goals in mind.
Goals of a Server Rebuild
In order to focus the server rebuild on the most important tasks and to not get sidetracked on the many, MANY options available, the following goals will guide this project. As I complete individual tasks and goals I will post additional articles about the process.
Primary Goals:
- Increase Storage Space. My server needs to be capable of storing up to 8TB of data and media. This amount of storage will serve the purpose of providing at least 2TB of Bitcoin node space (a minimum of 1.5TB is generally required to run a Bitcoin node, as of 2025, due to the size of Bitcoin’s blockchain); 4TB of media space for expansion from a current ~500GB of space used for photos, audio, and video (with video taking up the most space); and an additional 2TB of space for individual users and future expansion (self-hosted AI LLMs perhaps?).
- Tailscale Integration. I run multiple services on my home network, and Tailscale greatly simplifies and alleviates my cybersecurity risks on the Internet, so it has become a critical component in my servers, laptops, and other devices throughout the home.
- Home Assistant Capable. As additional equipment in the home becomes Internet-of-Things capable I have found that most vendor’s smart phone apps, WiFi connectivity, and other aspects are all built to barely work and often don’t satisfy half of the needs of the user. So I need to have a Home Assistant control center which can simplify all of the nonsense for the less technical family members and to simplify my equipment monitoring and home maintenance routines.
- Separate Server Maintenance from Data and Media. The server should be built so that changes to the software running the server (its operating system and supporting third-party programs) should be independent of the data such that any breakages of the server can be repaired quickly without impairing or impacting any of the data and media files.
- Resilient Operating System. A server’s OS must be re-deployable on demand and capable of being restored to a prior snapshot in time within four hours. The somewhat arbitrary “4 hours” timeline is based on my need to have access to all family files and media within half a work day because of the many activities that occur both during the average 8-hour workday, as well as during evenings and weekends where such data might be critical to supporting non-computing activities such as a “home lab” for preparing teaching materials, planning children’s events, family travel needs, or financial decision-making.
Secondary Goals:
If some of these goals are met in the process of achieving the primary goals listed above, then it’s bonus points for me, but failing these goals is not a reason for making different decisions about the design.
- Eliminate Cloud Vendor Lock-In. I don’t want to pay for cloud services, I don’t want 3rd parties owning my data, and I want to be in control of what my children see and hear on their digital devices. You wouldn’t let your children play with vipers and wolves, would you?
- Reduce Screen Time. While counter-intuitive, the less time that my family and I can spend in front of screens because modern communication and information necessities are automated away from our everyday activities, the better. Playing music via an iPad should “Just Work” without requiring a series of hoops to jump through to filter out NSFW-level content. Home videos created by family members (and kids!) should be instantly available via Jellyfin and not stuck on YouTube with all of its advertising and subscription nonsense. Family financial information and monthly budget numbers can exist independent of Quicken and other online products; and for the more independently minded, fiat-money free. (We can talk about Bitcoin in a future post.)
- Replace Existing Subscriptions. I have a variety of online services which are currently paid-for subscriptions. Usually these services are in place because of convenience and lack of effort on my part to build something better which costs far less in the long run. It would be nice to save some money by eliminating one or more of these services.
- Create New Family Privacy and Safety Standards. While I don’t expect to invent all-new ways to protect families and their children from the many ills of the online digital world, it would be valuable to find new ways to do exactly that: protect others.
- Grow Nandgate.Consulting LLC as an Advisory Business. A grand goal, but it is only secondary to the primary purposes of this project.
Leave a Reply
You must be logged in to post a comment.