1. Preparing the Server & Accessing iDRAC
After bringing the Dell PowerEdge server home, the first task was gaining remote access via iDRAC. The only display port it has is a VGA and to be honest I don't have any monitors that could support that. Initially, iDRAC was set with an old static IP address from the office, so I had to use the front panel to change it to DHCP. This allowed me to boot it up on my network and access it via whatever IP it got. Once inside iDRAC, I mounted the installation ISO remotely so I could install Proxmox VE without physical media.
2. Installing Proxmox VE
With the ISO mounted:
- Booted into the Proxmox installer
- Selected ZFS (RAID) configuration
- Set the management IP
- Rebooted and logged into the management interface from the browser
Initially, the server appeared on my home network but wasn't reachable from another subnet — an issue that would surface again later and become a major troubleshooting point.
3. Installing pfSense as a VM
Next, I spun up a pfSense VM to serve as the network gateway for all lab services.
- One NIC bridged to my home LAN
- One NIC bridged to a Proxmox internal network
- Assigned WAN = DHCP
- Assigned LAN = lab network IP
This created a clean separation between my home network and the lab network.
4. Fixing Routing Between Home LAN and Lab LAN
My home LAN could not reach my lab network. My ISP router (I'll get an aftermarket one eventually) does not support static routes, so traffic destined for the lab had no idea where to go.
To fix this, I manually added a static route on my Windows PC:
route -p add [lab subnet] mask 255.255.255.0 [pfSense IP]
Finally I could access all lab systems through pfSense. This validated the pfSense routing configuration and bypassed the ISP router limitations.
5. Creating the Ubuntu Server VM
Inside Proxmox, I created an Ubuntu Server 24.04 VM:
- 2 vCPUs
- 3GB RAM
- 32GB virtual disk
- Network: VirtIO bridged to pfSense LAN
Initially, Ubuntu installed correctly, but after the first reboot, it lost network connectivity. Running ip a showed no IP assigned.
To fix this, I updated the netplan config:
sudo nano /etc/netplan/50-cloud-init.yaml
Updated the file to:
network:
version: 2
ethernets:
ens18:
dhcp4: false
addresses:
- [server IP]/24
gateway4: [Lab gateway]
nameservers:
addresses:
- 1.1.1.1
- 8.8.8.8
Applied with:
sudo netplan apply
Now I could ping 8.8.8.8 and access the VM from both Proxmox and SSH.
6. Inside Proxmox: Fixing Display Lag (SPICE Console)
Proxmox's noVNC console was laggy, so I switched the display type to SPICE and downloaded the .vv remote viewer file.
SPICE dramatically improved responsiveness and made the VM feel like a native desktop.
7. Installing Docker and Portainer on the Ubuntu Server
After updating the OS, I installed Docker:
sudo apt install docker.io
sudo systemctl enable docker
sudo systemctl start docker
Added my user to the Docker group:
sudo usermod -aG docker $USER
newgrp docker
Created the Portainer volume:
docker volume create portainer_data
Then deployed Portainer:
docker run -d \
-p 8000:8000 \
-p 9443:9443 \
--name portainer \
--restart=always \
-v /var/run/docker.sock:/var/run/docker.sock \
-v portainer_data:/data \
portainer/portainer-ce:latest
Portainer opened successfully at:
https://[Server IP]:9443
This gives me a powerful GUI for managing all containers.
8. Migrating Existing Docker Services (Uptime Kuma)
My existing Uptime Kuma instance on Windows uses a Docker-managed volume. To migrate it:
I identified the volume location with:
docker inspect uptime-kuma
Exported the /app/data folder to a .tar.gz, copied it to the Ubuntu VM, and mounted it into a new container:
docker run -d \
-p 3001:3001 \
-v kuma_data:/app/data \
louislam/uptime-kuma
Once I did that, I could access my monitoring panel from the locally hosted container.
9. Created a Dedicated NAS Using Debian + OpenMediaVault
I also wanted reliable shared storage for ISOs, backups, and future media so I built a full NAS inside Proxmox using the following steps:
Installing Debian as a VM
- 2 vCPU
- 4GB RAM
- A dedicated virtual disk for storage
- Network interface bridged to the home LAN
After OS installation, I hardened the system with:
sudo apt update && sudo apt upgrade -y
sudo apt install ssh sudo cockpit -y
Installing OpenMediaVault (OMV)
OMV was installed directly into Debian using the official script:
wget -O - https://github.com/OpenMediaVault-Plugin-Developers/installScript/raw/master/install | sudo bash
This transformed the Debian VM into a fully managed NAS accessible at:
http://<debian-ip>
Configuring OMV
Inside OMV, I configured:
- Storage > Disks — verified that Proxmox passed the storage devices through
- File Systems — created and mounted an ext4 filesystem
- Shared Folders — created shared directories for Docker data, ISOs, backups, etc.
- SMB/CIFS service — enabled Windows-compatible file sharing
- NFS service — enabled for Linux and Proxmox integrations
Finally, I mounted the NFS share on Proxmox to allow:
- Centralized ISO storage
- VM backup storage
- Container data storage
- Future application data (media, databases, etc.)
This NAS is now my lab's backbone storage system.
10. Future Container Plans
Now that the base environment is stable, I plan to deploy:
- Home Assistant — full smart-home integration
- Move Pi-hole — DNS to here for filtering & ad-blocking
- Nginx Proxy Manager — SSL, reverse proxying, subdomain routing
- Uptime Kuma — internal monitoring platform
These will all run under Docker on the Ubuntu host.
11. StreamDeck Integration
Just for fun and ease of management, I added buttons on my StreamDeck macro pad to open each of the web portals for the things I'm hosting and even added custom icons. This adds a nice little touch compared to going to each IP/port number in a browser or adding them to bookmarks or the default homepage, in my opinion.
Results
I now have a fully functional home server that has its own segregated network with firewall rules, a Docker server with Portainer to have web access from my PC, as well as a home NAS as a private cloud!
Conclusion
It has been a long day of experimenting and troubleshooting and I definitely learned a lot regarding networking and firewall rules, server OS installation and tuning, resource management and so much more. It's not much but it's enough to be proud of. Not so long ago I would never think I could do things I did today. Definitely looking forward to continuing this journey of building this out and adding more to it.