💾 Archived View for alextheuxguy.mooo.com › 2023-07-17.gmi captured on 2023-07-22 at 16:21:05. Gemini links have been rewritten to link to archived content
-=-=-=-=-=-=-
A homelab refers to servers and networking equipment one hosts in their home. One can use a homelab for a number of different purposes, including (but not limited to!)
hosting a Dropbox/Google Drive alternative, putting a personal website on the internet, hosting a video game server (ie Minecraft) or even running your own video streaming platform.
Homelabs not only expose you to concepts such as server maintenance, *nix operating systems and networking, but also give you control over your data and privacy, while saving you money
on online subscriptions.
My self-hosted website in high school (pic)
I've been running a homelab in one form or another since high school. As a teen, I had an old computer from a garage sale that hosted my personal website and an SSH server. I used to tunnel into
my server from school to bypass the district's firewall so I could play online games during study hall.
In College my homelab evolved into a custom, purpose built NAS PC. I used it to store files, stream movies and TV shows, and run Minecraft servers for my friends.
Today I still use the PC I built in College, but have added a few other components.
My networking environment is the piece that has seen the biggest changes since my College days. At the center of my setup is a UniFi Dream Machine SE router/NVR.
This device runs my home network, as well separate networks for guests and IoT devices. Additionally, the Dream Machine powers 3 PoE WiFi access points on different levels of my house,
and 3 PoE security cameras. The Dream Machine has a 4TB HDD installed that supports just over 25 days of continuous video recording.
I use a Netgear Nighthawk CM2000 as my modem, supporting 2.5Gbps down (much faster than my internet will ever be). It's a huge improvement over the terrible modem Spectrum gave me.
Connected to the Dream Machine via ethernet is my original NAS from college. It "rocks" a Intel Pentium G3220 @3.00GHz CPU, 16GiB of RAM and 2x4TB of storage setup in parity.
UniFi Dream Machine Special Edition
Unraid is a Linux based software RAID operating system. I previously used FreeNAS, but switched over after FreeNAS became TrueNAS. Unraid is able to setup a software RAID array, as well as
host Docker based services and virtual machines. I use the Basic version of Unraid, which has been more than enough for my needs.
On my Unraid NAS, I host a number of services:
- Wireguard VPN
- Jellyfin - Movie, TV and Music streaming library
- Kavita - eBook library
- Nextcloud - Dropbox alternative with file syncing, chat, calendars, todos and more
- Paperless - OCR and indexing for scanned documents
- Pihole - Network wide adblocking
Additionally, I run an Ubuntu Server virtual machine with a few more services running:
- Personal website via nginx
- Internal network website for navigating between my homelab services
- Gemini capsule via Agate
- SSH
Jellyfin is a great way to stream your personal collection of movies, TV shows and music. I use it to stream to my Xbox One and laptops. I previously used Plex, but unfortunately the
interface of Plex has become less and less user friendly as the years have gone by. I keep my media files on a shared samba drive on the NAS, so it's easy to drag-drop new files
and Jellyfin will automatically start indexing them.
Kavita is a really neat, simple application that let's my wife and I manage our eBook/manga digital libraries. The web application is responsive, auto-fetches metadata for files, and remembers
your last read page between devices.
Nextcloud is an amazing, feature rich alternative to third-party file storage services. Coupled with excellent mobile applications, it's easy to backup your files, photos and videos.
Additionally, a large plugin storage provides tons of additional functionality. For example, I use the Passman plugin to self-host my password manager.
Paperless is the newest addition to my portfolio of homelab services, and one I've been very impressed with. With Paperless, I can scan a document with my iPhone, save it to a shared samba drive,
and Paperless will automatically perform OCR and categorize my document based on machine learning. As someone who has always struggled to organize paper documents, this will be a huge help. For example,
come tax time I'll be able to simply search "receipt" and "home depot", and Paperless will give me all the Home Depot receipts I need so I can calculate my expenses from maintaining our rentals.
These days, an ad blocker is pretty much mandatory to use the internet. But for smartphones, it can be difficult to install one. Pihole provides network wide ad blocking by acting as a DNS server.
My Dream Machine points to my Pihole for domain lookups, and the Pihole will block any requests to known advertising domains. Additionally, I use my Pihole to assign a domain name to my internal
website running on my Ubuntu virtual machine. So when I navigate to "wu.home" in a web browse, Pihole sends the request to the IP address of my VM server.
My Ubuntu VM is a bit of a playground. I use nginx to host my portfolio website (https://alextheuxguy.com), as well as my Gemini capsule (gemini://alextheuxguy.mooo.com). I mirror the content from
Gemini onto my HTTP site using Gemini to HTML converted written in C that I forked and modified to my needs. My Gemini files are pulled from a shared samba drive, so I can write new articles from
any computer in the house. I also have a custom bash script that runs as a cronjob that counts my unique HTTP and Gemini visitors (by grepping through log files), and generates my stats page.
My NAS from college has begun to show it's age, it already struggles to encode media with Jellyfin. I may look at swapping it with a spare M1 Mac Mini I have, which would mean connecting the HDDs
through Thunderbolt. I would probably swap Mac OS with Asahi Linux as well.
On the networking side of things, I'd like to rack mount my current setup and get a patch panel for the Cat 5e cables running through my house. I also have a few more Cat 5e cables to convert
from phone jacks to Ethernet jacks in a couple of the bedrooms (I'm happy the builders decided to install phone jacks with Cat 5e cables!).
I'll probably also install many more services as I find fun new things to learn about and play with. A homelab is never finished!
---
Enjoyed this article? Reach out!