From efe854b6afda15ae7e84fe1cc989d7ea4891c549 Mon Sep 17 00:00:00 2001 From: jasper Date: Tue, 9 Dec 2025 22:20:24 +0100 Subject: [PATCH] Add Indeling.adoc --- Indeling.adoc | 207 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 207 insertions(+) create mode 100644 Indeling.adoc diff --git a/Indeling.adoc b/Indeling.adoc new file mode 100644 index 0000000..bafdac5 --- /dev/null +++ b/Indeling.adoc @@ -0,0 +1,207 @@ += 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. \ No newline at end of file