dtoro b42a986cc0 wiki: document 2026-05-21 netbird vanilla migration
Updates to four pages reflecting the combined → vanilla mgmt+signal+relay+coturn
cutover and the IONOS-3478-firewall-exception discovery:

* infrastructure/mesh.md — rewrites the ICE/STUN section to cover the new
  TURN endpoint, the IONOS upstream TCP-3478 filtering (load-bearing,
  undocumented before today), and the verification probe. New changelog
  entry covering the migration outcome + Device Code Stage gap.

* infrastructure/vps-hardening.md — "At a glance" lists the new 6-service
  docker stack + host coturn. Firewall section notes the new
  `iifname ens6 tcp dport 3478 accept` rule plus the IONOS upstream
  exception. New changelog entry.

* containers/124-authentik.md — replaces the "Netbird IdP integration —
  DEFERRED" section with the LANDED state: Provider details (Public
  client type — Confidential breaks PKCE on the dashboard SPA), the
  first-time owner-promotion sqlite recipe, the missing Device Code
  Stage gap + workaround (setup-keys), and a note that the old 2026-04-22
  pre-work Provider/App is now obsolete and safe to delete. Updated
  changelog (Phase 6 landed).

* operations/agent-enrollment.md — new "Getting onto Netbird" subsection
  explaining the setup-key path (currently the only working flow until
  Device Code Stage lands) and why direct OIDC from the public internet
  fails (auth.hubris.network is mesh-only-reachable). Prerequisites table
  row updated to point at the new section.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-21 13:48:01 +02:00
2026-05-20 19:29:47 +02:00
2026-05-20 19:29:47 +02:00
2026-04-28 22:53:09 +02:00

Homelab Wiki — hubris

Living documentation for the hubris Proxmox homelab. Every node, every cross-cutting system, and every meaningful incident is its own page; pages are linked so you can start anywhere and walk the graph.

Last refreshed against live state: 2026-04-28.

Map

Hosts

  • hubris — single Proxmox VE node, GMKtec NucBox M6 Ultra, 192.168.8.77

VMs

LXC containers

See the full table in containers/index.md. Quick links:

ID Name IP Role
101 jellyfin 192.168.8.206 Media server
102 nfs-export 192.168.8.200 NFSv4 re-export of /mnt/library for ZimaOS
103 paperless 192.168.8.130 Document mgmt
104 gitea 192.168.8.121 Git server
105 apps 192.168.8.205 Docker host (Artifacto / Booklore / PlantUML / Portainer / WriteFreely)
114 nextcloud 192.168.8.224 Personal cloud
118 elementsynapse 192.168.8.239 Matrix Synapse
119 sophia 192.168.8.157 Sophia
120 mule-images 192.168.8.136 Mule-image / mulita photos
121 caddy 192.168.8.175 Reverse proxy
122 arriman 192.168.8.132 Docker host (*arr stack)
123 claudio-bot 192.168.8.230 Matrix control plane
124 authentik 192.168.8.180 SSO + split-horizon DNS
126 plato 192.168.8.190 Plato (notes/discovery workspace)

Cross-cutting infrastructure

Investigations

Time-stamped incident notes / experiments in investigations/.

Operations

Conventions

  • Each node page ends with a ## Changelog section. Reverse-chronological. Entry format:
    ### YYYY-MM-DD — short title
    one or two lines on what changed and why.
    
  • Cross-linking is mandatory. If a page references another node or system, link to it. Treat orphans as a bug.
  • Live state wins. When something here disagrees with pct config / docker inspect / running config, fix the wiki and note the change in the relevant changelog.
  • Tracked configs. A node whose config lives in a Gitea repo (Caddy, Gitea customizations, Artifacto, mule-image, claudio-bot) is auto-deployed via webhook — see auto-deploy. Edits there must be pushed, not left local.
  • No secrets. This is a private repo on git.hubris.network, but still: paths to secret files are fine, secret values are not.

Maintaining this wiki

When you change a node:

  1. Update the relevant page (config snapshot, ports, mounts).
  2. Add a changelog entry at the bottom of that page.
  3. If the change touches a cross-cutting system (DNS, Caddy, Authentik, mesh), update that page too and link it from the changelog entry.
  4. If it's an incident, add an entry to investigations/.

See also

Description
Agentic OS for running a Homelab
Readme 37 MiB
Languages
Go 53.1%
Svelte 25.7%
TypeScript 14%
Shell 3.8%
Python 1.7%
Other 1.5%