PROJECT-001

Building My First Proxmox Homelab

A technical overview of my first always-on Proxmox server: a Minisforum UM890 Pro running virtual machines, LXC containers, automation, agentic AI infrastructure, monitoring, and game servers—with a NAS, VLANs, OPNsense, media services, and dedicated AI hardware still planned.

tech: Proxmox VE · Debian · Ubuntu · QEMU/KVM · LXC · Docker · n8n · Tailscale · Playit.gg · CubeCoders AMP · PostgreSQL · Ollama
started: Dec 3, 2025

Building My First Proxmox Homelab

Status: building
Host: Minisforum UM890 Pro
Hypervisor: Proxmox VE 9.1.7


Overview

This is my first serious homelab and my first experience running a computer as a permanent server.

The host is a Minisforum UM890 Pro with:

ComponentSpecification
CPUAMD Ryzen 9 PRO 8945HS
GraphicsAMD Radeon 780M
Memory64 GB RAM
Storage1 TB Kingston NVMe SSD
HypervisorProxmox VE 9.1.7
Base systemDebian 13
Storage backendLVM-thin through local-lvm

Minisforum, please sponsor me.

The machine is now my always-on environment for:

  • development;
  • automation;
  • agentic AI experiments;
  • monitoring;
  • self-hosted services;
  • game servers.

The homelab works, but it is still unfinished.

There is currently:

  • no dedicated AI workstation;
  • no NAS;
  • no dedicated OPNsense machine;
  • no VLAN segmentation;
  • no media server;
  • no network-wide ad blocker.

Why I built it

Before this project, I did not have a machine dedicated to running services continuously.

I wanted one computer that could stay online, host multiple environments, and give my projects somewhere permanent to run.

I also wanted to learn virtualization seriously rather than only running occasional desktop VMs.

My current rule is simple:

  • use a VM when I want a complete operating system or several services together;
  • use an LXC container when the machine has one main purpose.

Host configuration

Hostname: pve.homelab
Address:  192.168.0.10/24
Gateway:  192.168.0.1
Bridge:   vmbr0
Storage:  local-lvm

The host currently uses:

  • one active network interface;
  • one Linux bridge, vmbr0;
  • one flat 192.168.0.0/24 network;
  • one main NVMe drive;
  • Tailscale for remote access.

There are currently no VLANs and no network bond.


Infrastructure

VM 100 — Agent HQ

Role: Main development and agentic AI environment Status: Running OS: Ubuntu 24.04.4 LTS

ResourceAllocation
CPU12 cores
RAM36 GB
Storage400 GB
Address192.168.0.11
Machine typeQ35
FirmwareOVMF UEFI

Agent HQ is the main VM for my development work and Paperclip AI environment.

It receives direct access to:

  • the Radeon 780M iGPU;
  • the associated USB controller.

Current workloads include:

  • Docker;
  • local AI tooling;
  • Paperclip AI;
  • LM Studio Server;
  • Node-based services;
  • a custom homelab-builder application;
  • PostgreSQL;
  • IP address management tooling.

Docker workloads

ServicePurpose
homelab-builder-backendCustom Go backend
homelab-builder-frontendWeb interface
homelab-builder-dbPostgreSQL database
homelab-builder-ipamIP address management

The VM also runs llmster and another Node process used as an agent or connector.

LM Studio Server on this VM provides local model inference for other services in the homelab, including Pulse.


LXC 101 — SearXNG

Role: Self-hosted search for local AI Status: Stopped

ResourceAllocation
CPU2 cores
RAM2 GB
Swap512 MB
Storage7 GB
Address192.168.0.12

SearXNG was originally intended to provide search for local AI workflows.

It worked, but its performance was too far behind OpenAI search, which was already included in my subscription.

So I had successfully self-hosted a slower version of something I was already paying for.

The container is currently stopped.


LXC 102 — n8n

Role: Automation and companion services Type: Unprivileged Debian LXC Status: Running

ResourceAllocation
CPU4 cores
RAM4 GB
Swap2 GB
Storage10 GB
Address192.168.0.13

The container runs:

  • n8n;
  • the n8n task runner;
  • Ollama;
  • a Google Maps scraping service;
  • a local lead-storage API;
  • a Gotenberg-compatible PDF service;
  • Postfix;
  • Avahi;
  • SSH.

It started as an n8n container and gradually became the main automation environment.


