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

4.3 KiB

project
project
name status category source created updated description priority tags
Proxmox VE Setup active infrastructure infra-config 2026-01-06 2026-04-19 Proxmox VE 9.1.4 hypervisor configuration — VMs, LXC containers, GPU passthrough, and storage high
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

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

# 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