home-lab icon indicating copy to clipboard operation
home-lab copied to clipboard

Documentation and configurations for my home lab

The brooks.network Home Lab

This repository is a collection of configuration files for my home lab.

Each subdirectory has a README.md outlining what the service is, how you can find out more information, and any notes of things to watch out for if you're looking to set it up yourself.

Installation

The docker/ directory assumes that you use Docker Compose. Each directory has a docker-compose.yml file that will spin up the appropriate containers for you.

Installation is as simple as:

cd <project directory>
sudo docker-compose up -d

Some docker-compose.yml files are made for specific architectures (x86-64, arm64, etc), so keep an eye out for any configurations that you may need to change to run on your infrastructure.

Previous to this repostiory, I had each of these configurations stored in a multi-file Gist as the docker run commands. I've found that Docker Compose is a straight forward, declaritive way to manage these configurations.

The Home Lab

I run two Intel NUC7 i5s. Each has 32GB of RAM, and one has 1TB of disk space, and the other has 256GB. They both run Clear Linux, an incredibly lightweight distribution of Linux that has support for downtimeless updates and a great community on IRC. My motivation towards using it was based heavily on Sophie Haskin's blog article on setting up a home hypervisor. On each NUC, there are a variety of VMs. There are also a few Docker containers that run on the host(s).

If you're interested in setting up KVM on Clear Linux, I've blogged about it over here.

In addition to the NUC, I have a Ubiquiti EdgeRouter X, and my ISP is the community-owned, net-neutral NYC Mesh. A Ubiquiti UAP-AC-Pro is the access point for my apartment.

This is all monitored by Grafana:

grafana