{"id":20088317,"url":"https://github.com/jhillyerd/homelab","last_synced_at":"2025-05-06T02:32:47.107Z","repository":{"id":40449675,"uuid":"258697188","full_name":"jhillyerd/homelab","owner":"jhillyerd","description":"nixos + nomad configs for my homelab","archived":false,"fork":false,"pushed_at":"2025-05-03T16:01:53.000Z","size":1030,"stargazers_count":27,"open_issues_count":2,"forks_count":3,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-05-03T17:19:02.402Z","etag":null,"topics":["consul","nixos","nomad"],"latest_commit_sha":null,"homepage":"","language":"Nix","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jhillyerd.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2020-04-25T05:45:30.000Z","updated_at":"2025-04-28T00:37:49.000Z","dependencies_parsed_at":"2023-12-21T09:31:29.557Z","dependency_job_id":"5dc07a82-dbc9-412a-9264-56a07d6b0178","html_url":"https://github.com/jhillyerd/homelab","commit_stats":null,"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jhillyerd%2Fhomelab","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jhillyerd%2Fhomelab/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jhillyerd%2Fhomelab/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jhillyerd%2Fhomelab/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jhillyerd","download_url":"https://codeload.github.com/jhillyerd/homelab/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252609803,"owners_count":21775882,"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":["consul","nixos","nomad"],"created_at":"2024-11-13T16:13:28.276Z","updated_at":"2025-05-06T02:32:47.102Z","avatar_url":"https://github.com/jhillyerd.png","language":"Nix","funding_links":[],"categories":["Infrastructure setup"],"sub_categories":["Automation and Infrastructure Management"],"readme":"# homelab\n\n- `ansible`: My ansible config to capture telemetry and syslogs from Raspberry\n  Pis.\n- `baseimage`: Flakes for generating minimal NixOS images for VMs and SD cards.\n- `esphome`: My esphome (ESP32 + Home Assistant) configs.\n- `nixos`: My NixOS home lab system configs flake.\n\n## Diagrams\n\n### Machines\n\n```mermaid\ngraph TD\n    wan((WAN)) --- gw{{Gateway}}\n    gw --- lan{LAN}\n    nc1(\"nc-um350-1\u003cbr/\u003e(nomad client)\") --- lan\n    nc2(\"nc-um350-2\u003cbr/\u003e(nomad client)\") --- lan\n    nas(\"skynas\u003cbr/\u003e(NAS)\") --- lan\n    lan --- pve1\n    lan --- pve2\n    lan --- pve3\n    subgraph pve1 [\"pve1 (hypervisor)\"]\n        direction RL\n        nexus(\"nexus\")\n        witness(\"witness\")\n    end\n    subgraph pve2 [\"pve2 (hypervisor)\"]\n        direction RL\n        kube2(\"kube2\")\n        scratch(\"scratch\")\n    end\n    subgraph pve3 [\"pve3 (hypervisor)\"]\n        direction RL\n        ci-runner1(\"ci-runner1\")\n        eph(\"eph\")\n        fastd(\"fastd\")\n        kube1(\"kube1\")\n        metrics(\"metrics\")\n        web(\"web\")\n    end\n```\n\n### Monitoring\n\n```mermaid\ngraph LR\n    ha([home assistant]) ---\u003e influxdb\n    subgraph nixos [\"all nixos nodes\"]\n        nix-telegraf([telegraf])\n        nix-syslog([syslog])\n    end\n    subgraph nomad-nodes [\"all nomad client nodes\"]\n        nomad([nomad client]) --\u003e nomad-telegraf([telegraf])\n        docker([docker logs]) --\u003e nomad-vector([vector])\n    end\n    subgraph metrics [\"node: metrics\"]\n        metrics-telegraf([\"telegraf\u003cbr/\u003e- ping checks\u003cbr/\u003e- url checks\"])\n        metrics-telegraf --\u003e influxdb([influxdb])\n        loki([loki])\n        nix-telegraf ---\u003e influxdb\n        nix-syslog ---\u003e loki\n        nomad-telegraf --\u003e influxdb\n        nomad-vector --\u003e loki\n    end\n    influxdb -.-\u003e grafana([grafana])\n    loki -.-\u003e grafana\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjhillyerd%2Fhomelab","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjhillyerd%2Fhomelab","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjhillyerd%2Fhomelab/lists"}