# Structured Content for Infrastructure Map Infographic

## Title
Complete Infrastructure Map — Amraj's Homelab & Cloud

## Learning Objectives
1. Visualize complete infrastructure from physical hardware to cloud services
2. Understand Tailscale mesh topology connecting all nodes
3. Display Nginx Proxy Manager routing for all *.svoraj.me domains
4. Illustrate backup flow: Proxmox → PBS → Scaleway S3
5. Show Cloudflare Zero Trust Tunnel path for public access
6. Highlight Oracle 1GB fix (IP updated in NPM from 100.84.44.111 to 100.108.170.2)
7. Display all 24 Docker services organized by functional category

## Sections

### Section 1: Physical Hardware Layer
**Key Concept:** Physical network perimeter and endpoints
**Content:** 
- Fastweb Modem (WAN gateway)
- Powerline AV1000 (Ethernet over electrical wiring)
- Switch 5 Porte (5-port unmanaged switch)
- ThinkPad T495 (DHCP LAN, Tailscale: 100.126.188.38 — OFFLINE)
- Dell Optiplex 3060 SFF → Proxmox Host (192.168.1.200 LAN / 100.92.204.81 Tailscale)
  - Specs: Intel i5-8500T, 32GB RAM, 512GB NVMe + 2TB HDD

**Visual Element:** Top row of hardware icons with connection lines (WAN → Modem → Powerline → Switch → Dell/ThinkPad)
**Labels:** IP addresses, connection types (WAN, Powerline, LAN), offline status for T495

### Section 2: Proxmox Virtualization Layer
**Key Concept:** Hypervisor hosting VMs and LXC containers
**Content:**
- Node: pve (192.168.1.200 LAN / 100.92.204.81 Tailscale)
- Hostname: pve.svoraj.me

#### Subsection 2.1: VM 100 - Ubuntu Docker Host (192.168.1.51)
**Docker Services by Category:**

**Reverse Proxy & Management:**
- nginx-proxy-manager (jc21/nginx-proxy-manager) - Ports 80/443/81 - *.svoraj.me reverse proxy
- portainer (portainer/portainer-ce) - 9443/8080 - portainer.svoraj.me
- adguard-sync (bakito/adguardhome-sync) - 8080 - Sync AdGuard CT 101

**Productivity & Files:**
- nextcloud (nextcloud:stable + postgres) - 8082 - cloud.svoraj.me
- paperless-ngx (paperless-ngx + redis) - 8000 - docs.svoraj.me
- stirling-pdf (frooodle/s-pdf) - 8084 - pdf.svoraj.me
- homepage (gethomepage/homepage) - 3000 - home.svoraj.me

**Media & AI:**
- immich (via CT 103) - 2283 - foto.svoraj.me
- open-webui (ghcr.io/open-webui/open-webui) - 3080 - ai.svoraj.me
- stirling-pdf - 8084 - pdf.svoraj.me

**Monitoring & Security:**
- netdata (netdata/netdata) - 19999 - metrics.svoraj.me
- scrutiny (analogj/scrutiny) - 7000/8081 - hdd.svoraj.me
- crowdsec (crowdsecurity/crowdsec) - 8090 - SIEM
- dozzle (amir20/dozzle) - 8083 - logs.svoraj.me

**Utilities:**
- watchtower (containrrr/watchtower) - Auto-update
- autoheal (willfarrell/autoheal) - Restart unhealthy
- cloudflare-tunnel (cloudflare/cloudflared) - Zero Trust Tunnel
- honeygain_miner / earnapp_miner - Passive income
- vinted-tracker - Internal
- dozzle - 8083 - logs.svoraj.me

**Docker Networks:** 14 custom bridges (172.16-30.0.0/16)

#### Subsection 2.2: LXC Containers
- CT 101 - AdGuard (192.168.1.59 / 100.79.17.56 TS) - DNS filtering
- CT 102 - Proxmox Backup Server (192.168.1.75) - PBS target
- CT 103 - Immich (192.168.1.50) - Photo management
- CT 104 - Tailscale Exit Node (192.168.1.79 / 100.127.83.92 TS) - Exit node
- CT 105 - Tailscale HA Exit (192.168.1.80 / 100.119.176.28 TS) - HA exit

### Section 3: Nginx Proxy Manager (11 Proxy Hosts)
**Key Concept:** Central reverse proxy with Let's Encrypt wildcard SSL (*.svoraj.me, npm-7 cert)

| # | Domain | Target | Port | Service |
|---|--------|--------|------|---------|
| 1 | portainer.svoraj.me | 192.168.1.51 | 8080 | Portainer |
| 2 | pve.svoraj.me | 192.168.1.200 | 8006 | Proxmox (HTTPS backend) |
| 3 | dns.svoraj.me | 192.168.1.59 | 80 | AdGuard CT 101 |
| 5 | home.svoraj.me | 192.168.1.51 | 3000 | Homepage |
| 7 | backup.svoraj.me | 192.168.1.75 | 8007 | PBS CT 102 |
| 8 | npm.svoraj.me | 192.168.1.51 | 81 | NPM Admin |
| 9 | foto.svoraj.me | 192.168.1.50 | 2283 | Immich CT 103 |
| 12 | n8n.svoraj.me | 100.103.216.59 | 5678 | n8n Oracle ARM (TS) |
| 15 | noc.svoraj.me | 100.108.170.2 | 3001 | Oracle 1GB NOC **FIXED** |
| 16 | ai.svoraj.me | 192.168.1.51 | 3080 | Open WebUI |

