My homelab documentation; network/system diagrams, config files, scripts and anything else.
- DNS Server (Bind9 on pi-m)(to-do: Use gitzone to version control zone files)
- DHCP Server
- Raspberry Pi Kubernetes Cluster, where most of these services are hosted
- Prometheus (K8s deployment)
- Grafana (K8s deployment)
- Grafana dashboard: Homelab monitoring, weather radar, traffic map, calorie count, strava metrics, tasks?
- Discord/Telegram public IP bot
- Youtube DL (Microservice/deployment)
- Samba DC
- NTP Server
- Prometheus snmp_exporter (K8s deployment)
- qBitTorrent
- MDADM USB Array on a Raspberry Pi as an NFS/SMB share (Mostly for read operations, as the USBs won't handle many write cycles)
- rr suite (Prowlarr, Lidarr, Sonarr, Radarr)
- Torrent-exclusive VPN
- Wireguard VPN for outside access
- DynDNS
- PVE (Proxmox Virtual Environment on my Dell R620)
- To add service matrix(table)
- Changelog for tracking
Prometheus/Grafana setup in the picluster.
NET | VLAN | CIDR | GW | DNS | DHCP | DHCP Range | Static IPs Range |
---|---|---|---|---|---|---|---|
192 | N/A | 192.168.1.0/24 | 192.168.1.1 | ??? | 192.168.1.1 | .151 to .200 | .1 to .150 |
172 | N/A | 172.17.0.0/16 | 172.17.0.254 | ??? | 172.17.0.254 | .69.0 to .69.255 | .0.1 to .10.255 |
K8s pods | N/A | 172.18.0.0/16 | N/A | N/A | N/A | N/A | N/A |
HOSTNAME | DEVICE | NIC | MAC | BOND/LACP | IP | CONNECTED TO |
---|---|---|---|---|---|---|
pi-x | Raspberry Pi 3 B+ | eth0 | b8:27:eb:d5:c0:15 | N/A | 172.17.0.2 | gs1920 P18 |
pi-y | eth0 | b8:27:eb:57:ef:a8 | N/A | 172.17.0.3 | gs1920 P20 | |
pi-z | eth0 | b8:27:eb:be:ae:a3 | N/A | 172.17.0.4 | gs1920 P22 | |
pi-m | Raspberry Pi 5 8GB | eth0 | 2c:cf:67:26:4a:55 | N/A | 172.17.0.1 | gs1920 P24 |
z10 | My Workstation | NICX | 00-00-00-00-00-00 | N/A | 172.17.0.10 | gs1920 PX |
NIC2 | 00-00-00-00-00-04 | N/A | X | gs1920 PX | ||
NIC3 | 00-00-00-00-00-04 | N/A | X | gs1920 PX | ||
erx | UbiQuiti EdgeRouter X | ETH0 | 00-00-00-00-00-03 | N/A | X | 3505vw ETH1 |
ETH1 | 00-00-00-00-00-04 | bond0 | N/A | gs1920 P6 | ||
ETH2 | 00-00-00-00-00-05 | N/A | gs1920 P8 | |||
ETH3 | 00-00-00-00-00-05 | N/A | X | gs1920 PX | ||
ETH4 | 00-00-00-00-00-05 | N/A | X | gs1920 PX | ||
3505vw | HGU Askey 3505VW | ETH1 | 00-00-00-00-00-03 | N/A | X | X |
ETH2 | 00-00-00-00-00-04 | N/A | X | X | ||
ETH3 | 00-00-00-00-00-05 | N/A | X | X | ||
ETH4 | 00-00-00-00-00-05 | N/A | X | X | ||
r620 | Dell PowerEdge R620 | NIC1 | 00-00-00-00-00-00 | N/A | 172.17.0.100 | XX |
NIC2 | 00-00-00-00-00-04 | N/A | X | XX | ||
NIC3 | 00-00-00-00-00-05 | N/A | X | XX | ||
NIC4 | 00-00-00-00-00-05 | N/A | X | XX | ||
NIC5 | 00-00-00-00-00-05 | N/A | X | XX | ||
gs1920 | ZyXEL GS1920-24 | NICX | 00-00-00-00-00-00 | N/A | 172.17.0.253 | XX |
I have tried different ways of documenting my homelab environment (simple .txt files, docs, spreadsheets). The simplicity of a git repo and having everything condensed on a README.md is really convenient, easy to access, modify, track and share.
Yes, sharing my internal network in such detail goes against all and any security practices. That being said, I'm realistically a target to no one.