Default Proxmox Virtual Machine Template.
Part 1:Creating the VM.
In the Proxmox control panel - Select ‘Create VM’ to open the ‘Create: Virtual Machine’ Wizard.
Note : If any option boxes have a coloured border, they are mandatory, any other options can be left as default.
General: - leave as default (this can be changed later).
OS: - make sure the correct storage is selected, where you store your ISOs, then below select the ISO you want to use. I will use Debian 12 Bookworm.
System: - leave as default (this can be changed later).
Disks: - leave as default (this can be changed later).
CPU: - leave as default (this can be changed later).
Memory: - leave as default (this can be changed later).
Network: - leave as default (this can be changed later).
Confirm: - check all settings are correct or go back and change. When happy check the ‘Start after created’ box, then click ‘Finish’.
You will see a spinning icon in the Tasks list below. When is says ‘OK’, your done and you can open a console. Make sure you have highlighted the correct VM in the far left menu and click on ‘>_console’ in the next panel or just below to ‘Create VM’ button. You can now install the OS as if on bare metal.
You now have a bare bones VM. Login in with the credensials setup in the install.
Part 2: Setup the Virtual Machine.
Check for updates: - once logged in: type sudo apt update && apt upgrade -y
Install any dependencies: sudo apt install wget git curl -y
Part 3: Converting to Template.
If you are now finished setting up the VM, you can convert it to a template ready to clone at a later date.
In the Proxmox Control Panel, shutdown the VM.
Right click on the dead VM and select ‘convert to template’.
When done, the right click menu will only have two options -
‘Migrate’ or ‘Clone’. (You can only use ‘Migrate’ if you have a cluster with more than one node).
Part 4: Creating Virtual Machine from Template.
When ready to create a VM, select ‘Clone’ and it will create the VM with the next available number. You will need to edit the new VMs hostname and ip settings to differ from the original.
Part 5: Optional Extras.
ADGuardHome is a self hosted ad blocker and local DNS server.
To Install: (All on one line)
curl -s -S -L https://raw.githubusercontent.com/AdguardTeam/AdGuardHome/master/scripts/install.sh | sh -s -- -v
Access with:
http//:container-ip-address:3000
Neofetch can help identify the Virtual Machine when you login.
sudo apt install neofetch -y
then add to the bash script to run automatically
sudo nano ~/.bashrc
then add to the bottom of the file, neofetch , then close save & close
the file with: Ctrl+O enter Ctrl+X. Now everytime you login, you will see information about the VM OS.
Add Cockpit to help with maintainance of the VM.
sudo apt install cockpit -y
When installed, you will be able to access Cockpit with the VM IP address and port :9090.
If you don’t want the use port :9090, you can change it.
Start by creating the directory:
sudo mkdir -p /etc/systemd/system/cockpit.socket.d/
Then create the configuration file:
sudo nano /etc/systemd/system/cockpit.socket.d/listen.conf
Then paste into the configuration file:
[Socket] ListenStream= ListenStream=443
then save & close the file with: Ctrl+O enter Ctrl+X.
Now you can access cockpit on port :443 instead of :9090.
In a web browser goto:
https://github.com/45Drives/cockpit-navigator
Find the Releases section and click the link.
In the next page, right-click on the .deb and copy link address.
In the console type wget and paste in the link address to upload the file to the container.
In the console enter: sudo dpkg -i *.deb
Now refresh the browser page to see file manager in Cockpit.
Jellyfin is a self hosted media server/player and organiser.
To Install: (All on one line)
curl https://repo.jellyfin.org/install-debuntu.sh | sudo bash
Access with:
http//:container-ip-address:8096