### Section 4: Cloud Infrastructure

#### Oracle Cloud ARM 24GB (Primary)
- Hostname: testsvo-683465
- Tailscale: 100.103.216.59
- Services: n8n:5678, ollama:11434, glances
- Ghost Agency: 7 cron jobs (briefing 07:00, radar, mailer, sniper, social, competitor, call-followup)

#### Oracle Cloud 1GB Micro - ONLINE ✅
- Hostname: testsvo
- Tailscale: 100.108.170.2
- NOC Dashboard: http://100.108.170.2:3001 → noc.svoraj.me
- Status: ONLINE, HTTP 200 verified

#### Oracle Cloud 1GB ArchLinux - OFFLINE ❌
- Hostname: archlinux
- Tailscale: 100.84.44.111
- Was old noc target, now offline

### Section 5: Tailscale Mesh Network (tail9511a7.ts.net)

| Node | Tailscale IP | Online | Role |
|------|--------------|--------|------|
| pve | 100.92.204.81 | ✅ | Proxmox |
| adguard | 100.79.17.56 | ✅ | CT 101 |
| tailscale | 100.127.83.92 | ✅ | CT 104 Exit |
| tailscale-ha | 100.119.176.28 | ✅ | CT 105 HA Exit |
| testsvo | 100.108.170.2 | ✅ | Oracle 1GB NOC |
| testsvo-683465 | 100.103.216.59 | Self | Oracle ARM 24GB |
| archlinux | 100.84.44.111 | ❌ | Offline |
| svo | 100.90.44.21 | ❌ | Windows offline |
| localhost | 100.126.188.38 | ❌ | ThinkPad T495 offline |

### Section 6: Cloudflare Zero Trust Tunnel
- Container: cloudflare-tunnel on VM 100
- Public Hostnames: *.svoraj.me → Cloudflare Edge → Tunnel → VM 100 NPM
- Issue: QUIC connection instability, noc.svoraj.me timing out
- Fix needed: Dashboard → Zero Trust → Networks → Tunnels → verify noc.svoraj.me → http://100.108.170.2:3001

### Section 7: Backup & Storage Flow
- Proxmox Backup Server (CT 102, 192.168.1.75)
- Schedule: Sun 01:00, snapshot, excludes CT 102
- Target: Local PBS + Scaleway S3 (to configure)
- Scaleway: s3.fr-par.scw.cloud, region fr-par, endpoint s3.fr-par.scw.cloud
- Purpose: Proxmox PBS offsite + Immich library backup

### Section 8: Removed / Not Present
- Authelia: Removed
- Uptime Kuma: Not deployed
- Google e2-micro: Not present
- Google Cloud: Not configured

## Data Points (Exact Values)
- Proxmox: 192.168.1.200 / 100.92.204.81
- VM 100: 192.168.1.51
- CT 101 AdGuard: 192.168.1.59 / 100.79.17.56
- CT 102 PBS: 192.168.1.75
- CT 103 Immich: 192.168.1.50
- CT 104 TS Exit: 192.168.1.79 / 100.127.83.92
- CT 105 TS HA: 192.168.1.80 / 100.119.176.28
- Oracle ARM 24GB: 100.103.216.59
- Oracle 1GB NOC: 100.108.170.2 (FIXED)
- Oracle 1GB Old: 100.84.44.111 (OFFLINE)
- Tailscale mesh: 9 nodes, 6 online
- NPM Proxy Hosts: 11 configured
- Docker containers: 24 on VM 100
- Docker networks: 14 custom bridges
- Backup schedule: Sun 01:00
- Scaleway endpoint: s3.fr-par.scw.cloud

## Design Instructions
- Layout: structural-breakdown (exploded view showing layers)
- Style: technical-schematic (blueprint/engineering aesthetic)
- Color coding by layer:
  - Physical: Orange (#FF8C00)
  - Proxmox Host: Pink (#FF79C6)
  - Docker Services: Cyan (#8BE9FD)
  - LXC Containers: Green (#50FA7B)
  - Cloud/Remote: Amber (#FFB86C)
  - Storage/Backup: Purple (#BD93F9)
- Tailscale mesh: Dashed cyan lines (#8BE9FD, dash=5)
- Backup flow: Dotted purple line (#BD93F9, dash=5)
- Cloudflare Tunnel: Dashed pink line (#FF79C6, dash=5)
- IP addresses and port numbers on all nodes
- Offline nodes: Red/gray with ❌
- Fixed Oracle 1GB: Green checkmark ✅
- Grid background with measurement annotations
- All-caps technical labels
- Aspect ratio: landscape (16:9)