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