Skip to content

BassT23/Proxmox

Folders and files

NameName
Last commit message
Last commit date

Latest commit

773c9c4 · Feb 23, 2025
Feb 23, 2025
Feb 23, 2025
Feb 9, 2023
Dec 9, 2024
Mar 15, 2023
Dec 15, 2024
Dec 9, 2024
Feb 23, 2025
Jan 5, 2025
Feb 23, 2025
Jan 5, 2025
Dec 14, 2024
Feb 23, 2025
Feb 23, 2025
Feb 23, 2025

Repository files navigation

Logo

Screenshot_20240109_113501

GitHub release GitHub stars downloads Discord

Proxmox® is a registered trademark of Proxmox Server Solutions GmbH.

I am no member of the Proxmox Server Solutions GmbH. This is not an official program from Proxmox!

This is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

IN CASE OF EMERGENCY, I HOPE YOU HAVE BACKUPS FROM YOUR MACHINES!

YOU HAVE BEEN WARNED!

What does the script do:

  • The script makes system updates with apt/dnf/pacman/apk or yum on all nodes/LXCs and VMs (if VMs prepared for that)
  • Make a snapshot before update (if your storage support it - look here). If not supported, you can choose to make a real backup, but this must be enabled in update.conf by user (take long time!)
  • After all, the updater makes a little cleaning (like apt autoremove)
  • If the script detects "extra" installations, it could update this also. Look in config file, for that.

Features:

  • Update Proxmox VE (the host / all cluster nodes / all included LXCs and VMs)
  • Snapshot / Backup support (for Snapshot, your system must prepared for it)
  • Normal run is "Interactive" / Headless Mode can be run with update -s
  • Logging - location can be change in config file
  • Exit tracking, so you can send additional commands for finish or failure (edit files in /etc/ultimate-updater/exit)
  • Config file
  • Trim filesystem on ext4 nodes -

Info can be found with update -h

Changelog: here

Installation:

In Proxmox GUI Host Shell or as root on proxmox host terminal:

bash <(curl -s https://raw.githubusercontent.com/BassT23/Proxmox/master/install.sh)

Usage:

  • If you want to run the updater globally for all nodes/lxc/vm only run update
  • If you want to update only one specific lxc/vm run update <ID>

Cluster-Mode preparation:

! For Cluster Installation, you only need to install on one Host !

The nodes need to know each other. For that please edit the /etc/hosts file on each node. Otherwise, you can use the GUI. (NODE -> System -> Hosts)

Example add:

192.168.1.10   pve1
192.168.1.11   pve2
192.168.1.12   pve3
...

IP and Name must match with node ip and its hostname.

  • IP can be found in node terminal with hostname -I
  • hostname can be found in node terminal with hostname

After that make the fingerprints. The used sequence can be check, if you run awk '/ring0_addr/{print $2}' "/etc/corosync/corosync.conf" from the host, on which Proxmox-Updater is installed. So connect from first node (on which you install the Proxmox-Updater) to node2 with ssh pve2. Then from node2 ssh pve3, and so on.

If you want to update the VMs also, you have two choices:

  1. Use the "light and easy" QEMU option

    more infos here: QEMU Guest Agent

  2. Use ssh connection with Key-Based Authentication (a little more work, but nicer output and "extra" support)

    more infos here: SSH Connection

Update the script:

update -up

If update run into issue, please remove first with:

bash <(curl -s https://raw.githubusercontent.com/BassT23/Proxmox/master/install.sh) uninstall

and install new

Extra Updates:

If updater detects installation: (disable, if you want in /etc/ultimate-updater/update.conf)

  • PiHole
  • ioBroker
  • Pterodactyl
  • Octoprint
  • Docker Compose (v1 and v2)

Config File:

The config file is stored under /etc/ultimate-updater/update.conf

With this file, you can manage the updater. For example; if you don't want to update PiHole, comment the line out with #, or change true to false.

  • Host / LXC / VM
  • Headless Mode
  • Extra updates
  • "stopped" or "running" LXC/VM
  • "only" or "exclude" LXC/VM by ID

Welcome Screen:

The Welcome Screen is an extra for you. It's optional!

  • The Welcome-Screen brings an update-checker with it. It check on 07am and 07pm for updates via crontab. The result will show up in Welcome-Screen (Only if updates are available).
  • The update-checker also uses the config file!
  • To force the check, you can run /etc/ultimate-updater/check-updates.sh in Terminal.
  • You can choose, if neofetch will be show also (if neofetch is not installed, script will make it automatically)

Beta Testing:

If anybody wants to help with failure search, please test our beta (if available).

Install beta update with update beta -up To go back to master, choose update -up

Q&A:

Discussion

Support:

grafik

Contributors:

BassT23
BassT23
💻 🚧
Gauvino
Gauvino

💻 📖
elbim
elbim

💻