Proxmox VE

Proxmox Virtual Environment (Proxmox VE) is an open-source server virtualization platform that lets you manage both virtual machines and containers in a unified environment. It utilizes the Type 1 (bare-metal) KVM hypervisor for full hardware virtualization, providing robust and efficient management of diverse workloads while also offering lightweight container-based virtualization through LXC.
π Resources π
β‘οΈ Proxmox VE Helper-Scripts
π Some of the following commands are based on the Proxmox VE Helper-Scripts - make sure they are updated
β Use the Proxmox shell on the main node via the pve web GUI
Updating PVE - Manually
Open the Proxmox shell on the main node (or SSH into PVE -> risky)
Use this Proxmox VE Helper-script to
Correct Proxmox VE Sources
Disable
pve-enterpriserepositoryEnable
pve-no-subscriptionrepositoryEnable
ceph package repositoriesAdd (disabled)
pvetestrepositoryDisable subscription nag (Delete browser cache)
Disable high availability
Update Proxmox VE
Kernel Clean
Processor Microcode
Network configuration
Quick Benchmark
Software on PVE
bash Config
Set custom aliases
Netdata observability
or use the Proxmox VE Netdata script
Backup Proxmox Config
Backup
Download the script
Set the permanent backups directory environment variable or edit the script to set the
$DEFAULT_BACK_DIRvariable to your preferred backup directory
Make the script executable
Shut down ALL VMs + LXC Containers if you want to go the safe way. (Not required)
Run the script
Notification
The script supports healthchecks.io notifications, either to the hosted service, or a self-hosted instance. The notification sends during the final cleanup stage, and either returns 0 to tell Healthchecks that the command was successful, or the exit error code (1-255) to tell Healthchecks that the command failed. To enable:
Set the
$HEALTHCHECKvariable to 1Set the
$HEALTHCHECK_URLvariable to the full ping URL for your check. Do not include anything after the UUID, the status flag will be added by the script.
PROXMOX - Network > edit eth0 and set the Static IP.
PBS post install
Disable the Enterprise Repo
Add/Correct PBS Sources
Enable the No-Subscription Repo
Add Test Repo
Disable Subscription Nag
Update and reboot Proxmox Backup Server
Run the command below in the Proxmox Backup Server Shell and answer "yes" to all options presented
PROXMOX - Network > edit eth0 and set the Static IP.
PDM post install
Run the command below in the Proxmox Backup Server Shell and answer "yes" to all options presented
LXC
LXCs - Undo Autologin + Temporary SSH root login
If you don't set a root password first, you will not be able to login to the container again, ever.
set the root password
sudo passwd rootremove
--autologin rootfrom/etc/systemd/system/[email protected]/override.confreboot
β Remember to disable root login with
PermitRootLogin nowhen no more necessary
LXCs - Cleaner
LXCs - Updater
LXC - Filesystem Trim
Ubuntu LXC + UniFi Network Server
Unifi Network Server - https://192.168.5.10:8443 on Ubuntu LXC
Ubuntu LXC
First, install the Ubuntu LXC with the following specs (defaults are 1 vCPU, 512MB, 2 GB) necessary to the UniFi Network Server - using Advanced Settings during Helper Script launch:
2 vCPU
2GB RAM
8 GB Disk
PROXMOX - Network > edit eth0 and set the Static IP - if not already done by the Advanced installer.
UniFi Network Server
Open the LXC console or SSH into it and proceed with installing the UniFi Network Server manually via the UniFi Installation/Update Scripts - Ubiquiti Community
For more commands, check my guide here -> UniFi Network Server
Browse the web page - https://192.168.5.10:8443/ and configure the UniFi Network Server
Adopt your devices
Arcane - http://192.168.5.15:3000
Install the Docker LXC with the desired specs - TESTING Default
PROXMOX - Network > edit eth0 and set the Static IP.
Installed containers list:
Delete
arcane:arcane-adminuser and create your own
Login to via Web at
http://<IP>:8090/Create account
Create Devices
Network scan works if devices are already on - Scan the
/24network
DELETED
PROXMOX - Network > edit eth0 and set the Static IP.
Vaultwarden - http://192.168.5.7:8000
Vaultwarden Admin - http://192.168.5.7:8000/admin
Based on Alpine Linux
PROXMOX - Network > edit eth0 and set the Static IP.
Set https://vaultwarden.lab.syselement.com in the General settings - Domain URL admin menu http://192.168.5.7:8000/admin.
Vaultwarden needs to be behind a proxy (e.g. Zoraxy) to obtain HTTPS and to allow clients to connect.
PROXMOX - Network > edit eth0 and set the Static IP.
Set Proxy Roottolocalhost:8080Status- setUse TLS to serve proxy requestandStart ServiceCreate Proxy Rules- new proxy rule for VaultwardenProxy Type -
Sub-domainSubdomain Matching Keyword -
vaultwarden.lab.syselement.comTarget IP -
192.168.5.7:8000(Vaultwarden LXC IP)Create Endpoint
Local HOST/DNS - set vaultwarden.lab.syselement.com to Zoraxy LXC IP (or forward port 80 and 443 from your router to your Zoraxy LXC IP).
Check Technitium DNS configuration too and use the Technitium server IP as DNS Server.
PROXMOX - Network > edit eth0 and set the Static IP.
PROXMOX - Network > edit eth0 and set the Static IP.
Open the webpage and navigate to Zones
Add Zone- Primary Zone:lab.syselement.comEnter the
lab.syselement.comzoneAdd RecordName:
vaultwardenIPv4 Address:
192.168.5.6Save it
Add another record for
wikiwith the same IP
Settings - Blocking
Enable BlockingAllow/Block List URLs -
Quick Add- e.g.Steven Black...Save Settings
Settings - Proxy & Forwarders
Forwarders -
Quick Select- e.g.Quad9 Secure (DNS-over-HTTPS)Save Settings
π To use Techitium as a DNS server, set its IP
192.168.5.11as DNS server in the client PC network configuration
OFF
DELETED
PROXMOX - Network > edit eth0 and set the Static IP.
Configuration (bookmarks.yaml, services.yaml, widgets.yaml) path
PROXMOX - Network > edit eth0 and set the Static IP.
PROXMOX - Network > edit eth0 and set the Static IP.
π Resources
Proxmox
PROXMOX - Network > edit eth0 and set the Static IP.
Comes already with Privileged/Unprivileged Hardware Acceleration Support
FFmpeg path:
/usr/lib/jellyfin-ffmpeg/ffmpegFor NVIDIA graphics cards, you'll need to install the same drivers in the container that you did on the host. In the container, run the driver installation script and add the CLI arg
--no-kernel-module
Location of config file
Configure Transcoding (and Hardware Acceleration) in the Jellyfin WebUI
Windows
Installed on Windows via
exeat https://repo.jellyfin.org/?path=/server/windows/latest-stable/amd64Update
Download the latest version.
Close or Stop Jellyfin (service) if it is running.
Run the installer.
If everything was completed successfully, the new version is installed.
Run
services.mscopen
Jellyfin Serverservice propertiesset Log On to
Local System accountsave and start the service
Checkmk
Kasm
Ubuntu Server VM
π β‘οΈ My Ubuntu Server - VM additional/updated guide
Turn OFF the VM (if ON).
Follow the instruction at Useful Ubuntu 22.04 VM Commands to set up Cloud-Init on the VM:
User
Password
SSH public key for SSH Key login
Upgrade packages -
NoStatic IP (may need DHCP)
Click
Regenerate Image
Start the VM.
Open the VM Console using
xterm.js
Resize disk
PROXMOX - Hardware > Hard Disk (scsi0) > Disk Action > Resize
In the VM Console:
First Config
SSH
Timezone and Updates
Software
SSHinto the VM
Zsh & Oh-My-Zsh
Follow the guide here to setup
ZSHwithOh-My-Zsh- Zsh & Oh-My-Zsh - syselement
Docker
Evaluate Docker LXC
Updating Docker Standalone Portainer
Go to Settings > Back up Portainer - Download backup file
Proceed with updating
Login to Tailscale
Open the VM shell and run:
On the host being connected to, you need to advertise that Tailscale is managing SSH connections which originate from the Tailscale network to this host
Install microk8s
Some commands
Set
.kube/configfile for k9s
BookStack (only on fresh Ubuntu)
π BookStack Admin Documentation - Installation
β π docker-bookstack
β π Ubuntu 24.04 Installation Script
Install a fresh Ubuntu Server VM
SSH into the Ubuntu VM and run the
BookStackUbuntu Installation script
β A script to install BookStack on a fresh instance of Ubuntu 24.04 is available. This script is ONLY FOR A FRESH OS, it will install Apache, MySQL 8.0 & PHP 8.3 and could OVERWRITE any existing web setup on the machine. It also does not set up mail settings or configure system security so you will have to do those separately. You can use the script as a reference if youβre installing on a non-fresh machine.
π Default login:
[email protected]:password
Last updated
Was this helpful?