VM 103 — Game Server

Role: Game-server host Status: Running OS: Ubuntu 24.04.4 LTS

ResourceAllocation
CPU6 cores
RAM16 GB
Storage160 GB
Address192.168.0.14
ManagementCubeCoders AMP
Remote accessPlayit.gg

This VM hosts game servers through CubeCoders AMP.

Configured instances include:

  • Satisfactory;
  • modded Minecraft;
  • several Minecraft worlds;
  • AMP’s ADS management service.

Playit.gg provides tunneled access to the game and AMP ports.


LXC 104 — Pulse

Role: Monitoring platform Status: Running Address: 192.168.0.15

Pulse runs in its own LXC container and monitors the homelab infrastructure.

Its AI features are supported by my own local model provider through LM Studio Server running inside Agent HQ — VM 100.

The flow is:

Pulse — LXC 104
   │
   └── AI requests
          │
          ▼
Agent HQ — VM 100
   │
   └── LM Studio Server
          │
          ▼
Local model inference

Pulse therefore has two roles in the homelab:

  • monitoring the infrastructure;
  • using locally hosted AI capabilities provided by VM 100.

Networking

Current topology

Internet
   │
Router — 192.168.0.1
   │
vmbr0
   │
   ├── 192.168.0.10  Proxmox host
   ├── 192.168.0.11  Agent HQ
   ├── 192.168.0.12  SearXNG
   ├── 192.168.0.13  n8n
   ├── 192.168.0.14  Game server
   └── 192.168.0.15  Pulse

Everything currently lives on one flat subnet:

192.168.0.0/24

There is currently:

  • no VLAN separation;
  • no internal reverse proxy;
  • no dedicated firewall appliance;
  • no network-wide DNS filtering.

Remote access is handled through:

MethodPurpose
TailscaleProxmox administration
Playit.ggGame-server access

Storage

The current storage setup is:

1 × 1 TB Kingston NVMe SSD
└── LVM-thin
    └── local-lvm

There is currently no:

  • NAS;
  • RAID;
  • ZFS mirror;
  • Proxmox Backup Server;
  • separate bulk-storage pool.

This is enough for experiments, but storage and backups are still unfinished parts of the setup.


Hardware passthrough

The Agent HQ VM receives direct access to:

  • the AMD Radeon 780M iGPU;
  • the associated USB controller.

Getting this working required learning about:

  • IOMMU;
  • PCI passthrough;
  • Q35;
  • OVMF UEFI;
  • guest drivers;
  • multifunction PCI devices.

The first Ubuntu VM absorbed most of the damage while I learned how GPU passthrough, guest agents, Ethernet bridges, and memory allocation worked.


What I learned

This project introduced me to:

  • Proxmox administration;
  • QEMU/KVM virtual machines;
  • LXC containers;
  • Linux bridges;
  • static IP configuration;
  • QEMU guest agents;
  • memory allocation;
  • CPU passthrough;
  • PCI and iGPU passthrough;
  • Docker inside VMs;
  • remote administration;
  • monitoring;
  • game-server tunneling;
  • connecting local AI services across machines.

What works now

The homelab currently provides:

  • an always-on development environment;
  • automation through n8n;
  • monitoring through Pulse;
  • locally hosted AI support for Pulse through LM Studio Server on VM 100;
  • Paperclip AI infrastructure;
  • local AI experimentation;
  • game-server hosting;
  • remote administration;
  • isolated environments for testing.

The most useful part is having a permanent place where unfinished projects can keep running.


Roadmap

Dedicated AI workstation

The current Radeon 780M is useful for experimentation, but there is no dedicated AI workstation yet.

NAS

The homelab still needs proper shared storage and backups.

OPNsense

There is no dedicated OPNsense machine yet.

VLANs

The current network is still flat and has no VLAN segmentation.

Media server

There is no media server yet.

Network-wide ad blocking

There is no LAN-wide ad-blocking or DNS-filtering service yet.


Current status

host: online
virtualization: working
automation: working
monitoring: working
pulse_ai: provided_by_lmstudio_on_vm100
game_servers: working
agent_infrastructure: working

nas: missing
vlans: missing
opnsense: missing
media_server: missing
ai_workstation: missing
network_adblock: missing

The homelab is operational, but it is still evolving.

That is not a failure of the project.

That is the project.

Not final. Just finally online.

ascii animation 36
ascii animation 36

Connected work