I'm glad to see the US electoral process finally coming to an end. I don't like talking about politics, but these last 4 years have been so divisive, I hope Biden/Harris are able bring the nation back together.
I wanted to make a brief post about my home lab setup. I've been a big fan of Shuttle Computers due to their form factor and being able to be upgraded.
I have a Newegg wishlist of upgrades that I periodically update as new Shuttle PC's are released. My next motherboard + case combination will most likely be the SH370R8:
https://us.shuttle.com/products/SH370R8/
since I can put the latest Intel CPU in it an up to 64GB of RAM. For an operating system, as I mentioned in my first post, I've been a long time fan of FreeBSD having ran that throughout college. I haven't ran a FreeBSD system since I started buying Apple laptops and wanted to find something even lighter weight.
My friend, Russell Ballestrini
https://russell.ballestrini.net/
I think first told me about SmartOS, and how it can be used to host multiple virtual machines (VMs) with no real host OS installation. SmartOS gets installed to a USB stick and your computer boots from that and uses all of your hard drives for a ZFS file system to host VMs.
I currently have 8 separate virtual machines running on my Shuttle PC all hosting separate applications.
[root@kingkong ~]# vmadm list UUID TYPE RAM STATE ALIAS 364e5b1d-8b97-e28f-c098-f82399ee9090 LX 1024 running cache ef3ea227-658f-cc93-de34-a68a3607d5a1 LX 1024 running dns 24918e07-4364-ec19-bba6-d624376e7576 BHYV 4096 running pritunl 498e3202-5b0f-ce81-c441-ee14dd51ed1b BHYV 4096 running selfoss 7d5ea7cd-275f-4cb3-b9a5-c665bb065a62 KVM 4096 running db2 e29a3fa7-b76d-e463-ad0e-81501b9635fc BHYV 4096 running wallabag f407ca45-3c1c-6ead-f826-d1b907023830 BHYV 4096 running gemini bcc6b7d8-5750-43aa-bc46-e12df6f17ded LX 8192 running social
What's awesome about SmartOS, is it supports multiple virtual machine "types" (the LX, KVM or BHYV you see above). LX is SmartOS' built-in Linux emulation layer to natively run Ubuntu or other Linux variations without any virtualization overhead. KVM and bhyve (pronounced "bee-hive") allow you to run any kind of operating system you'd like, including Windows.
I also wanted a way to host public-facing websites, like this one, and also have some internal applications that I regularly use. I use selfoss as an RSS reader. Wallabag to save links. I found a company called Pritunl that makes an open-source zero trust security server that can be used to grant priviledged access for SSH and web applications.
I run Pritunl Zero in a separate virtual machine and set up NAT'ing on my router to route port 80 and 443 to it. I can then use Pritunl to do host-based routing and authentication for my applications hosted in multiple virtual machines.
Overall I've been really happy with this set up as I can easily move virtual machines around and update the routing in Pritunl.
“Today” was published on November 7, 2020.
---
The content for this site is CC-BY-SA. The code for this site is MIT.