Proxmox VE

proxmox.com

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 πŸ”—


πŸ“Œ 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-enterprise repository

    • Enable pve-no-subscription repository

    • Enable ceph package repositories

    • Add (disabled) pvetest repository

    • Disable 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

Netdata - http://192.168.5.2:19999/

Backup Proxmox Config

Backup

  • Set the permanent backups directory environment variable or edit the script to set the $DEFAULT_BACK_DIR variable 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 $HEALTHCHECK variable to 1

  • Set the $HEALTHCHECK_URL variable 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 Backup Server - https://192.168.5.3:8007

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 Datacenter Management - https://192.168.5.4:8443

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.

  1. set the root password sudo passwd root

  2. remove --autologin root from /etc/systemd/system/[email protected]/override.conf

  3. reboot

  • ❗ Remember to disable root login with PermitRootLogin no when 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

  1. 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.

  1. 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

Arcane - http://192.168.5.15:3000

Portainer - https://192.168.5.15:9443

UpSnap - http://192.168.5.15:8090

  • 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-admin user 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 /24 network

DELETED

AdGuard - http://192.168.5.5:3080

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

https://vaultwarden.lab.syselement.com/#/login

https://vaultwarden.lab.syselement.com/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.

Zoraxy - http://192.168.5.6:8000/

PROXMOX - Network > edit eth0 and set the Static IP.

  • Set Proxy Root to localhost:8080

  • Status - set Use TLS to serve proxy request and Start Service

  • Create Proxy Rules - new proxy rule for Vaultwarden

    • Proxy Type - Sub-domain

    • Subdomain Matching Keyword - vaultwarden.lab.syselement.com

    • Target 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.

Wiki.js - http://192.168.5.16:3000/

https://wiki.lab.syselement.com/login

PROXMOX - Network > edit eth0 and set the Static IP.

Technitium - http://192.168.5.11:5380/

PROXMOX - Network > edit eth0 and set the Static IP.

Open the webpage and navigate to Zones

  • Add Zone - Primary Zone: lab.syselement.com

  • Enter the lab.syselement.com zone

    • Add Record

      • Name: vaultwarden

      • IPv4 Address: 192.168.5.6

      • Save it

    • Add another record for wiki with the same IP

Settings - Blocking

  • Enable Blocking

  • Allow/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.11 as 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

Runtipi - http://192.168.5.14/dashboard

PROXMOX - Network > edit eth0 and set the Static IP.

Prometheus - http://192.168.5.15:9090/

PROXMOX - Network > edit eth0 and set the Static IP.

Jellyfin - http://192.168.5.9:8096/

🌐 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/ffmpeg

    • For 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

  • Update

    1. Download the latest version.

    2. Close or Stop Jellyfin (service) if it is running.

    3. Run the installer.

    4. If everything was completed successfully, the new version is installed.

    5. Run services.msc

      • open Jellyfin Server service properties

      • set Log On to Local System account

      • save and start the service

BookStack - http://192.168.5.164/

phpIPAM - http://192.168.5.8

Cosmos Cloud - http://192.168.5.159/

Kavita - http://192.168.5.145:5000/

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 - No

  • Static 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

  • SSH into the VM

Zsh & Oh-My-Zsh

Follow the guide here to setup ZSH with Oh-My-Zsh - Zsh & Oh-My-Zsh - syselement

Docker

Evaluate Docker LXC

Dockge - http://192.168.5.200:5001

Portainer - https://192.168.5.200:9443

WatchYourLan - http://192.168.5.200:8840/

Tailscale SSH

  • 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/config file 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 BookStack Ubuntu 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


10 Alpine Linux apk Command Examples - nixCraft


Last updated

Was this helpful?