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 - **Ansible Automation:** All nodes managed by Ansible from watchtower control plane
- **Infrastructure as Code:** Services defined in `compose.yaml` + infrastructure managed with Ansible playbooks - **Infrastructure as Code:** Services defined in `compose.yaml` + infrastructure managed with Ansible playbooks
- **GPU Transcoding:** Hardware-accelerated media streaming with NVIDIA GTX 1060 Mobile - **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 - **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) - **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,8 +30,7 @@ graph TB
CF[Cloudflare DNS] CF[Cloudflare DNS]
end end
subgraph "PVE01 - Proxmox VE Hypervisor (10.0.0.201)" subgraph "Heimdall - Physical Server (10.0.0.151)"
subgraph "Heimdall VM (10.0.0.151)"
Traefik[Traefik Reverse Proxy<br/>:80, :443] Traefik[Traefik Reverse Proxy<br/>:80, :443]
Komodo[Komodo Core<br/>Container Orchestrator] Komodo[Komodo Core<br/>Container Orchestrator]
Gitea[Gitea<br/>Self-Hosted Git] Gitea[Gitea<br/>Self-Hosted Git]
@ -39,7 +38,6 @@ graph TB
Trek[Trek] Trek[Trek]
Vault[Vaultwarden] Vault[Vaultwarden]
end end
end
subgraph "Waldorf - Physical Server (10.0.0.251)" subgraph "Waldorf - Physical Server (10.0.0.251)"
Plex[Plex Media Server<br/>GPU Transcoding] Plex[Plex Media Server<br/>GPU Transcoding]
@ -48,12 +46,16 @@ graph TB
KomodoW[Komodo Periphery] KomodoW[Komodo Periphery]
end 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] Ansible[Ansible Control Node<br/>Infrastructure Automation]
KomodoP[Komodo Periphery] KomodoP[Komodo Periphery]
VSCode[VS Code Server] VSCode[VS Code Server]
end 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)" subgraph "TerraMaster NAS (10.0.0.250)"
NFS[NFS Storage<br/>Volume1: /appdata<br/>Volume2: /media] NFS[NFS Storage<br/>Volume1: /appdata<br/>Volume2: /media]
end end
@ -68,16 +70,16 @@ graph TB
Komodo <-->|WebSocket| KomodoP Komodo <-->|WebSocket| KomodoP
Gitea -->|Webhook| Komodo Gitea -->|Webhook| Komodo
Ansible -.->|SSH| PVE01 Ansible -.->|SSH| PVE
Ansible -.->|SSH| Heimdall Ansible -.->|SSH| Traefik
Ansible -.->|SSH| Waldorf Ansible -.->|SSH| Plex
Plex --> GPU Plex --> GPU
Tunarr --> GPU Tunarr --> GPU
Heimdall -.->|NFS v4| NFS Traefik -.->|NFS v4| NFS
Waldorf -.->|NFS v4| NFS Plex -.->|NFS v4| NFS
Watchtower -.->|NFS v3| NFS Ansible -.->|NFS v3| NFS
style NFS fill:#f9a825,color:#000 style NFS fill:#f9a825,color:#000
style PVE01 fill:#e57000,color:#fff style PVE01 fill:#e57000,color:#fff
@ -89,10 +91,10 @@ graph TB
| Node | IP | Hardware | Platform/OS | Role | Services | | 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 | | **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` | Proxmox VM on PVE01<br/>Intel N100 (4c), 15GB RAM | Ubuntu 24.04 | Core Services | Komodo Core, Gitea, Traefik, Redis, Trek, Vaultwarden | | **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 | | **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`) | | **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 │ │ └── proxmox_post_install/ # Nag removal, repo config
│ └── group_vars/ # Global variables │ └── group_vars/ # Global variables
├── nodes/ # Service definitions per node ├── nodes/ # Service definitions per node
│ ├── heimdall/ # Core infrastructure (VM on PVE01) │ ├── heimdall/ # Core infrastructure (Physical)
│ │ ├── core/ # Komodo, Traefik, Redis │ │ ├── core/ # Komodo, Traefik, Redis
│ │ ├── trek/ # Trek service │ │ ├── trek/ # Trek service
│ │ ├── vaultwarden/ # Password manager │ │ ├── vaultwarden/ # Password manager
@ -323,7 +325,7 @@ environment:
- **Git Repository:** Daily backups via Gitea's built-in backup feature - **Git Repository:** Daily backups via Gitea's built-in backup feature
- **Docker Volumes:** Weekly snapshots to `/mnt/appdata/backups/` - **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}/` - **Configuration Files:** Tracked in Git under `nodes/{hostname}/`
--- ---
@ -336,7 +338,7 @@ environment:
- **Active Services:** 12+ (Traefik, Plex, Tunarr, Gitea, Trek, Vaultwarden, etc.) - **Active Services:** 12+ (Traefik, Plex, Tunarr, Gitea, Trek, Vaultwarden, etc.)
- **Total RAM:** 62GB (15GB PVE01 + 15GB Heimdall + 16GB Waldorf + 16GB Watchtower) - **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) - **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) - **GPU Acceleration:** NVIDIA GTX 1060 Mobile (6GB VRAM)
- **Storage:** TerraMaster NAS (NFSv3/v4) - **Storage:** TerraMaster NAS (NFSv3/v4)