Files
obsidian-vault/300 areas/360 Dev-Ops Network Computers/Home Network Map Overview.md

176 lines
5.8 KiB
Markdown

---
created: 2026-07-30
modified: 2026-07-30
type: note
tags:
- network
- dev-ops
aliases: []
---
# 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). All pi LLM traffic routes through it. Combo `default-opencode-go-ds-flash` prioritises OpenCode-Go before falling through OpenRouter → DeepSeek direct → Google Gemini. See [[Pi Agent Extensions & Skills#OmniRoute — LLM Provider Router]] |
| **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`):**
```text
Host phone
HostName 192.168.20.150
Port 8022
User uO_a499
```
(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 |
| `20129` | OmniRoute API | .13 |
| `20128` | OmniRoute dashboard | .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 |