Guide Home Lab - Thread

@DigitalDude

My so-called "home lab" consists of only a rpi4b8gb and an i3 nuc - a relative bargain compared to what some of the crackpots here run - server racks with Epycs and NAS and other useless stuff.

Maybe you can start off with just an RPI then grow your homelab as you like?

This is just some of what I run on them - some basic things I need - no going overboard:

  • Technitium DNS server instead of the popular pihole - because i like its more user-friendly UI - I use it for internal shenanigans - more later.
  • nginx as a webserver/file server with some convoluted config for the same internal shenanigans - more later again.
  • rclone.org tool as a rudimentary file/media server - to be able to share/play some music/videos/pics on my smart TVs builtin media player apps.
  • A database server (MariaDB) to host some datasets (like northwind and imdb) for my AI stuff.
The devices have bare metal linux installs - Ubuntu "jammy jellyfish" 22.04 LTS - with most of the above stuff running as Docker containers - none of that hypervisor (proxmox) shite for me thank you. Planning to wipe and fresh install maybe Debian 12 (or 13) when I can spare some time - to avoid Ubuntu's crapware that comes with it.

As for those "shenanigans" - I'm running local mirrors of some of my preferred linux distros' repos like openSUSE Tumbleweed on my NUC's SSD - an internal 2TB SATA 2.5 inch Crucial MX500 - which I plan to replace with a 4TB version of the same model which I also have - while doing that fresh Debian install. I've configured nginx not only to host a simple website (on my Tata Play FTTH static IP and my domain registered with Amazon and using their Route 53 service) but also using that Technitium DNS server to point those linux mirror domains to my NUC IP and nginx serves those mirrored repo files to my various installations of Linux (openSUSE Tumbleweed, Ubuntu based distros like elementary OS and KDE neon).

Oh and I run this tool called Watchtower which monitors your docker containers (my Technitium DNS servers) for updates and downloads/installs them and restarts your containers for you. Not sure if there's a better way to auto-update docker containers.

Plus, I've enabled "unattended upgrades" for my main linux OS installs on the RPI and NUC so it daily checks for OS updates, downloads and installs them, and if a reboot is required, does that too.

I'm by no means a proficient "systems admin" person - so if I can do this kind of stuff - I'm sure you can do similar stuff too - without breaking the bank.
Cheers!
 
hey guys i recently bought an 800 g3 with an i5 6600k and 16gb ram and 512gb ssd i am at a crossroad here at what to run can someone assist?
 
@DigitalDude
Maybe you can start off with just an RPI then grow your homelab as you like?
In my humble opinion, You're better off starting with a mini PC considering the prices of the Pi now. An i5 7700T costs almost the same price as a Pi 5 8GB(+accessories) and it is n times more powerful and easier to work with. The only advantage of a Pi is it's lower power consumption, but a lot of these 1L PCs can provide tough competition in power consumption too.
Technitium DNS server instead of the popular pihole - because i like its more user-friendly UI - I use it for internal shenanigans - more later.

Other than the UI, does this provide any other benefit? Is this also running as a docker container on the main system where the other containers run?

I ask this because, I was unable to get Pihole and my containers to co-operate for DNS when running it as a docker container. Gave up and used a Pi Zero 2W exclusively for the Pihole.

@DigitalDude
Oh and I run this tool called Watchtower which monitors your docker containers (my Technitium DNS servers) for updates and downloads/installs them and restarts your containers for you. Not sure if there's a better way to auto-update docker containers.

Plus, I've enabled "unattended upgrades" for my main linux OS installs on the RPI and NUC so it daily checks for OS updates, downloads and installs them, and if a reboot is required, does that too.

How does one enable unattended upgrades for an OS? I have a shell script that runs both update and reboot once a week, but other than that, nothing else. If this is supported natively, I'd rather prefer going that route.

Further how many times has watchtower borked your docker containers forcing manual intervention?

Right now I'm using watchtower to only inform me of container updates, I'd like to automate it, but I'm scared of breaking something and spending even more time working on repairing it.

Thank you.

To the OP:

My journey also started with a Pi 4, the necessity being 2 things:

1. A file server (SMB Share) for being able to backup and easily access photos, documents from my phone.

2. An SDR server for my HAM radio needs.

However, this slowly expanded and now I host a media server for my immediate family that is publicly accessible, and a few other containers that make my life easy like a budget calculator, password manager and a fleet management setup.
 
@badwhitevision oh yeah i guess a mini PC would be better if cost is the main concern over power consumption/size etc like u say.

yes technitium is running as docker container on both my pi and nuc - i dont think any other benefits over pihole - i just found the UI intuitive for me to get it up and running - i dont use any special ad-blocking lists etc - just my custom domain overrides.

if you weren't able to get pihole to cooperate with other containers my first thought is to use docker named networks and attach the containers to the same network?

to enable automatic OS updates (for ubuntu/debian) search for install the "unattended-upgrades" package IIRC you can search online for guides, reference sites.

watchtower so far hasnt borked my technitium updates even though i pull the "latest" tag and auto restart the containers - touchwood. i use it only for technitium so far.