{"id":20231801,"url":"https://github.com/bswinnerton/home-lab","last_synced_at":"2025-04-10T18:07:22.426Z","repository":{"id":56756432,"uuid":"144915931","full_name":"bswinnerton/home-lab","owner":"bswinnerton","description":"Documentation and configurations for my home lab","archived":false,"fork":false,"pushed_at":"2025-02-23T17:09:13.000Z","size":374,"stargazers_count":43,"open_issues_count":0,"forks_count":5,"subscribers_count":7,"default_branch":"master","last_synced_at":"2025-03-24T15:47:34.049Z","etag":null,"topics":["ansible","docker-compose","homelab","infrastructure-as-code","kubernetes","kvm"],"latest_commit_sha":null,"homepage":"https://brooks.network","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/bswinnerton.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2018-08-16T00:18:36.000Z","updated_at":"2025-02-23T17:09:16.000Z","dependencies_parsed_at":"2023-02-09T20:31:04.088Z","dependency_job_id":null,"html_url":"https://github.com/bswinnerton/home-lab","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bswinnerton%2Fhome-lab","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bswinnerton%2Fhome-lab/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bswinnerton%2Fhome-lab/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bswinnerton%2Fhome-lab/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bswinnerton","download_url":"https://codeload.github.com/bswinnerton/home-lab/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248266838,"owners_count":21075253,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ansible","docker-compose","homelab","infrastructure-as-code","kubernetes","kvm"],"created_at":"2024-11-14T07:49:24.543Z","updated_at":"2025-04-10T18:07:22.409Z","avatar_url":"https://github.com/bswinnerton.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"# The brooks.network Home Lab\n\nThis repository is a collection of configuration files for my home lab.\n\nEach 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.\n\n## Installation\n\nThe [`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.\n\nInstallation is as simple as:\n\n```\ncd \u003cproject directory\u003e\nsudo docker-compose up -d\n```\n\nSome `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.\n\nPrevious 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.\n\n## The Home Lab\n\nI 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).\n\nIf 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/).\n\nIn 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.\n\nThis is all monitored by [Grafana](./containers/grafana/):\n\n![grafana](https://user-images.githubusercontent.com/934497/44185068-2a718000-a0e0-11e8-8201-b33aabf922e0.png)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbswinnerton%2Fhome-lab","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbswinnerton%2Fhome-lab","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbswinnerton%2Fhome-lab/lists"}