尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證製作者的介紹僅有上面的一句話。 更多詳情請閱讀儲存庫 README。 儲存庫 README ↗
正在載入完整 README。
檢視完整 README ↗Docker is the only requirement. The Kind loop runs the same charts production does, with fakes standing in for 1Password, TrueNAS and the UniFi gateway, and syncs the Applications that need no real hardware — fewer than the production total further down this page.
task localdev:up # Kind (Cilium, registry caches, fakes) → ArgoCD → 65 Applications synced from your working tree
task localdev:report # what is Healthy, and what differs from main
task localdev:down # delete the cluster; the registry caches stay
ArgoCD is on http://localhost:8080 (admin, password in argocd-initial-admin-secret; on macOS run
task localdev:ui first). task verify LEVEL=2 runs the 24 chainsaw suites against it.
task setup # detects your tier: Kind loop by default, production only when asked
task validate -- --environment homelab # the per-tier prerequisite table, with a fix hint per missing row
Production needs three things you bring: a Proxmox VE host with SSH key auth, a 1Password
vault named homelab (op signin), and a UniFi gateway that can speak BGP. Copy
configuration/environments/homelab.yaml.example to homelab.yaml, fill it in (it is gitignored
and PII-guarded), then task setup -- --environment homelab walks Ansible → Terragrunt → GitOps
with a confirmation at each phase. Nothing reaches terragrunt apply without that flag.
| Layer | What runs | Where |
|---|---|---|
| Host | Ansible prepares Proxmox: repos, networking, storcli, IPMI fans, log retention | ansible/ |
| Infra | Terragrunt DAG (11 units): ZFS pools, TrueNAS, Talos images, 3 control planes on NVMe + 3 workers, cluster config, UniFi FRR | terragrunt/ |
| Bridge | gitops-bootstrap installs ArgoCD with the homelab-cmp sidecar, the SOPS age key and the root Application | terragrunt/modules/gitops-bootstrap/ |
| GitOps | app-of-apps: gitops → bootstrap → 40 addons → 17 applications, plus per-PR previews | charts/ |
| Secrets | SOPS + ksops for the bootstrap credentials, 1Password operator for everything else | docs/secrets.md |
| Config | One schema-driven configuration/; the CMP renders values at sync time so no PII is committed | configuration/ |
| Network | Cilium LB IPAM + BGP ⇄ UniFi, Envoy Gateway (envoy-external, envoy-internal; Gateway API, wildcard TLS), external-dns ×2, port-forwarding controller, Tailscale subnet router + split DNS | docs/networking.md |
| Verify | level 0 static (< 5 s) → Kind + ArgoCD + chainsaw → PostSync smoke Jobs in production |
Media · plex · sonarr · radarr · prowlarr · nzbget · tautulli · lazylibrarian · flaresolverr Platform · argocd · grafana · argo-workflows · paperclip · cloudnative-pg · mosquitto · renovate
40 addons and 17 applications, 95 ArgoCD Applications in all. The full table with chart versions,
Gateway and test coverage per app is generated in docs/applications.md.
preview and the PR gets its own namespace in production.task config:guard blocks real IPs, hostnames and e-mail addresses from ever being committed.task docs:check recomputes every version and count on this page from the repo and fails CI when they drift.ansible/ Proxmox host roles and playbooks
terragrunt/ modules + homelab/localdev environments
talos/ packer/ machine config and images
charts/ gitops, bootstrap, addons, applications, child charts
configuration/ schema, environments, versions.yaml, export templates
cmd/ internal/ the `homelab` CLI (Go)
scripts/ Bun (TypeScript) automation the Taskfile runs
localdev/ Kind values and fakes
tests/ e2e (chainsaw), snapshots, policy, drills
docs/ architecture, networking, runbooks, ADRs
Architecture · Networking · Applications · Secrets · Tooling · Hardware · Local development · Runbooks · Decisions
tests/ |