Home Server - OS Install and Internet Connection
Building My Own Home Server: The Journey Begins
For quite some time, I’ve harbored the ambition to construct my very own home server. The idea of shelling out for Google Drive and iCloud, especially when I have terabytes of hard drives and idle computers gathering dust in my office, feels almost sacrilegious. Why let Google train their AIs on my cherished photos when I can spend my boundless free hours not just “banging my head against the wall,” but genuinely relishing the learning curve of Linux, Docker, networking, and more?
The Motivation: Taking Control of My Photos
At the heart of this endeavor is my desire for a robust photo storage solution. I aim to liberate all our family photos from the clutches of proprietary storage systems and place them securely in my control. This brings to mind the 3-2-1 backup rule:
- 3 copies of data
- 2 of which are local
- 1 stored offsite
Having two local copies safeguards against unexpected data corruption, while the offsite backup is a shield against calamities like fires.
Exploring Solutions
I’ve dabbled with a few solutions. Umbrel caught my eye due to its user-friendly setup. Initially designed to aid non-techies in establishing Bitcoin nodes, its principles seamlessly extend to other self-hosted applications.
GPT-4 has been an invaluable guide, laying out a plethora of options. Ubuntu Desktop and Windows emerged as frontrunners, courtesy of their user-friendliness and my familiarity with them. On the other hand, Ubuntu Server and openSUSE promised stability, albeit with a slightly steeper learning curve. With GPT-4 as my trusty sidekick, I felt emboldened to venture slightly off the beaten path and opted for Ubuntu Server. The last thing I wanted was Windows’ unpredictable updates and restarts. While a GUI wasn’t a necessity, I liked knowing I could install one should the need arise.
The Hurdles: Setting Up Ubuntu Server
The challenges cropped up almost instantly. After crafting a bootable USB, I installed Ubuntu Server. With four hard drives in the mix, ensuring data integrity was a tad nerve-wracking. The only hiccup so far? A drive with a prior Ubuntu desktop installation displayed some stray files in my home directory. I’m optimistic that this glitch will resolve itself once I delve into the zfs setup.
The real time-drain was the server’s reluctance to connect to the internet. While it detected the Wi-Fi card, it likely lacked the requisite drivers. The motherboard’s ethernet port was recognized, but plugging in a cable yielded no results. After some troubleshooting, I realized the issue: DHCP wasn’t configured to fetch an IP address from the router. The solution? Crafting a /etc/netplan/99_config.yaml
file with the following content:
network:
version: 2
renderer: networkd
ethernets:
eno2:
dhcp4: true
Here, eno2
refers to the network adapter linked to the ethernet port, a detail I gleaned after executing ip addr
.
After saving the file, I ran sudo netplan apply
followed by a system reboot. A quick ip addr
confirmed that an IP address was now assigned, and a peek into the router settings corroborated this.
Perhaps, by default, the server version doesn’t activate DHCP, assuming users would prefer setting a static address.
This post is already quite lengthy, so I’ll delve into other applications in subsequent entries. Stay tuned!