--- import BaseLayout from '../layouts/BaseLayout.astro'; ---

Homelab Status

h0melab.uk · Edinburgh · fetching uptime…

Architecture

internet
Cloudflare rcosta.uk · DNS · Email routing
edge
OPNsense 26.1 · GeoIP · WireGuard · Unbound
core
Proxmox VE 2-node cluster · VLAN trunk
ZFS · zfs-oporto RAIDZ2 · 4×HDD · NFS exports
kubernetes
Control Plane kubeadm · Cilium CNI
Worker ×2 Longhorn · Flux GitOps
Ingress Traefik · Authelia · cert-manager
services
{[ ['Grafana', 'monitoring'], ['VictoriaMetrics', 'metrics'], ['Netdata', 'telemetry'], ['Paperless', 'documents'], ['Immich', 'photos'], ['Linkwarden', 'bookmarks'], ['Jellyfin', 'media'], ['Gitea', 'git'], ['Authelia', 'SSO'], ['Homepage', 'dashboard'], ['ntfy', 'notifications'], ['Stalwart', 'mail (paused)'], ].map(([name, role]) => (
{name} {role}
))}

Live Metrics

Auto-refreshes every 30s ·

HOST ROLE CPU RAM LOAD STATUS

Network I/O (last 5 min average)


Service Map

All services live under *.int.h0melab.uk · Authelia SSO on everything external-facing

{[ { domain: 'auth.h0melab.uk', name: 'Authelia', desc: 'SSO / 2FA gateway', public: true, }, { domain: 'grafana.int.h0melab.uk', name: 'Grafana', desc: 'Dashboards · VictoriaMetrics source', public: false, }, { domain: 'netdata.int.h0melab.uk', name: 'Netdata', desc: 'Per-node real-time telemetry', public: false, }, { domain: 'immich.int.h0melab.uk', name: 'Immich', desc: 'Photo backup & browse', public: false, }, { domain: 'paperless.int.h0melab.uk', name: 'Paperless-ngx', desc: 'Document archive · OIDC auth', public: false, }, { domain: 'chatai.h0melab.uk', name: 'Open WebUI', desc: 'Local LLM · Ollama backend', public: false, }, { domain: 'git.int.h0melab.uk', name: 'Gitea', desc: 'Internal Git repos', public: false, }, { domain: 'home.h0melab.uk', name: 'Homepage', desc: 'Dashboard · FC Porto widget', public: false, }, ].map(svc => (
{svc.name} {svc.public ? public : internal }
{svc.domain}

{svc.desc}

))}