Network Overview

Home lab network infrastructure.

Network Details

PropertyValue
Subnet192.168.1.0/24
Gateway192.168.1.1
DNS192.168.1.50 (Pi-hole + Unbound recursive)
RouterASUS RT-AX82U

πŸ–₯️ Hosts (Verified 2026-02-02)

IPHostnameTypePurposePorts
192.168.1.1GatewayRouterASUS RT-AX82Uβ€”
192.168.1.10npmLXCNginx Proxy Manager (OpenResty)22, 80, 81, 443
192.168.1.16clawdbotLXCOld Clawdbot/SOTCD container22
192.168.1.20docker1LXCDocker stack (Portainer, Uptime Kuma, Vaultwarden)22, 8080
192.168.1.50piholeLXCPi-hole DNS + ad blocking22, 53, 80, 443
192.168.1.60wireguardLXCWireGuard VPN Server22, 51821/UDP
192.168.1.144proxmoxBare metalProxmox VE Hypervisor22, 8006
192.168.1.156pop-osBare metalMain workstation22, 3030, 8000, 8081, 32400
192.168.1.214ShadowMasterWindowsDJ Bot / Stream PC22, 8080

πŸ’Ύ Storage Allocations

PathPurposeSize
/mnt/storage/knowledge-rag/chroma_dbChromaDB vector store16GB+ (growing)
/mnt/storage/books_organizedBook corpus for RAG~500GB
/mnt/storage/QB_kruse_pateronQuantum Biology corpusTBD

ChromaDB migrated 2026-02-02 from root drive to prevent exhaustion


🐳 Docker Services

pop-os (192.168.1.156) - Local Workstation

ContainerPortPurpose
plex32400Media server
paperless8000Document management
stirling-pdf8081PDF tools
paperless-redis6379 (internal)Redis for Paperless
ollama11434 (localhost)Local LLM inference

docker1 (192.168.1.20)

ContainerPortPurpose
Portainer8080Docker management
Uptime KumaTBDStatus monitoring
VaultwardenTBDPassword manager

πŸ” VPN Configuration

NordVPN (pop-os Local) - WORKING CONFIG (2026-02-03)

SettingValueNotes
TechnologyNordLynx (WireGuard)
Routingenabledβœ… Works with proper allowlists
FirewallenabledRequired by Kill Switch
Kill Switchenabled
DNS192.168.1.1Router/Pi-hole
LAN DiscoverydisabledMust be OFF to use subnet allowlists

Allowlisted Subnets:

192.168.1.0/24   # LAN + Pi-hole
172.17.0.0/16    # Docker bridge
172.18.0.0/16    # Docker bridge  
172.19.0.0/16    # Docker bridge
127.0.0.0/8      # Localhost

Allowlisted Ports:

53/UDP       # DNS (Pi-hole)
3030/UDP+TCP # Quartz (NPM proxy)
8096/UDP+TCP # Jellyfin

Pi-hole Whitelist (REQUIRED):

api.telegram.org
telegram.org
api.anthropic.com
anthropic.com

βœ… Fixed 2026-02-02: VPN routing works when Pi-hole has API domains whitelisted and NordVPN has LAN/Docker subnets allowlisted. LAN Discovery must be OFF to use subnet allowlists.

WireGuard Server (192.168.1.60)

PropertyValue
Port51821/UDP (custom, default+1)
Router forward51821/UDP β†’ 192.168.1.60:51821

🌍 Domain & DNS

Domain Assets

DomainRegistrarPurposeStatus
shdwnet.orgPorkbunThe Signal from SOTCD projectβœ… VPS only
shdwnet.cloudPorkbunInfrastructure + reverse proxy servicesβœ… Live

GitHub Repos

RepoPurposeDeployment
red40mademedoit/shdwnet.orgThe Signal sourceVPS (manual)
red40mademedoit/notes.shdwnet.orgQuartz notes sourceLocal PM2 (version control only)

βœ… Migration Complete (2026-02-03)

All reverse proxies migrated from shdwnet.org β†’ shdwnet.cloud. Both domains operational.

DomainPurpose
shdwnet.orgThe Signal from SOTCD (VPS only)
notes.shdwnet.cloudQuartz/Obsidian notes (local PM2 + NPM)
*.shdwnet.cloudAll reverse proxy services

Cleanup performed 2026-02-03:

  • ❌ Deleted Cloudflare Pages project notes-shdwnet-org (was deploying to wrong domain)
  • ❌ Disabled GitHub Pages on red40mademedoit/shdwnet.org repo (placeholder no longer needed)
  • βœ… Notes now served locally: PM2 (npx quartz build --serve) β†’ NPM β†’ notes.shdwnet.cloud
  • βœ… Port 3030 added to NordVPN allowlist for NPMβ†’Quartz connectivity

Internal DNS (Pi-hole v6) - Split-Horizon Setup

See Split-Horizon DNS Guide for full details.

