Files
Homelab/Indeling.adoc
2025-12-09 22:20:24 +01:00

207 lines
5.5 KiB
Plaintext
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

= Homelab-overzicht
Jasper <you@example.com>
: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 APs 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 LXCs, 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/LXCs (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/<lxc-naam>` 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 LXCs.
* **Compose-stacks** in `/srv/stacks/<stacknaam>` 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.