Add Indeling.adoc
This commit is contained in:
207
Indeling.adoc
Normal file
207
Indeling.adoc
Normal file
@@ -0,0 +1,207 @@
|
|||||||
|
= 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 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/<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 LXC’s.
|
||||||
|
* **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.
|
||||||
Reference in New Issue
Block a user