Files
hermes-ice/homelab/proxmox-setup.md
Hermes Agent e4d91aadf9 Initial commit: homelab infrastructure wiki
- Full Obsidian vault content
- Host configs (ice, grizzley, ubuntu, proxmox, truenas, panda, hyte)
- Media stack documentation
- Traefik HA setup
- Automation scripts
- Bachelor party planning
2026-05-24 16:08:40 -07:00

144 lines
4.3 KiB
Markdown

---
project:
name: Proxmox VE Setup
status: active
category: infrastructure
source: infra-config
created: 2026-01-06
updated: 2026-04-19
description: Proxmox VE 9.1.4 hypervisor configuration — VMs, LXC containers, GPU passthrough, and storage
priority: high
tags: [infrastructure, proxmox, virtualization, vm, lxc]
---
# Proxmox Virtual Environment
Single-node hypervisor hosting all homelab VMs and LXC containers. Verified live state 2026-04-19 via SSH.
## Host Configuration
| Property | Value |
|----------|-------|
| **IP** | 192.168.50.11 |
| **Version** | Proxmox VE 9.1.4 |
| **RAM** | 125 GB total, ~70 GB used |
| **Web UI** | https://proxmox.local.tophermayor.com |
| **Direct** | https://192.168.50.11:8006 |
| **SSH** | `ssh bear@192.168.50.11` |
| **Auth** | SSH key (`~/.ssh/id_ed25519`) |
## Virtual Machines
| VMID | Name | Status | RAM | IP | Purpose |
|------|------|--------|-----|----|---------|
| 9001 | TrueNAS | Running | 22 GB | 192.168.50.12 | TrueNAS SCALE 25.10.2.1 — ZFS storage, NFS/SMB shares |
| 9003 | ubuntu-server | Running | 32 GB | 192.168.50.61 | Primary Docker host — 59 containers, NVIDIA GTX 1080 passthrough |
| 9100 | W10-migrated | Stopped | 16 GB | — | Windows VM (offline) |
### VM Architecture
```mermaid
graph TD
PVE["Proxmox VE 9.1.4<br/>192.168.50.11<br/>125 GB RAM"]
PVE --> TN["VM 9001: TrueNAS<br/>Running · 22 GB<br/>192.168.50.12"]
PVE --> UB["VM 9003: ubuntu-server<br/>Running · 32 GB<br/>192.168.50.61"]
PVE --> W10["VM 9100: W10-migrated<br/>Stopped · 16 GB"]
PVE --> LX["LXC 102: traefik<br/>Running"]
TN --> ZFS1["TrueNAS Pool<br/>25.4 TB · 65% used"]
TN --> ZFS2["RPiPool<br/>10.9 TB · 5% used"]
TN --> NFS["NFS Exports<br/>mediadata, traefik-certs"]
UB --> GPU["NVIDIA GTX 1080<br/>8 GB VRAM<br/>Driver 535 · CUDA 12.2"]
UB --> DOCKER["Docker Engine<br/>59 containers"]
DOCKER --> MEDIA["Media Stack"]
DOCKER --> IMMICH["Immich"]
DOCKER --> AUTH["Authentik SSO"]
DOCKER --> MON["Monitoring"]
DOCKER --> AI["Ollama / Qdrant"]
LX --> TRAEFIK["Traefik Reverse Proxy<br/>192.168.50.115"]
style PVE fill:#e63946,color:#fff
style TN fill:#457b9d,color:#fff
style UB fill:#2a9d8f,color:#fff
style W10 fill:#6c757d,color:#ccc
style LX fill:#e9c46a,color:#000
```
## LXC Containers
| VMID | Name | Status | IP | Purpose |
|------|------|--------|----|---------|
| 102 | traefik | Running | 192.168.50.115 | Traefik reverse proxy (LXC) |
## GPU Passthrough
NVIDIA GTX 1080 (8 GB VRAM) passed through to **ubuntu-server** (VM 9003) via VFIO/IOMMU:
| Use Case | Service | Driver Capabilities |
|----------|---------|---------------------|
| Video transcoding | Jellyfin | gpu, video, compute, utility |
| AI inference | Ollama | gpu, compute, utility |
| ML processing | Immich ML | gpu, video, compute |
| Media transcoding | Tdarr | gpu, video, compute |
- **Driver**: NVIDIA 535.274.02
- **CUDA**: 12.2
## Network Configuration
| VLAN | Subnet | Purpose | Hosts |
|------|--------|---------|-------|
| Prod | 192.168.1.x | Main network | PVE management, Hyte workstation |
| Lab | 192.168.50.x | Infrastructure | ubuntu, grizzley, ice, truenas, pve, panda SSH |
| IoT | 192.168.30.x | Home automation | panda/HA |
- VMs are bridged to the lab VLAN (`vmbr0`)
- DNS managed via UniFi — `*.tophermayor.com` resolves internally
- Traefik routes on both ubuntu (VM) and LXC 102
## Storage
| Storage | Type | Purpose |
|---------|------|---------|
| `local-zfs` | ZFS pool (Proxmox) | VM disks — thin provisioned |
| TrueNAS NFS | NFS export (VM 9001) | Media, traefik certs, backups |
TrueNAS provides centralized storage via NFS mounts to ubuntu:
- `/mnt/truenas/mediadata` — media library (mounted on ubuntu)
- `/mnt/truenas/traefik-certs/grizzley` — TLS certs (mounted on grizzley)
## Management Commands
```bash
# List all VMs and containers
qm list
pct list
# VM lifecycle
qm start 9001
qm shutdown 9003
qm reboot 9100
# LXC lifecycle
pct start 102
pct stop 102
pct enter 102 # Shell into container
# Snapshots
qm snapshot 9003 pre-update
qm listsnapshot 9003
# Status check
qm status 9001
pct status 102
```
## Related Docs
- [[truenas-config.md|TrueNAS Configuration]]
- [[architecture.md|Homelab Architecture]]
- [[project.md|Homelab Project]]