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
This commit is contained in:
143
homelab/proxmox-setup.md
Normal file
143
homelab/proxmox-setup.md
Normal file
@@ -0,0 +1,143 @@
|
||||
---
|
||||
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]]
|
||||
Reference in New Issue
Block a user