DLFord's "How To Home Lab" Series
In my search for resources on home servers, I was lucky enough to find DLFord's home lab tutorial blogs. His guides inspired the initial scope of my project and helped me through many difficult endeavors. If you are thinking about pursuing a home lab project similar to mine, I highly recommend checking out his website.
GitHub Projects
The repository and code sharing site GitHub hosts millions of products that are made available for anyone to view and download. In order to give credit to the original authors, below are the projects that became part of my own environment.
- 4t Timer: In one of DLFord's blogs, he creates a simple timer app and sets it up as a proof-of-concept web application. He also put the code on GitHub for anyone to use. I decided to run the app as a second web server, demonstrating the usefulness of my reverse proxy. You can access DLFord's GitHub project here.
- Minecraft Docker Image: I was originally planning to run my Minecraft server natively on a VM. When I started exploring the possibility of using Docker, I found that someone had already done the work to make a container for it. You can check out their source files at github.com/itzg.
Open Source Software
The open source community is full of incredibly talented people who make their work available for anyone to use for free. Several enterprise-grade products, like those listed below, ask for a paid subscription to access their dedicated support resources. But if you are content to rely on community forums, wiki's, and your own problem solving skills, the complete feature set of the software is available at no cost.
- ProxMox: Managing several virtual machines concurrently is only feasible with hypervisor software. ProxMox Virtual Environment is the fully-featured open source hypervisor that I used as the backbone of my virtual network. You can download the latest ISO for yourself on their downloads page. Their community forums are a good place to go for product announcements and crowd-sourced feedback if you run into any issues.
- pfSense: No open source firewall is as ubiquitous as pfSense. This was my immediate go-to for securing the border between my regular home network my virtual environment. Like most other open source projects, anyone can download and use pfSense for free.
- Ubuntu: There are many different versions of Linux available for open source use. For my project I went with Ubuntu, a popular distribution with a focus on enterprise applications. All of my virtual machines are running Ubuntu Server. For users that want to try Ubuntu on their personal computer, or prefer a GUI experience, there is also Ubuntu Desktop.
Internet Resources
The internet is full of specialized knowledge, but sometimes the information you need can be hard to find or difficult to trust. This list contains some of the resources I defaulted to when I forgot how an HTML element worked, or needed a quick tutorial on a CLI command. I hope you can also find some of your answers in these places. Please know that I am not officially affiliated with any of these sites or businesses in any capacity.
- DigitalOcean: This company is primarily a cloud service provider, but their free community tutorials are an excellent resource for specific knowledge areas. I viewed various tutorials for Linux, Apache, and Docker during my project, but they have thousands of resources on other topics as well.
- W3Schools: If you are looking for free coding tutorials, I highly recommend W3Schools. They have resources for several languages, from Python to Django. Many of their tutorials focus on HTML, CSS, JavaScript, and other web development tools. This is always the first place I go if I need to remind myself how something works in HTML.
- Stack Overflow: Every coder I know has heard of Stack Overflow. This community forum site is a vast repository of IT knowledge. If you can't find the answer to your question in an existing post, you can create an account and ask it yourself.