created, modified, type, tags, aliases
| created |
modified |
type |
tags |
aliases |
| 2026-07-30 |
2026-07-30 |
note |
|
|
Home Network Map
Overview
| Network |
Router/Gateway |
| Subnet |
192.168.20.0/24 |
| Gateway |
192.168.20.1 |
| DNS |
Pi-hole on .13 (primary) + .35 (secondary) |
Machines
.27 — sam-4screen-desktop (Main Desktop)
| Property |
Value |
| IP |
192.168.20.27 |
| Hostname |
sam-4screen-desktop |
| OS |
NixOS |
| SSH |
✅ sam@192.168.20.27 |
| Tailscale |
✅ Installed, service enabled |
| Role |
Daily driver. 4 monitors, 62GB RAM, Nvidia GPU. Zellij, Neovim, pi coding agent. |
| Key services |
pi, pi-dashboard, Neovim, Zellij (with falcode + attention plugins), Home Manager managed |
.13 — nixos-desktop (Server)
| Property |
Value |
| IP |
192.168.20.13 |
| Hostname |
nixos-desktop |
| OS |
NixOS |
| SSH |
✅ sam@192.168.20.13 |
| Tailscale |
✅ services.tailscale.enable = true; |
| Role |
Docker host, OmniRoute LLM proxy, always-on server. 15.5GB RAM. |
| Docker containers |
|
| OmniRoute |
LLM proxy with combo routing (port 20128/20129) |
| worldmonitor |
Geopolitical news dashboard (port 3002) |
| mosquitto |
MQTT broker |
| pihole |
DNS ad-blocking (primary) |
| nebula-sync |
Pi-hole Gravity sync |
| headroom |
Context compression proxy (port 8787) |
| engram |
Journaling service (port 7437) |
| n8n |
Workflow automation |
| voice_bridge + voice_whisper |
MQTT audio bridge |
| piper_tts |
Text-to-speech |
| Plus: pocketbase, doorbell_media, litellm, langfuse, airflow, trigger_dev, garage, t3_stack_react, sams-home-network |
|
See Docker Containers for full container list.
.51 — sam-thinkpad (Laptop)
| Property |
Value |
| IP |
192.168.20.51 |
| Hostname |
sam-thinkpad |
| OS |
NixOS |
| SSH |
✅ sam@192.168.20.51 |
| Tailscale |
✅ Installed, service enabled |
| Role |
Portable laptop. Used on-the-go and at home. pi, Neovim, Home Manager managed. |
.35 — caddy-server (Reverse Proxy)
| Property |
Value |
| IP |
192.168.20.35 |
| Hostname |
caddy-server |
| OS |
Ubuntu Server |
| SSH |
✅ sam@192.168.20.35 |
| Tailscale |
Not installed |
| Role |
Caddy reverse proxy. Runs ~50 Docker containers (apps, dashboards, media, monitoring). |
Proxied domains:
| Domain |
Proxied to |
omniroute.lab.audasmedia.com.au |
.13:20129 |
omniroute.home.lab |
.13:20129 |
worldmonitor.lab.audasmedia.com.au |
.13:3002 |
worldmonitor.home.lab |
.13:3002 |
See Docker Containers for full container list on .35.
.150 — Phone (Android)
| Property |
Value |
| IP |
192.168.20.150 (static) |
| Device |
Android phone |
| SSH |
✅ Termux → ssh from/to other machines (port 8022, user: uO_a499) |
| Tailscale |
Optional (install app for remote access) |
| Role |
Mobile access. Termux for SSH, Tailscale for remote, NTFY for notifications. |
SSH Access Matrix
| From ↓ / To → |
.27 desktop |
.13 server |
.51 laptop |
.35 caddy |
.150 phone |
| .27 desktop |
— |
sam@192.168.20.13 |
sam@192.168.20.51 |
sam@192.168.20.35 |
uO_a499@192.168.20.150:8022 |
| .13 server |
sam@192.168.20.27 |
— |
sam@192.168.20.51 |
sam@192.168.20.35 |
uO_a499@192.168.20.150:8022 |
| .51 laptop |
sam@192.168.20.27 |
sam@192.168.20.13 |
— |
sam@192.168.20.35 |
uO_a499@192.168.20.150:8022 |
| .150 phone |
sam@192.168.20.27 |
sam@192.168.20.13 |
sam@192.168.20.51 |
sam@192.168.20.35 |
— (Termux local) |
SSH config shortcut (~/.ssh/config):
(Added to .27 and .51. .13 needs home.nix update — ~/.ssh/config is a Nix store symlink.)
Key Apps & Ports
| Port |
Service |
Machine |
22 |
SSH |
All |
53 |
DNS (Pi-hole) |
.13, .35 |
80/443 |
Caddy reverse proxy |
.35 |
1883 |
MQTT (Mosquitto) |
.13 |
3002 |
worldmonitor |
.13 |
8022 |
SSH (Termux) |
.150 phone |
8022 |
SSH (Termux) |
.150 phone |
20128/20129 |
OmniRoute |
.13 |
7437 |
engram |
.13 |
8787 |
Headroom proxy |
.13 |
Tailscale (Tailnet)
| Machine |
Status |
Tailscale IP |
| .27 |
✅ Auth needed (tailscale up --accept-routes) |
100.x.x.x |
| .13 |
✅ Auth needed (tailscale up --accept-routes) |
100.x.x.x |
| .51 |
✅ Auth needed (tailscale up --accept-routes) |
100.x.x.x |
| .150 phone |
❌ Not installed |
— |
| .35 caddy |
❌ Not installed |
— |
Run tailscale up --accept-routes on each machine to authenticate. Install Tailscale app on phone and sign in to same account.
DNS
| Server |
IP |
Role |
| Pi-hole (primary) |
192.168.20.13 |
DNS ad-blocking, local DNS for .home.lab domains |
| Pi-hole (secondary) |
192.168.20.35 |
DNS ad-blocking, failover |
Local domains needing DNS records
| Domain |
Target |
Status |
omniroute.home.lab |
.13:20128 |
✅ Created |
omniroute.lab.audasmedia.com.au |
.35→.13:20129 |
✅ Caddy proxied |
worldmonitor.home.lab |
.13:3002 |
❌ Needs Pi-hole record |
worldmonitor.lab.audasmedia.com.au |
.35→.13:3002 |
❌ Needs DNS + Caddy done |