I have some technical background, but fall somewhere between novice and intermediate. I would like to make a proposal for a homelab setup and get some feedback.
I have the following hardware available to me:
- Various iOS devices for mobile
- 2017 13" Macbook Pro (Wife’s laptop)
- Arris cable modem 300Mbps (available 400Mbps nominal via Xfinity, no plan to upgrade)
- TP-Link Archer C2300 Wi-Fi router
- Mac mini (late 2014) 2.6GHz Core i5, 8GB RAM, user upgrade to 256 GB SSD.
- Dell Inspiron 5558 laptop 4th Gen Core i3-4030U Processor (up to 1.90 GHz), 8GB RAM, dual boot Win 10 Home/Pop!_OS 20.04
- Toshiba Satellite C655 Celeron 900 single core 2.2 GHz, 4GB, Windows 7
- Raspberry Pi Zero W running Pi-hole (DNS & DHCP) connected via ethernet
- Raspberry Pi Zero W unused
- Raspberry Pi 3 B+ unused
- Samsung Tab S6 Lite (ordered…will take over the function of YouTube player from Mac mini)
- ThinkPad T14 Gen 1 T14 Ryzen 7 4750U, 16GB, 512 PCI-NVMe SSD (ordered)
My thought process:
Mac mini: install Ubuntu Server 20.04, openmediavault, nextcloud (DropBox is full, and I am tired of it). I would attached four mixed size/speed USB drives as storage, but it will have to be JOBD or equivalent I assume. This would serve as cloud storage (will have to learn how to secure it for outside access), media serving via Plex or other, and general NAS. I would back this up to Backblaze as I do not have the option to create a RAID with my mixed size/speed drives as I currently understand it…not that I would not still back it up, but the backup will be my only redundancy. I will not have a solution for bit rot protection at this time.
I would like to create a second Pi-hole with the other Pi Zero for redundancy.
If possible, perhaps I could use one of the laptops as a firewall? Pfsense? That would all be new to me. At that point I could turn over DHCP to the laptop and use the Pi-hole as DNS sink hole only.
I would like to set up a k8s cluster using Raspberry Pi’s. I thought I would purchase one Pi 2 B+ and use it in conjunction with the one I have as redundant controllers, and then purchase three Pi 4 B with 4 GB for the nodes (8 would be better, but I want to cut costs). Ultimately, I would like to set up a web server and self host a blog after I learn a) k8s b) a web server solution c) how to secure it and d) implement some dns service to provide me with a persistent IP to the outside world. I already have a couple domains registered. This would be for fun only so 100% uptime is not a concern, although my service is quite reliable so it should be fairly high. I would like to eventually have this cluster and my other network gear running from a UPS to provide a window for safe shutdown in case of power outage. I would probably use this cluster a lot for learning other stuff as well.
If I cannot swing the cost of the cluster soon, I would still like to use the Mac mini as a NAS, and I could play with Android development or something until I have the resources. Just not sure yet.
My overall goals are as follows: centralize data storage for easy offsite backup, provide roll your own cloud services and ditch DropBox, secure and monitor my network (I still have two kids using the network), occupy my brain as I am disabled and have nothing but time on my hands.
I know I have already received some feedback on this in another thread, but I would very much appreciate any further insights, suggestions, and alternatives you may think of. Perhaps something I have suggested is not practical or possible i.e. firewall running on laptop? Any and all comments welcome.