Skip to content

Services

Most services run as LXC containers or Docker Compose stacks on the Proxmox cluster. Node is the Proxmox host; VMs/CTs live in the Servers VLAN unless noted.

Infrastructure

Service Node Purpose
Traefik erebus Reverse proxy + TLS for internal & tunneled services
Cloudflare Tunnel (cloudflared) erebus Exposes select services publicly without open ports
Pi-hole (primary) erebus DNS + ad-blocking
Pi-hole (secondary) Raspberry Pi DNS failover
NUT server nyx UPS monitoring, triggers graceful shutdown
Proxmox Backup Server vault Backup target for all VMs/CTs

Media & files

Service Node Purpose
Jellyfin styx Media streaming
Sonarr / Radarr / Prowlarr styx Media acquisition/management
qBittorrent (behind VPN container) styx Download client
Nextcloud nyx File sync, calendar, contacts
Immich nyx Photo library + backup from phones

Home & automation

Service Node Purpose
Home Assistant erebus Home automation hub, Zigbee via USB coordinator
Zigbee2MQTT erebus Zigbee device bridge
Mosquitto erebus MQTT broker

Monitoring & ops

Service Node Purpose
Grafana nyx Dashboards
Prometheus + node_exporter nyx Metrics collection
Uptime Kuma erebus External-facing uptime checks
Vaultwarden erebus Self-hosted password manager

Kubernetes (experimental)

styx also runs a single-node k3s cluster used for testing manifests before they'd theoretically move to a "real" multi-node setup. Nothing production depends on it yet — see Roadmap.

Public-facing (via Cloudflare Tunnel)

Only these are reachable from the internet, all behind Cloudflare Access (SSO + MFA) except Immich's public share links:

  • photos.j7c.xyz → Immich
  • status.j7c.xyz → Uptime Kuma public status page
  • homelab.j7c.xyz → this docs site (Worker, not tunneled — see repo README)