= Homelab-overzicht Jasper :toc: Dit document beschrijft de huidige homelab-indeling: Proxmox hosts, netwerksegmenten, LXC-containers en hun IP-adressen / rollen. == Netwerk === VLAN-indeling [cols="1,2,2,4",options="header"] |=== | VLAN | Subnet | Voorbeeld gateway | Doel | LAN | 192.168.2.0/24 | 192.168.2.1 | Primair LAN voor clients, servers, beheer, management-interfaces. | IoT (VLAN 50) | 10.0.50.0/24 | 10.0.50.1 | IoT-apparaten (lampen, sensoren, etc.). Beperkte toegang richting LAN. | DMZ (VLAN 60) | 10.0.60.0/24 | 10.0.60.1 | Publiek toegankelijke services (o.a. Helium HNT miner). | Guest | (bijv. 10.0.70.0/24) | 10.0.70.1 | Gasten-WiFi, volledig gescheiden van LAN/IoT. |=== === Belangrijke netwerk-apparatuur [cols="2,2,3,5",options="header"] |=== | Apparaat | IP-adres | Locatie / VLAN | Opmerking | OPNsense VM | 192.168.2.1 | LAN | Default gateway, VLAN-routing, firewall, DNS (via AdGuard). | UniFi Controller | 192.168.2.8 | LAN | Beheer UniFi AP’s en switches (traefik: `unifi.japnet.nl` → https://192.168.2.8:8443). | Periphery host (japloader) | 192.168.2.80 | LAN | Docker host voor Komodo Periphery (`8120/tcp`). |=== == Proxmox hosts [cols="2,2,3,5",options="header"] |=== | Hostnaam | Platform | Opslag | Rol | N5105-mini | Proxmox VE | NVMe + evt. SSD | Draait o.a. OPNsense-VM, Traefik, (toekomst) SSO / Authentik. | fast (i3) | Proxmox VE 9 | ZFS pool `octopus` | Hoofdserver voor LXC-containers (NAS, media, arr-stack, tools). |=== == LXC-containers (services) Onderstaande tabel beschrijft de belangrijkste LXC’s, hun IP-adressen en de services die erin draaien. [cols="2,2,2,3,5",options="header"] |=== | Naam LXC | Host | IP-adres | Dataset / mounts | Belangrijkste services / rol | japnas | fast | 192.168.2.xx | `/octopus/media` en `/octopus/documents` als SMB/NFS | Centrale NAS: SMB-shares voor clients, NFS voor Proxmox/LXC’s (bijv. `/octopus/documents/appdata`). | japmedia | fast | 192.168.2.71 | * `/rpool/appdata/japmedia` → `/srv/appdata` * `/octopus/media/movies` → `/srv/media/movies` * `/octopus/media/series` → `/srv/media/series` * `/octopus/media/music` → `/srv/media/music` * `/octopus/media/recordings` → `/srv/media/recordings` | Media-server LXC: * Jellyfin (traefik: `jellyfin.japnet.nl` → http://192.168.2.71:8096) * TVHeadend (HDHomeRun input) * (optioneel) Zigbee2MQTT / Home Assistant integraties * iGPU passthrough voor hardware transcoding | japarr | fast | 192.168.2.72 | * `/rpool/appdata/japarr` → `/srv/appdata` * `/octopus/media/downloads` → `/srv/downloads` (bijv. `/srv/downloads/complete`, `/srv/downloads/incomplete`) | Download- en Arr-stack LXC: * Sonarr, Radarr, Prowlarr, (SabNZBd/NZBGet), Transmission * Gluetun / andere VPN-container voor usenet/torrent-verkeer * Traefik-router bestand `arr.yml` (bijv. `sonarr.japnet.nl`, `radarr.japnet.nl`, `prowlarr.japnet.nl`) | japloader | fast | 192.168.2.80 | * `/srv/stacks` → Komodo stacks * `/srv/appdata` → Komodo & Periphery data | Infra-/orchestratie LXC: * Komodo Periphery (exposed op `8120/tcp`) * Overige helper-services/tools voor deploy (bijv. scripts, kleine utils). | japops | fast | 192.168.2.xx | * `/srv/appdata/komodo` → Komodo core * `/srv/appdata/monitoring` (optioneel) | “Ops”-LXC: * Komodo Core (stacks orchestratie) * Monitoring / observability (bijv. Prometheus, Grafana) * Ntfy/Smtp bridge voor alerts (toekomst). | japgit | fast | 192.168.2.xx | * `/srv/appdata/gitea` → Gitea data | Git- en CI-omgeving: * Gitea (traefik: `git.japnet.nl` of `gitea.japnet.nl`) * (optioneel) Drone CI / Woodpecker * Repos voor infra (`infra-auth`, `infra-media`, `infra-arr`, …). | japauth | N5105-mini | 192.168.2.xx | * `/srv/appdata/authentik` | Authenticatie LXC (gepland): * Authentik voor OIDC / SSO * Integratie met traefik (forwardAuth) en apps (Jellyfin, Gitea, etc.). |=== == Traefik & DNS Traefik draait op de N5105-host en stuurt verkeer vanuit Cloudflare / internet naar de juiste backend (LXC of VM) op het LAN. === Voorbeelden hostnames [cols="2,3,5",options="header"] |=== | Hostname | Backend | Opmerking | `unifi.japnet.nl` | https://192.168.2.8:8443 | UniFi controller, TLS passthrough / re-encrypt. | `jellyfin.japnet.nl` | http://192.168.2.71:8096 | Jellyfin in `japmedia` LXC. | `sonarr.japnet.nl` | http://192.168.2.72:8989 | Sonarr in `japarr` LXC. | `radarr.japnet.nl` | http://192.168.2.72:7878 | Radarr in `japarr` LXC. | `prowlarr.japnet.nl` | http://192.168.2.72:9696 | Prowlarr in `japarr` LXC. | `git.japnet.nl` | http://192.168.2.xx:3000 | Gitea in `japgit` LXC. | `komodo.japnet.nl` | http://192.168.2.xx:port | Komodo Core in `japops` LXC. |=== == Naming-conventies * **LXC-namen** beginnen met `jap…` en geven de functie aan (`japmedia`, `japarr`, `japnas`, `japops`, …). * **Data** per LXC in ZFS datasets onder `/rpool/appdata/` en in de container gemount op `/srv/appdata`. * **Media** centraal in ZFS pool `octopus` (bijv. `/octopus/media/movies`, `/octopus/media/series`, …) en read-only gemount in de relevante LXC’s. * **Compose-stacks** in `/srv/stacks/` binnen de LXC, met `.env`-bestanden en traefik dynamic config onder `/etc/traefik/dynamic/`. == TODO / nog bijwerken * Exacte IP-adressen invullen voor `japnas`, `japops`, `japgit`, `japauth`. * Overzicht toevoegen van gebruikte Docker-netwerken per LXC. * Schema toevoegen (diagram) van verkeer: internet → Cloudflare → Traefik → LXC/VM.