HostnameIPNotes
pi.hole192.168.1.50Pi-hole admin
shdwnet.cloud192.168.1.10β†’ NPM (root)
notes.shdwnet.cloud192.168.1.10β†’ NPM β†’ Quartz (PM2 :3030)
plex.shdwnet.cloud192.168.1.10β†’ NPM β†’ Plex
vault.shdwnet.cloud192.168.1.10β†’ NPM β†’ Vaultwarden
uptime.shdwnet.cloud192.168.1.10β†’ NPM β†’ Uptime Kuma
pulse.shdwnet.cloud192.168.1.10β†’ NPM β†’ Uptime Kuma (alias)
paperless.shdwnet.cloud192.168.1.10β†’ NPM β†’ Paperless-ngx
portainer.shdwnet.cloud192.168.1.10β†’ NPM β†’ Portainer
netdata.shdwnet.cloud192.168.1.10β†’ NPM β†’ VPS:19998
proxmox.shdwnet.cloud192.168.1.144Direct (internal only)

Active shdwnet.cloud Subdomains (NPM)

SubdomainTargetServiceSSL
notes.shdwnet.cloudpop-os:3030Quartz notesβœ…
plex.shdwnet.cloudpop-os:32400Plexβœ…
paperless.shdwnet.cloudpop-os:8000Paperless-ngxβœ…
vault.shdwnet.clouddocker1:443Vaultwardenβœ…
uptime.shdwnet.clouddocker1:3001Uptime Kumaβœ…
pulse.shdwnet.clouddocker1:3001Uptime Kuma (alias)βœ…
portainer.shdwnet.clouddocker1:9443Portainerβœ…
netdata.shdwnet.cloudVPS:19998Netdata monitoringβœ…

πŸ—οΈ Architecture

Internet
    β”‚
    β”œβ”€β”€ shdwnet.org (Cloudflare β†’ VPS) βœ… LIVE
    β”‚    └── The Signal from SOTCD (SHDWNET Dashboard)
    β”‚
    β”œβ”€β”€ shdwnet.cloud (Cloudflare β†’ NPM) βœ… LIVE
    β”‚    β”œβ”€β”€ notes.shdwnet.cloud β†’ pop-os:3030 (Quartz)
    β”‚    β”œβ”€β”€ plex.shdwnet.cloud β†’ pop-os:32400
    β”‚    β”œβ”€β”€ paperless.shdwnet.cloud β†’ pop-os:8000
    β”‚    β”œβ”€β”€ vault.shdwnet.cloud β†’ docker1:443
    β”‚    β”œβ”€β”€ uptime/pulse.shdwnet.cloud β†’ docker1:3001
    β”‚    β”œβ”€β”€ portainer.shdwnet.cloud β†’ docker1:9443
    β”‚    └── netdata.shdwnet.cloud β†’ VPS:19998
    β”‚    β”œβ”€β”€ uptime.shdwnet.cloud β†’ docker1:uptime
    β”‚    └── paperless.shdwnet.cloud β†’ pop-os:8000
    β”‚
    └── Router / Gateway (192.168.1.1)
         β”‚
         β”œβ”€β”€ NPM Reverse Proxy (.10)
         β”‚    └── *.shdwnet.cloud β†’ internal services
         β”‚
         β”œβ”€β”€ WireGuard VPN (.60:51821/UDP)
         β”‚
         β”œβ”€β”€ Pi-hole DNS (.50)
         β”‚
         β”œβ”€β”€ docker1 (.20)
         β”‚    β”œβ”€β”€ Portainer
         β”‚    β”œβ”€β”€ Uptime Kuma
         β”‚    └── Vaultwarden
         β”‚
         β”œβ”€β”€ Proxmox Hypervisor (.144)
         β”‚    β”œβ”€β”€ LXC: NPM (.10)
         β”‚    β”œβ”€β”€ LXC: Pi-hole (.50)
         β”‚    β”œβ”€β”€ LXC: WireGuard (.60)
         β”‚    β”œβ”€β”€ LXC: docker1 (.20)
         β”‚    └── LXC: clawdbot (.16) [legacy]
         β”‚
         β”œβ”€β”€ Pop!_OS Workstation (.156)
         β”‚    β”œβ”€β”€ Docker: Plex, Paperless, Stirling
         β”‚    β”œβ”€β”€ Ollama (localhost)
         β”‚    └── NordVPN (NordLynx)
         β”‚
         └── ShadowMaster Windows (.214)
              └── SuperCollider / SOTCD Stream

πŸ”§ SSH Access Quick Reference

# Proxmox hosts (key: github_ed25519)
ssh -i ~/.ssh/github_ed25519 root@192.168.1.16   # clawdbot
ssh -i ~/.ssh/github_ed25519 root@192.168.1.10   # npm (if configured)
 
# docker1
ssh root@192.168.1.20
 
# ShadowMaster (Windows)
ssh -i ~/.ssh/id_ed25519 shdwadmin@192.168.1.214

πŸ“ Notes

  • NordVPN + LAN Issue: NordVPN routing conflicts with local Docker/DNS. Keep routing disabled or configure split tunneling.
  • clawdbot (.16): Legacy container, old SOTCD configs at /root/.moltbot/ and /root/clawd/
  • WireGuard custom port: Using 51821 instead of 51820 to avoid conflicts