Default Proxmox Virtual Machine Template.

This will show how I set up a default VM in Proxmox. This will be converted to a template that can easily be cloned as many times as I like, saving the hassle of remaking a fresh container each time, with all the setting I always use.



Part 1:Creating the VM.

Note : If any option boxes have a coloured border, they are mandatory, any other options can be left as default.



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.

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.

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

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

Neofetch can help identify the Virtual Machine when you login.

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.

Cockpit

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.


Adding a file manager to Cockpit.

https://github.com/45Drives/cockpit-navigator

Now refresh the browser page to see file manager in Cockpit.



Jellyfin Server

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