{"id":13820377,"url":"https://github.com/Jdavid77/home-cluster","last_synced_at":"2025-05-16T10:30:45.244Z","repository":{"id":106560022,"uuid":"562264143","full_name":"Jdavid77/home-cluster","owner":"Jdavid77","description":"Home-Ops using Talos, Flux and Renovate","archived":false,"fork":false,"pushed_at":"2024-10-29T17:52:31.000Z","size":2826,"stargazers_count":4,"open_issues_count":20,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-10-29T19:03:41.415Z","etag":null,"topics":["fluxcd","gitops","home-ops","k8s","k8s-at-home","renovate","selfhosted"],"latest_commit_sha":null,"homepage":"","language":"HCL","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/Jdavid77.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}},"created_at":"2022-11-05T19:54:35.000Z","updated_at":"2024-10-29T17:52:35.000Z","dependencies_parsed_at":"2024-11-05T23:36:50.855Z","dependency_job_id":null,"html_url":"https://github.com/Jdavid77/home-cluster","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/Jdavid77%2Fhome-cluster","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Jdavid77%2Fhome-cluster/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Jdavid77%2Fhome-cluster/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Jdavid77%2Fhome-cluster/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Jdavid77","download_url":"https://codeload.github.com/Jdavid77/home-cluster/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":225423593,"owners_count":17472145,"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":["fluxcd","gitops","home-ops","k8s","k8s-at-home","renovate","selfhosted"],"created_at":"2024-08-04T08:01:02.295Z","updated_at":"2025-05-16T10:30:45.236Z","avatar_url":"https://github.com/Jdavid77.png","language":"HCL","funding_links":[],"categories":["HCL"],"sub_categories":[],"readme":"\u003ch1 align=\"center\"\u003e\u003cdiv align=\"center\"\u003e\n\n\u003cimg src=\"https://upload.wikimedia.org/wikipedia/commons/thumb/3/39/Kubernetes_logo_without_workmark.svg/1055px-Kubernetes_logo_without_workmark.svg.png\" align=\"center\" width=\"200px\" height=\"194px\"/\u003e\n\n### Kubernetes cluster\n\n... managed using Talos, Flux and Renovate\n\n\u003c/div\u003e\n\u003c/h1\u003e\n\n\n\n---\n\n## 📖 Overview\n\nThis repository houses the code responsible for managing my home infrastructure.\n\nThe setup is based on Talos OS. I used [Talhelper](https://budimanjojo.github.io/talhelper/latest/) to generate the initial configs. Following the cluster deployment, Flux continuously monitors this repository for changes, and Renovate is used to handle automated dependency updates.\n\n\n---\n\n## Repository Structure\n\n```\n📁 infrastructure\n└── 📁 talos\n    ├── 📁 clusterconfig  # holds the talos configuration for each node\n    ├── 📁 integrations   # helmfile for initial deployments\n    ├── 📁 patches        # talos patches\n    └── talconfig.yaml\n    └── talsecret.sops.yaml\n📁 k8s\n├── 📁 apps           # applications\n├── 📁 bootstrap      # bootstrap procedures\n└── 📁 flux           # core flux configuration\n📁 terraform\n├── 📁 authentik\n├── 📁 akeyless\n├── 📁 cloudflare\n└── 📁 minio\n\n```\n---\n\n## :wrench:\u0026nbsp; External Third-Party Components\n\nThese tools complement the Kubernetes infrastructure by providing essential functionality for **security**, **automation** and **infrastructure** management\n\n\n\u003ctable\u003e\n            \u003ctr\u003e\n                \u003cth\u003eLogo\u003c/th\u003e\n                \u003cth\u003eTool\u003c/th\u003e\n                \u003cth\u003ePurpose\u003c/th\u003e\n            \u003c/tr\u003e\n            \u003ctr\u003e\n                \u003ctd\u003e\u003cimg width=\"32\" src=\"https://archive.org/download/github.com-mozilla-sops_-_2020-01-23_22-37-00/cover.jpg\" alt=\"Sops logo\" /\u003e\u003c/td\u003e\n                \u003ctd\u003e\u003ca href=\"https://github.com/mozilla/sops\"\u003eSops\u003c/a\u003e\u003c/td\u003e\n                \u003ctd\u003eA flexible tool for managing repository secrets securely.\u003c/td\u003e\n            \u003c/tr\u003e\n            \u003ctr\u003e\n                \u003ctd\u003e\u003cimg width=\"32\" src=\"https://pre-commit.com/logo.svg\" alt=\"Pre-commit logo\" /\u003e\u003c/td\u003e\n                \u003ctd\u003e\u003ca href=\"https://github.com/pre-commit/pre-commit\"\u003ePre-commit\u003c/a\u003e\u003c/td\u003e\n                \u003ctd\u003eEnsures consistency and quality of YAML and shell scripts in the repository.\u003c/td\u003e\n            \u003c/tr\u003e\n            \u003ctr\u003e\n                \u003ctd\u003e\u003cimg width=\"32\" src=\"https://www.svgrepo.com/download/374041/renovate.svg\" alt=\"Renovate logo\" /\u003e\u003c/td\u003e\n                \u003ctd\u003e\u003ca href=\"https://docs.renovatebot.com/\"\u003eRenovate\u003c/a\u003e\u003c/td\u003e\n                \u003ctd\u003eAutomates the detection of new releases and creates pull requests accordingly.\u003c/td\u003e\n            \u003c/tr\u003e\n            \u003ctr\u003e\n                \u003ctd\u003e\u003cimg width=\"32\" src=\"https://cdn.brandfetch.io/idO1RZnoWN/w/400/h/400/theme/dark/icon.png?c=1dxbfHSJFAPEGdCLU4o5B\" alt=\"Akeyless logo\" /\u003e\u003c/td\u003e\n                \u003ctd\u003e\u003ca href=\"https://console.akeyless.io/\"\u003eAkeyless\u003c/a\u003e\u003c/td\u003e\n                \u003ctd\u003eA centralized platform for managing and securing certificates, credentials, and keys.\u003c/td\u003e\n            \u003c/tr\u003e\n            \u003ctr\u003e\n                \u003ctd\u003e\u003cimg width=\"32\" src=\"https://www.svgrepo.com/download/353564/cloudflare.svg\" alt=\"Cloudflare logo\" /\u003e\u003c/td\u003e\n                \u003ctd\u003e\u003ca href=\"https://www.cloudflare.com/en-gb/\"\u003eCloudflare\u003c/a\u003e\u003c/td\u003e\n                \u003ctd\u003eDNS management service for handling domain name resolutions.\u003c/td\u003e\n            \u003c/tr\u003e\n            \u003ctr\u003e\n                \u003ctd\u003e\u003cimg width=\"32\" src=\"https://www.svgrepo.com/download/331413/gmx.svg\" alt=\"GMX logo\" /\u003e\u003c/td\u003e\n                \u003ctd\u003e\u003ca href=\"https://www.gmx.com\"\u003eGMX\u003c/a\u003e\u003c/td\u003e\n                \u003ctd\u003eSMTP service provider for managing email communications.\u003c/td\u003e\n            \u003c/tr\u003e\n            \u003ctr\u003e\n                \u003ctd\u003e\u003cimg width=\"32\" src=\"https://www.svgrepo.com/download/354447/terraform-icon.svg\" alt=\"Terraform logo\" /\u003e\u003c/td\u003e\n                \u003ctd\u003e\u003ca href=\"https://www.terraform.io/\"\u003eTerraform\u003c/a\u003e\u003c/td\u003e\n                \u003ctd\u003eIAC tool for automating the provisioning and management of outside dependencies (Akeyless, Cloudflare, etc...).\u003c/td\u003e\n            \u003c/tr\u003e\n    \u003c/table\u003e\n\n## 🔧 Hardware\n\n\nHardware is a combination of mini PC's and desktop computers. Worker nodes have been upgraded to have more RAM.\n\n\u003ctable\u003e\n        \u003cthead\u003e\n            \u003ctr\u003e\n                \u003cth\u003eDevices\u003c/th\u003e\n                \u003cth\u003eCount\u003c/th\u003e\n                \u003cth\u003eOS Disk Size\u003c/th\u003e\n                \u003cth\u003eRAM\u003c/th\u003e\n                \u003cth\u003eOperating System\u003c/th\u003e\n                \u003cth\u003ePurpose\u003c/th\u003e\n                \u003cth\u003eLinks\u003c/th\u003e\n            \u003c/tr\u003e\n        \u003c/thead\u003e\n        \u003ctbody\u003e\n            \u003ctr\u003e\n                \u003ctd\u003eBmax1-master\u003c/td\u003e\n                \u003ctd\u003e1\u003c/td\u003e\n                \u003ctd\u003e128GB\u003c/td\u003e\n                \u003ctd\u003e8GB\u003c/td\u003e\n                \u003ctd\u003eTalos v1.9.3\u003c/td\u003e\n                \u003ctd\u003eKubernetes Control\u003c/td\u003e\n                \u003ctd\u003e\u003ca href=\"https://www.amazon.es/dp/B0CJM1TDHL?ref=ppx_yo2ov_dt_b_fed_asin_title\"\u003eAmazon Link\u003c/a\u003e\u003c/td\u003e\n            \u003c/tr\u003e\n            \u003ctr\u003e\n                \u003ctd\u003eSoyo1-master\u003c/td\u003e\n                \u003ctd\u003e1\u003c/td\u003e\n                \u003ctd\u003e128GB\u003c/td\u003e\n                \u003ctd\u003e6GB\u003c/td\u003e\n                \u003ctd\u003eTalos v1.9.3\u003c/td\u003e\n                \u003ctd\u003eKubernetes Control\u003c/td\u003e\n                \u003ctd\u003e\u003ca href=\"https://es.aliexpress.com/item/1005006460890415.html?aff_fcid=505c2a4499e846b2a13fde87aa7c7385-1733566005358-08415-_DBcuZW1\u0026tt=CPS_NORMAL\u0026aff_fsk=_DBcuZW1\u0026aff_platform=portals-tool\u0026sk=_DBcuZW1\u0026aff_trace_key=505c2a4499e846b2a13fde87aa7c7385-1733566005358-08415-_DBcuZW1\u0026terminal_id=bb14814936f042d6a7ff280cc2d52e01\u0026afSmartRedirect=y\"\u003eAliExpress Link\u003c/a\u003e\u003c/td\u003e\n            \u003c/tr\u003e\n            \u003ctr\u003e\n                \u003ctd\u003eSoyo2-master\u003c/td\u003e\n                \u003ctd\u003e1\u003c/td\u003e\n                \u003ctd\u003e128GB\u003c/td\u003e\n                \u003ctd\u003e6GB\u003c/td\u003e\n                \u003ctd\u003eTalos v1.9.3\u003c/td\u003e\n                \u003ctd\u003eKubernetes Control\u003c/td\u003e\n                \u003ctd\u003e\u003ca href=\"https://es.aliexpress.com/item/1005006460890415.html?aff_fcid=505c2a4499e846b2a13fde87aa7c7385-1733566005358-08415-_DBcuZW1\u0026tt=CPS_NORMAL\u0026aff_fsk=_DBcuZW1\u0026aff_platform=portals-tool\u0026sk=_DBcuZW1\u0026aff_trace_key=505c2a4499e846b2a13fde87aa7c7385-1733566005358-08415-_DBcuZW1\u0026terminal_id=bb14814936f042d6a7ff280cc2d52e01\u0026afSmartRedirect=y\"\u003eAliExpress Link\u003c/a\u003e\u003c/td\u003e\n            \u003c/tr\u003e\n            \u003ctr\u003e\n                \u003ctd\u003eHp-worker1\u003c/td\u003e\n                \u003ctd\u003e1\u003c/td\u003e\n                \u003ctd\u003e240GB\u003c/td\u003e\n                \u003ctd\u003e20GB\u003c/td\u003e\n                \u003ctd\u003eTalos v1.9.3\u003c/td\u003e\n                \u003ctd\u003eKubernetes Worker\u003c/td\u003e\n                \u003ctd\u003e\u003ca href=\"https://www.amazon.es/HP-Ultra-i5-6500T-Windows-reacondicionado/dp/B09N7RDZS4/ref=sr_1_6?__mk_es_ES=%C3%85M%C3%85%C5%BD%C3%95%C3%91\u0026crid=5P820ES85Z7\u0026dib=eyJ2IjoiMSJ9.9qQ4-jcMh6rXQhtkqIYNbkuJggelF1M_SJlqlGQCAHcPjfxWlB_RU0FJjyMfb5oLuK-EeHupVLktRPePaLSwtwdZ7UQAqRcTE5AMdeSt_JjvXJwN9xP6tJkSVZjvfnjWuzPe8JcUNuhgvE089AjHcfb12wMdPstVMotSvYjhYQ_05eUlY7gpmrHbT2Jft-Ljk2Ix8umRel2DZfzKF0IlCsnZKfNFdo3iZJw2ZBARp1hkbWDRgB75yWnJt-AB_L4kQz10EiF2DByt4qxn3lz0RHoxzUSz9KPzSKDfTF2atRiZXWV8Ey9c5a32K-jHafQLTMc8p4kq9g-CEAYojjwSNLr7Da6Rjk1jvH6aH-tEAREpncDfcedtqGgQm9icJW9kNtFuZVyKm4-X5I3Rdn_l9jFVhkBINkUZngDQFjwQCS-ILYQlFBjqnBatzGrkQI-u.QPP6rbbL-trb_zb96HCzozMA-Gitd5ibCVXwhXsrAf0\u0026dib_tag=se\u0026keywords=hp+minipc+800+g4\u0026qid=1740177891\u0026sprefix=hp+mini+pc+800+g%2Caps%2C213\u0026sr=8-6\"\u003eAmazon Link\u003c/a\u003e\u003c/td\u003e\n            \u003c/tr\u003e\n            \u003ctr\u003e\n                \u003ctd\u003eHp-worker2\u003c/td\u003e\n                \u003ctd\u003e1\u003c/td\u003e\n                \u003ctd\u003e240GB\u003c/td\u003e\n                \u003ctd\u003e28GB\u003c/td\u003e\n                \u003ctd\u003eTalos v1.9.3\u003c/td\u003e\n                \u003ctd\u003eKubernetes Worker\u003c/td\u003e\n                \u003ctd\u003e\u003ca href=\"https://www.amazon.es/dp/B0792TQ4XS?ref=ppx_yo2ov_dt_b_fed_asin_title\"\u003eAmazon Link\u003c/a\u003e\u003c/td\u003e\n            \u003c/tr\u003e\n            \u003ctr\u003e\n                \u003ctd\u003eHp-worker3\u003c/td\u003e\n                \u003ctd\u003e1\u003c/td\u003e\n                \u003ctd\u003e240GB\u003c/td\u003e\n                \u003ctd\u003e32GB\u003c/td\u003e\n                \u003ctd\u003eTalos v1.9.3\u003c/td\u003e\n                \u003ctd\u003eKubernetes Worker\u003c/td\u003e\n                \u003ctd\u003e\u003ca href=\"https://www.amazon.es/dp/B0792TQ4XS?ref=ppx_yo2ov_dt_b_fed_asin_title\"\u003eAmazon Link\u003c/a\u003e\u003c/td\u003e\n            \u003c/tr\u003e\n            \u003ctr\u003e\n                \u003ctd\u003eRaspberry PI 4\u003c/td\u003e\n                \u003ctd\u003e1\u003c/td\u003e\n                \u003ctd\u003e3TB (2 + 1)\u003c/td\u003e\n                \u003ctd\u003e8GB\u003c/td\u003e\n                \u003ctd\u003ePi OS\u003c/td\u003e\n                \u003ctd\u003eNAS - OpenMediaVault\u003c/td\u003e\n                \u003ctd\u003e\u003c/td\u003e\n            \u003c/tr\u003e\n            \u003ctr\u003e\n                \u003ctd\u003eTP-Link LS108G\u003c/td\u003e\n                \u003ctd\u003e1\u003c/td\u003e\n                \u003ctd\u003e-\u003c/td\u003e\n                \u003ctd\u003e-\u003c/td\u003e\n                \u003ctd\u003e-\u003c/td\u003e\n                \u003ctd\u003eSwitch\u003c/td\u003e\n                \u003ctd\u003e\u003c/td\u003e\n            \u003c/tr\u003e\n        \u003c/tbody\u003e\n    \u003c/table\u003e\n\n  ---\n\n### Applications\n\n#### Infrastruture Related\n\n\u003ctable\u003e\n    \u003ctr\u003e\n        \u003cth\u003eLogo\u003c/th\u003e\n        \u003cth\u003eName\u003c/th\u003e\n        \u003cth\u003eDescription\u003c/th\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n        \u003ctd\u003e\u003cimg width=\"32\" src=\"https://cdn.jsdelivr.net/gh/walkxcode/dashboard-icons/svg/cert-manager.svg\"\u003e\u003c/td\u003e\n        \u003ctd\u003e\u003ca href=\"https://cert-manager.io/\"\u003eCert Manager\u003c/a\u003e\u003c/td\u003e\n        \u003ctd\u003eLet's Encrypt Certificates for SSL/TLS\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n        \u003ctd\u003e\u003cimg width=\"32\" src=\"https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/cilium.svg\"\u003e\u003c/td\u003e\n        \u003ctd\u003e\u003ca href=\"https://cilium.io/\"\u003eCilium\u003c/a\u003e\u003c/td\u003e\n        \u003ctd\u003eCNI \u003c/td\u003e\n    \u003c/tr\u003e\n        \u003ctr\u003e\n        \u003ctd\u003e\u003cimg width=\"32\" src=\"https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcQuQSJXRx5KbH4dtzk4dxVgw0Gtgk264x_TXw\u0026s\"\u003e\u003c/td\u003e\n        \u003ctd\u003e\u003ca href=\"https://longhorn.io/\"\u003eLonghorn\u003c/a\u003e\u003c/td\u003e\n        \u003ctd\u003eDistributed block storage for POD's persistent volumes \u003c/td\u003e\n    \u003c/tr\u003e\n    \u003c/tr\u003e\n        \u003ctr\u003e\n        \u003ctd\u003e\u003cimg width=\"32\" src=\"https://cdn.worldvectorlogo.com/logos/minio-1.svg\"\u003e\u003c/td\u003e\n        \u003ctd\u003e\u003ca href=\"https://min.io/\"\u003eMinio\u003c/a\u003e\u003c/td\u003e\n        \u003ctd\u003eS3 Object storage\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n        \u003ctd\u003e\u003cimg width=\"32\" src=\"https://www.svgrepo.com/download/530451/dns.svg\"\u003e\u003c/td\u003e\n        \u003ctd\u003e\u003ca href=\"https://github.com/kubernetes-sigs/external-dns\"\u003eExternal DNS\u003c/a\u003e\u003c/td\u003e\n        \u003ctd\u003eSynchronizes exposed Kubernetes Services and Ingresses with DNS providers.\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n        \u003ctd\u003e\u003cimg width=\"32\" src=\"https://api.civo.com/k3s-marketplace/kubernetes-external-secrets.png\"\u003e\u003c/td\u003e\n        \u003ctd\u003e\u003ca href=\"https://external-secrets.io/latest/\"\u003eExternal Secrets Operator\u003c/a\u003e\u003c/td\u003e\n        \u003ctd\u003eUsed with Akeyless Platform to retrieve and push secrets\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n        \u003ctd\u003e\u003cimg width=\"32\" src=\"https://cdn.worldvectorlogo.com/logos/traefik-1.svg\"\u003e\u003c/td\u003e\n        \u003ctd\u003e\u003ca href=\"https://traefik.io/traefik/\"\u003eTraefik\u003c/a\u003e\u003c/td\u003e\n        \u003ctd\u003eReverse proxy and Ingress controller\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n        \u003ctd\u003e\u003cimg width=\"32\" src=\"https://cdn.brandfetch.io/id7QyaLp8E/w/768/h/768/theme/dark/logo.png?c=1dxbfHSJFAPEGdCLU4o5B\"\u003e\u003c/td\u003e\n        \u003ctd\u003e\u003ca href=\"https://tailscale.com/kb/1236/kubernetes-operator\"\u003eTailscale Operator\u003c/a\u003e\u003c/td\u003e\n        \u003ctd\u003eSecure access to Kubernetes\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n        \u003ctd\u003e\u003cimg width=\"32\" src=\"https://www.svgrepo.com/download/353564/cloudflare.svg\"\u003e\u003c/td\u003e\n        \u003ctd\u003e\u003ca href=\"https://github.com/cloudflare/cloudflared\"\u003eCloudflared\u003c/a\u003e\u003c/td\u003e\n        \u003ctd\u003eCloudflare Tunnel client\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n        \u003ctd\u003e\u003cimg width=\"32\" src=\"https://avatars.githubusercontent.com/u/33050221?v=4\"\u003e\u003c/td\u003e\n        \u003ctd\u003e\u003ca href=\"https://github.com/kubernetes-csi/csi-driver-nfs\"\u003eCSI Driver NFS\u003c/a\u003e\u003c/td\u003e\n        \u003ctd\u003eAllows Kubernetes to access NFS server\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n        \u003ctd\u003e\u003cimg width=\"32\" src=\"https://avatars.githubusercontent.com/u/104819355?v=4\"\u003e\u003c/td\u003e\n        \u003ctd\u003e\u003ca href=\"https://www.dragonflydb.io/docs/getting-started/kubernetes-operator\"\u003eDragonfly\u003c/a\u003e\u003c/td\u003e\n        \u003ctd\u003eModern in-memory datastore, fully compatible with Redis and Memcached APIs\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n        \u003ctd\u003e\u003cimg width=\"32\" src=\"https://avatars.githubusercontent.com/u/47803932?s=48\u0026v=4\"\u003e\u003c/td\u003e\n        \u003ctd\u003e\u003ca href=\"https://volsync.readthedocs.io/en/stable/\"\u003eVolsync\u003c/a\u003e\u003c/td\u003e\n        \u003ctd\u003ePVC backups using Restic\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n        \u003ctd\u003e\u003cimg width=\"32\" src=\"https://static-00.iconduck.com/assets.00/authentik-orange-icon-512x391-4kzut6y1.png\"\u003e\u003c/td\u003e\n        \u003ctd\u003e\u003ca href=\"https://goauthentik.io/\"\u003eAuthentik\u003c/a\u003e\u003c/td\u003e\n        \u003ctd\u003eOpen source identity provider\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n        \u003ctd\u003e\u003cimg width=\"32\" src=\"https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/flux-cd.svg\"\u003e\u003c/td\u003e\n        \u003ctd\u003e\u003ca href=\"https://fluxcd.io/\"\u003eFlux CD\u003c/a\u003e\u003c/td\u003e\n        \u003ctd\u003eGitOps tool of choice\u003c/td\u003e\n    \u003c/tr\u003e\n\u003c/table\u003e\n\n---\n\n### NAS\n\nThe backbone of my home storage infrastructure is built on a Raspberry Pi 4 running [OpenMediaVault](https://www.openmediavault.org/), a dedicated network-attached storage solution. The system utilizes two SSDs (2TB + 1TB) configured to store:\n\n-   Media content (books, audiobooks)\n-   Longhorn volume backups\n-   System configurations\n-   Docker Containers Data\n\nThe NAS hosts several essential containers:\n\n\u003ctable\u003e\n    \u003ctr\u003e\n        \u003cth\u003eService\u003c/th\u003e\n        \u003cth\u003eDescription\u003c/th\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n        \u003ctd\u003e\u003ca href=\"https://www.postgresql.org/\"\u003ePostgres\u003c/a\u003e\u003c/td\u003e\n        \u003ctd\u003eReliable relational database for persistent data storage\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n        \u003ctd\u003e\u003ca href=\"https://pi-hole.net/\"\u003ePI-Hole\u003c/a\u003e\u003c/td\u003e\n        \u003ctd\u003eNetwork-wide ad blocking and local DNS management\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n        \u003ctd\u003e\u003ca href=\"Tailscale exit node egressing over NordVPN\"\u003eTailNord\u003c/a\u003e\u003c/td\u003e\n        \u003ctd\u003eTailscale exit node egressing over NordVPN\u003c/td\u003e\n    \u003c/tr\u003e\n\u003c/table\u003e\n\n\n---\n\n## Gratitude and Thanks\n\nThanks to all the people who donate their time to the [Home Operations](https://discord.gg/home-operations) Discord\ncommunity. Be sure to check out [kubesearch.dev](https://kubesearch.dev/) for ideas on how to deploy applications or get\nideas on what you may deploy.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FJdavid77%2Fhome-cluster","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FJdavid77%2Fhome-cluster","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FJdavid77%2Fhome-cluster/lists"}