Yesโone home server can run Proxmox, Kubernetes labs, and network storage when storage owns stable hardware paths and the lab remains resource-limited and disposable.
The design works best for learning and noncritical home services, not automatic high availability. Proxmox should own the physical host, storage roles must be explicit, and Kubernetes experiments must not control the only copy of family data or backups.
Assign One Owner to Each Hardware Path
Let Proxmox own CPU, memory, NICs, boot devices, and virtualization. Decide whether storage runs on the host, in a dedicated VM with controller passthrough, or on a separate appliance role.
A complete single-server Proxmox and Kubernetes homelab demonstrates that one host can combine VMs, Kubernetes, storage, GitOps, and private access, but it also makes the physical server the shared failure boundary.
Do not let both the host and a storage VM manage the same disks. Controller and filesystem ownership must be unambiguous.
Separate Stable Services From the Lab
Keep DNS, storage management, backups, and essential home services outside the Kubernetes lab or in a stable VM group. Kubernetes nodes, ingress experiments, and test workloads should be rebuildable.
Apply CPU, memory, I/O, and storage quotas so a runaway pod cannot starve file service or fill the pool. Reserve memory for the hypervisor and storage stack before assigning lab capacity.
Use different bridges or VLANs for management, storage, services, and experiments when failure coupling or permissions justify the complexity.
Separate Storage Roles Inside the Host
| Role | Placement | Recovery |
|---|---|---|
| Proxmox boot | Small mirrored or recoverable device | Reinstall plus config restore |
| VM and Kubernetes disks | Fast local storage | Guest backup or rebuild |
| Family files | Protected NAS dataset | Snapshots plus independent copy |
| Lab volumes | Disposable or backed up by value | Recreate from definitions |
| Backups | Different host or external target | Restore without primary pool |
Do not store the only Proxmox backups on the same pool and chassis as the guests. A single controller or host failure would remove both sides of the restore.
Choose the client protocol separately; the SMB versus NFS guide helps keep household shares distinct from Linux infrastructure mounts.
Plan Boot and Recovery Order
After a reboot, storage must become healthy before file services, Kubernetes persistent volumes, and dependent applications start. DNS and management access should remain reachable while lab services are down.
A separate small Proxmox storage analysis shows why a home server may use local storage, a backup server, and NAS capacity without adding Ceph merely for enterprise resemblance.
Test losing a Kubernetes VM, the storage service, and the Proxmox boot disk as separate events. Each should have a documented next action.
Set Expansion and Stop Boundaries
Add memory when lab scheduling causes pressure, add fast storage when VM latency rises, and split storage to another host when family data uptime must survive Proxmox maintenance.
Keep one server when downtime is acceptable and the learning value outweighs the shared failure domain. Split roles when experimental restarts, passthrough changes, or capacity jobs threaten household access.
Stop calling the design highly available. One chassis, motherboard, PSU, and administrator boundary remain one physical failure domain even when services are isolated in VMs.
Final Setup Rule
The setup passes when every service has a named role, protected state, controlled access path, tested restore, and a measurable trigger for splitting or expanding the topology.
NAS & Server Setup
More to Read

A Local RAG Setup for Research Papers, Notes, and Private Documents
Keep original documents authoritative, make indexing repeatable, require citations, and separate replaceable models from private source data.

Why Are Developers Using a Gateway Node for Private DNS, VPN, and Test Apps?
A gateway node gives private apps one controlled name and access path, while compute nodes stay unexposed and replaceable.

How to Build a Reproducible App Stack With Compose Files, Secrets, and Persistent Data Separated
Keep Compose definitions portable, secrets protected, and app data independently backed up so the stack can be rebuilt on a clean host.

