Home lab resources

Giving a presentation on getting your feet wet in home labs, so put together a list of resources. Feel free to add to it!

Reddit.com/r/homelab is a great place for help, reassurance, community, pretty pictures

Check out this new to post: https://www.reddit.com/r/homelab/comments/5gz4yp/stumbled_into_rhomelab_start_here/

They also have a wiki: https://www.reddit.com/r/homelab/wiki/index

 https://www.reddit.com/r/selfhosted/ is also a good place to get inspiration/ideas

Hypervisor(This is where your lab systems go to live and you go to play!)

 VirtualBox. Great for your laptop or desktop and can easily spin things up.

https://www.virtualbox.org/

 VMWare. The defacto standard I’ve seen in business is Vsphere ESXi. They also have workstation products like Fusion for Mac and Workstation for PC. Some items are free and it’s a solid type 1 hypervisor for home use. I’d start with this for a dedicated box!

https://docs.vmware.com/en/VMware-vSphere/7.0/com.vmware.esxi.install.doc/GUID-016E39C1-E8DB-486A-A235-55CAB242C351.html

 Proxmox. An open source hypervisor built on Debian(Ubuntu’s parent). Uses custom layers to work with Linux KVM. A solid choice for a homelab and really popular with r/homelab folks. I’m currently using this.

 Straight KVM. Cowboy up!

System and software images:

Windows 10 dev environment, which is great for testing and playing around with. 90-day license.

https://developer.microsoft.com/en-us/microsoft-edge/tools/vms/

 Windows servers. Server 2019 trial. Hyper-V is free for perpetual use.

https://www.microsoft.com/en-US/evalcenter/evaluate-windows-server-2019?filetype=ISO

 Want to hop Linux distros and play with either the most popular or strangest variants of GNU/Linux?

https://distrowatch.com/

 Ubuntu

I recommend the LTS (long-term support) version that’s most current

https://ubuntu.com/download/server

https://ubuntu.com/download/desktop

I would go with Ubuntu if you want to learn Linux or play with Linux. You will be told there is easier to set up distros and there are, but nothing is as popular which means you can always find an answer. You’ll be compiling your own kernel and pointing out distributions are for amateurs in no time. (no time being a relative and subjective term; my no time = 10 years)

CentOS is a good alternative for servers, is the latest upstream(or downstream? I don’t remember; it’s just slightly more bleeding edge) of RedHat, which has been the default enterprise Linux I’ve seen in the United States. It really does not matter; I thought at some point I should learn CentOS instead of Ubuntu or whatever else, but under the hood, it’s about all the same. 

Networking:

Whatever you got! Really, do not worry too much about it for now.

Ubiquiti gear is great if you want to spend money. Works great for home and business. Lots of dashboards and easy to use.

PFSense. This is when you want to start getting into the weeds. It’s easy to set and forget, but if you want to start tinkering you can go all out.

Cisco? Chances are high the company you work for uses Cisco. You can get gear super cheap for your lab on craigslist usually. Or ebay. Anything less than 10 years-old should be okay. 

Buying stuff

Ebay.com Craigslist.org Facebook marketplace Goodwill Tech recycling places (in GR we have CompRenew and it’s like a nerd vacation for me every time I go.) https://www.reddit.com/r/hardwareswap/

Watch out for things that may require a license. A lot of things work without licensing, but all the fancy bells and whistles get turned off.

Managing Windows applications with Chocolatey

I’m a big fan of package managers and if you’ve ever used Linux or even an app store, you probably are too. Chocolatey is that solution for Windows. It’s simple to install at the command line ( https://chocolatey.org/install ) and can be used as a command (choco install adobereader, googlechrome), in a PowerShell script, in an initial image config file, or as part of your CI/CD pipeline. I’m constantly blowing away my workstations and currently use it in an initial workstation setup script I pull from my GitHub. As you can see from my script at https://github.com/GalacticDeep/workstationsetup it’s incredibly simple. There’s a lot more that can be done to set up workstations or application servers with chocolatey and it’s on my project list to use it in my pipeline with Ansible to keep from package configuration drift on Windows servers. Also, it’s on the to-do to set up the Windows end of the imaging server to use Chocolately to more easily update applications on the golden Windows 10 and Windows server image.