Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/bswinnerton/home-lab
Documentation and configurations for my home lab
https://github.com/bswinnerton/home-lab
ansible docker-compose homelab infrastructure-as-code kubernetes kvm
Last synced: about 1 month ago
JSON representation
Documentation and configurations for my home lab
- Host: GitHub
- URL: https://github.com/bswinnerton/home-lab
- Owner: bswinnerton
- Created: 2018-08-16T00:18:36.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2023-01-14T20:31:26.000Z (almost 2 years ago)
- Last Synced: 2023-03-27T12:16:41.178Z (over 1 year ago)
- Topics: ansible, docker-compose, homelab, infrastructure-as-code, kubernetes, kvm
- Language: Shell
- Homepage: https://brooks.network
- Size: 350 KB
- Stars: 41
- Watchers: 7
- Forks: 5
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# 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/`](./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
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 i5](https://www.intel.com/content/www/us/en/products/boards-kits/nuc/kits/nuc7i5bnk.html)s. 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](https://blog.sophaskins.net/blog/setting-up-a-home-hypervisor/) on setting up a home hypervisor. On each NUC, there are a variety of [VMs](./ansible/roles/libvirt/files/kvms/). There are also a few [Docker containers](./docker/) that run on the host(s).
If you're interested in setting up KVM on Clear Linux, I've blogged about it over [here](https://brooks.sh/2017/12/22/configuring-kvm-on-clear-linux/).
In addition to the NUC, I have a Ubiquiti [EdgeRouter X](https://www.ubnt.com/edgemax/edgerouter-x/), and my ISP is the community-owned, net-neutral [NYC Mesh](https://nycmesh.net/). A Ubiquiti UAP-AC-Pro is the access point for my apartment.
This is all monitored by [Grafana](./containers/grafana/):
![grafana](https://user-images.githubusercontent.com/934497/44185068-2a718000-a0e0-11e8-8201-b33aabf922e0.png)