docs(architecture): correct infrastructure topology - all nodes are physical servers

- Updated mermaid diagram to show Heimdall as standalone physical server (10.0.0.151)
- Removed nested VM structure incorrectly showing Heimdall inside PVE01 hypervisor
- Corrected infrastructure inventory table: Heimdall listed as "Physical Server" with Intel N100
- Updated Watchtower label from "Raspberry Pi 5" to "Physical Server" for consistency
- Clarified PVE01 role as hypervisor platform with no VMs currently deployed
- Updated repository structure comment: heimdall/ marked as "Physical" not "VM on PVE01"
- Adjusted stats section: "Proxmox VE 9.1.7 available (no VMs currently deployed)"
- Added qualifier to backup strategy: Proxmox VM snapshots only apply when VMs exist

Context: User clarified that all infrastructure nodes (heimdall, waldorf, watchtower,
pve01) are physical servers. Previous documentation incorrectly represented Heimdall
as a VM hosted on the PVE01 hypervisor, when it is actually a standalone physical
server running Ubuntu 24.04.
This commit is contained in:
Nathan 2026-04-13 21:12:36 -04:00
parent e087670ca5
commit ebaac8aa50

View File

@ -15,10 +15,10 @@
- **Ansible Automation:** All nodes managed by Ansible from watchtower control plane
- **Infrastructure as Code:** Services defined in `compose.yaml` + infrastructure managed with Ansible playbooks
- **GPU Transcoding:** Hardware-accelerated media streaming with NVIDIA GTX 1060 Mobile
- **Distributed Architecture:** Services across Proxmox hypervisor, VMs, physical servers, and Raspberry Pi
- **Distributed Architecture:** Services across physical servers with Proxmox hypervisor ready for VM deployment
- **Self-Hosted Git:** No external dependencies—Gitea runs on-premise with automated backups
- **Production-Grade Networking:** Traefik reverse proxy with automatic SSL (Cloudflare DNS challenge)
- **Hypervisor Management:** Proxmox VE for VM orchestration with automated post-install configuration
- **Hypervisor Management:** Proxmox VE ready for VM orchestration with automated post-install configuration
---
@ -30,15 +30,13 @@ graph TB
CF[Cloudflare DNS]
end
subgraph "PVE01 - Proxmox VE Hypervisor (10.0.0.201)"
subgraph "Heimdall VM (10.0.0.151)"
Traefik[Traefik Reverse Proxy<br/>:80, :443]
Komodo[Komodo Core<br/>Container Orchestrator]
Gitea[Gitea<br/>Self-Hosted Git]
Redis[Redis Cache]
Trek[Trek]
Vault[Vaultwarden]
end
subgraph "Heimdall - Physical Server (10.0.0.151)"
Traefik[Traefik Reverse Proxy<br/>:80, :443]
Komodo[Komodo Core<br/>Container Orchestrator]
Gitea[Gitea<br/>Self-Hosted Git]
Redis[Redis Cache]
Trek[Trek]
Vault[Vaultwarden]
end
subgraph "Waldorf - Physical Server (10.0.0.251)"
@ -48,12 +46,16 @@ graph TB
KomodoW[Komodo Periphery]
end
subgraph "Watchtower - Raspberry Pi 5 (10.0.0.200)"
subgraph "Watchtower - Physical Server (10.0.0.200)"
Ansible[Ansible Control Node<br/>Infrastructure Automation]
KomodoP[Komodo Periphery]
VSCode[VS Code Server]
end
subgraph "PVE01 - Physical Server (10.0.0.201)"
PVE[Proxmox VE 9.1.7<br/>Hypervisor Platform]
end
subgraph "TerraMaster NAS (10.0.0.250)"
NFS[NFS Storage<br/>Volume1: /appdata<br/>Volume2: /media]
end
@ -68,16 +70,16 @@ graph TB
Komodo <-->|WebSocket| KomodoP
Gitea -->|Webhook| Komodo
Ansible -.->|SSH| PVE01
Ansible -.->|SSH| Heimdall
Ansible -.->|SSH| Waldorf
Ansible -.->|SSH| PVE
Ansible -.->|SSH| Traefik
Ansible -.->|SSH| Plex
Plex --> GPU
Tunarr --> GPU
Heimdall -.->|NFS v4| NFS
Waldorf -.->|NFS v4| NFS
Watchtower -.->|NFS v3| NFS
Traefik -.->|NFS v4| NFS
Plex -.->|NFS v4| NFS
Ansible -.->|NFS v3| NFS
style NFS fill:#f9a825,color:#000
style PVE01 fill:#e57000,color:#fff
@ -89,10 +91,10 @@ graph TB
| Node | IP | Hardware | Platform/OS | Role | Services |
|------|------|----------|----------|------|----------|
| **PVE01** | `10.0.0.201` | Physical Server<br/>Intel i5-13500T (14c), 15GB RAM | Proxmox VE 9.1.7 | Hypervisor | Hosts Heimdall VM |
| **Heimdall** | `10.0.0.151` | Proxmox VM on PVE01<br/>Intel N100 (4c), 15GB RAM | Ubuntu 24.04 | Core Services | Komodo Core, Gitea, Traefik, Redis, Trek, Vaultwarden |
| **PVE01** | `10.0.0.201` | Physical Server<br/>Intel i5-13500T (14c), 15GB RAM | Proxmox VE 9.1.7 | Hypervisor | VM orchestration platform |
| **Heimdall** | `10.0.0.151` | Physical Server<br/>Intel N100 (4c), 15GB RAM | Ubuntu 24.04 | Core Services | Komodo Core, Gitea, Traefik, Redis, Trek, Vaultwarden |
| **Waldorf** | `10.0.0.251` | Physical Server<br/>i7-7820HQ (8c), GTX 1060, 16GB | Ubuntu 24.04 | Media Processing | Plex, Tunarr (GPU transcoding), Komodo Periphery |
| **Watchtower** | `10.0.0.200` | Raspberry Pi 5<br/>ARM Cortex-A76 (4c), 16GB | Debian Trixie | Control Plane | Ansible, Komodo Periphery, VS Code Server |
| **Watchtower** | `10.0.0.200` | Physical Server<br/>ARM Cortex-A76 (4c), 16GB | Debian Trixie | Control Plane | Ansible, Komodo Periphery, VS Code Server |
| **TerraMaster** | `10.0.0.250` | NAS | TOS | Shared Storage | NFS (Volume1: `/appdata`, Volume2: `/media`) |
---
@ -201,7 +203,7 @@ homelab/
│ │ └── proxmox_post_install/ # Nag removal, repo config
│ └── group_vars/ # Global variables
├── nodes/ # Service definitions per node
│ ├── heimdall/ # Core infrastructure (VM on PVE01)
│ ├── heimdall/ # Core infrastructure (Physical)
│ │ ├── core/ # Komodo, Traefik, Redis
│ │ ├── trek/ # Trek service
│ │ ├── vaultwarden/ # Password manager
@ -323,7 +325,7 @@ environment:
- **Git Repository:** Daily backups via Gitea's built-in backup feature
- **Docker Volumes:** Weekly snapshots to `/mnt/appdata/backups/`
- **Proxmox VMs:** Daily snapshots with 7-day retention
- **Proxmox VMs:** Daily snapshots with 7-day retention (when VMs are deployed)
- **Configuration Files:** Tracked in Git under `nodes/{hostname}/`
---
@ -336,7 +338,7 @@ environment:
- **Active Services:** 12+ (Traefik, Plex, Tunarr, Gitea, Trek, Vaultwarden, etc.)
- **Total RAM:** 62GB (15GB PVE01 + 15GB Heimdall + 16GB Waldorf + 16GB Watchtower)
- **Total CPU Cores:** 30 physical (14c i5-13500T + 8c i7-7820HQ + 4c N100 + 4c ARM)
- **Virtualization:** Proxmox VE 9.1.7 hosting 1 VM (expandable)
- **Virtualization:** Proxmox VE 9.1.7 available (no VMs currently deployed)
- **GPU Acceleration:** NVIDIA GTX 1060 Mobile (6GB VRAM)
- **Storage:** TerraMaster NAS (NFSv3/v4)