Building a Home Lab Part 2 - The First VM
Learn to create your first VM and build on the foundation of your home lab
Hello and welcome to part 2 of building a home lab!
If you missed part 1 you can find it by clicking these words.
Today we are going to do some looking around the Proxmox interface to get an idea of what this bad boy can do. Then we’re going to walk through the steps of setting up our first VM.
The first VM will be running Ubuntu 22 Server. Throughout this series we will be using Ubuntu server so you can get familiar with it. Ubuntu has been a popular Linux distro since the early 2000s. You can’t go wrong by getting comfortable with it if it is your first Linux distro.
Some Looking Around
Let’s start getting down and dirty with Proxmox. Open up your web browser and go the IP address your Proxmox instance is hosted on.
After you log in go to the left side and click on “pve”. Then go to Updates > Repositories. Click the row that contains the “pve-enterprise” component and then click the “Disable” button.
This disables the enterprise update repository. This makes sense for us since we do not have an enterprise license. Now click on “Shell” in the sidebar menu and type the following command:
apt update && apt upgrade
Hit enter to update your package repositories and apply upgrades.
Great, now our PVE host is fully up to date. Let’s explore other helpful menus and then create our first Ubuntu Virtual Machine.
Navigate to pve > System > Network. Here we see our networking settings from the install earlier.
Double clicking on it brings up a menu where we could configure network settings:
We are happy with the settings from the installation so we’ll continue on.
The last thing we’ll look at is the Syslog. Click on the Syslog option. This gives us a system log of our Proxmox host in real time.
This may seem useless but it is incredibly useful. We can quickly see the system logs of our host. This is one of the first places we would look if we were encountering issues with Proxmox.
By default the syslog is in real time. At the top right you can click on “Select Timespan” and query between a time period.
There are many things you can do within Proxmox and many option menus to explore. We’ll touch on more over time. I encourage you to poke around and see what other helpful information you can find.
Creating the First VM
Let’s start getting some use out of Proxmox. It’s meant for virtualization after all.
There are two easy ways to start creating a virtual machine.
Right click on “pve” and select “Create VM”
Click the blue “Create VM” button in the top right of Proxmox
Choose either option to pull open the VM creation box. On the first tab we are asked general settings. Leave everything as default except for the name. Name this VM “wireguard” since it will become our VPN host.
Click “Next” after you put in the name to go to the OS tab.
Click in the “ISO image” box to select the ISO we put in Proxmox during part 1. We can leave everything else as default.
Click “Next” to go to the System Tab. Leave the defaults on the System tab and click “Next”. You should now be on the “Disks” tab.
Set the “Disk size (GiB)” to 25GiB. Leave the rest as defaults and click “Next”.
On the CPU tab set the cores to 2 and click “Next”.
On the Memory tab set the Memory to 2048 MiB and click “Next”.
On the Network tab leave the defaults and click “Next” to go to the final tab. Your configuration should be similar to mine.
Click “Finish”.
Congrats! You have created your first VM within Proxmox. Now let’s get some use out of it. Your VM will show up under “pve” on the left-hand sidebar. Right click on it and select “Start”.
Wrapping Up and a Part B
This article is approaching the email length limit and we have hit a natural break point. After two articles you have installed a powerful type 1 hypervisor and set up your first VM on it.
We will continue part 2 with a part B. Part 2B will walk through how to install Ubuntu 22 Server on the the VM we just created. We’ll then use this VM to set up a Wireguard VPN. Then you’ll be able to connect into your home lab from anywhere with an internet connection.
Then we can start implementing even more. Remote desktop capability, a way to monitor our services, and build our own camera monitoring system.
I hope your hyped because nothing makes me happier than having a bunch of systems work together in harmony to do fucking cool stuff.
See you in part B.
Leave any questions in the comments or DM me on twitter.