mirror of
https://github.com/community-scripts/ProxmoxVE.git
synced 2026-02-05 00:29:55 +03:00
Upgrade scripts to work with PVE 9 #1401
Closed
opened 2026-02-05 00:38:34 +03:00 by OVERLORD
·
56 comments
No Branch/Tag Specified
main
github-action-update-changelog
pr-update-app-files
docker_deb13
feat/cloudinit-sshkeys
feat/sqlserver2025
automated/update-github-versions
add-script-opencloud-1770212555
add-script-openclaw-1770212634
github-action-archive-changelog
update_apps_tool
add-script-wishlist-1770193085
MickLesk-patch-2
add-script-writefreely-1770188758
add-script-wealthfolio-1770143943
fix/vaultwarden-update-script
remove_memos
disable_npm
feature/codeberg-functions-forgejo-readeck
add-script-rustypaste-1770019426
add-script-kitchenowl-1770017260
fix/2fauth-php-version
tools_func_addcodeberg
CrazyWolf13-patch-2
add-script-shelfmark-1769790178
CrazyWolf13-patch-1
add-script-ampache-1769790139
add-script-languagetool-1769790155
remove_php_deps
ref_koilection
fix/php-module-improvements
tremor021-patch-1
fix/open-archiver-meilisearch-migration
cloudflare_dns
MickLesk-patch-1
michelroegl-brunner-patch-2
fix/version-display
fix/debian13-root-ownership
feat/interactive_prompts
feature/smart-error-recovery
core_stable
update_docs
refactor/tools-func-stability
certbot_npm
2026-02-03
2026-02-02
2026-02-01
2026-01-31
2026-01-30
2026-01-29
2026-01-28
2026-01-27
2026-01-26
2026-01-25
2026-01-24
2026-01-23
2026-01-22
2026-01-21
2026-01-20
2026-01-19
2026-01-18
2026-01-17
2026-01-16
2026-01-15
2026-01-14
2026-01-13
2026-01-12
2026-01-11
2026-01-10
2026-01-09
2026-01-08
2026-01-07
2026-01-06
2026-01-05
2026-01-04
2026-01-03
2026-01-02
2026-01-01
2025-12-31
2025-12-30
2025-12-29
2025-12-28
2025-12-27
2025-12-26
2025-12-25
2025-12-24
2025-12-23
2025-12-22
2025-12-21
2025-12-20
2025-12-19
2025-12-18
2025-12-17
2025-12-16
2025-12-15
2025-12-14
2025-12-13
2025-12-12
2025-12-11
2025-12-10
2025-12-09
2025-12-08
2025-12-07
2025-12-06
2025-12-05
2025-12-04
2025-12-03
2025-12-02
2025-12-01
2025-11-30
2025-11-29
2025-11-28
2025-11-27
2025-11-26
2025-11-25
2025-11-24
2025-11-23
2025-11-22
2025-11-21
2025-11-20
2025-11-19
2025-11-18
2025-11-17
2025-11-16
2025-11-15
2025-11-14
2025-11-13
2025-11-12
2025-11-11
2025-11-10
2025-11-09
2025-11-08
2025-11-07
2025-11-06
2025-11-05
2025-11-04
2025-11-03
2025-11-02
2025-11-01
2025-10-31
2025-10-30
2025-10-29
2025-10-28
2025-10-27
2025-10-26
2025-10-25
2025-10-24
2025-10-23
2025-10-22
2025-10-21
2025-10-20
2025-10-19
2025-10-18
2025-10-17
2025-10-16
2025-10-15
2025-10-14
2025-10-13
2025-10-12
2025-10-11
2025-10-10
2025-10-09
2025-10-08
2025-10-07
2025-10-06
2025-10-05
2025-10-04
2025-10-03
2025-10-02
2025-10-01
2025-09-30
2025-09-29
2025-09-28
2025-09-27
2025-09-26
2025-09-25
2025-09-24
2025-09-23
2025-09-22
2025-09-21
2025-09-20
2025-09-19
2025-09-18
2025-09-17
2025-09-16
2025-09-15
2025-09-14
2025-09-13
2025-09-12
2025-09-11
2025-09-10
2025-09-09
2025-09-08
2025-09-07
2025-09-06
2025-09-05
2025-09-04
2025-09-03
2025-09-02
2025-09-01
2025-08-31
2025-08-30
2025-08-29
2025-08-28
2025-08-27
2025-08-26
2025-08-25
2025-08-24
2025-08-23
2025-08-22
2025-08-21
2025-08-20
2025-08-19
2025-08-18
2025-08-17
2025-08-16
2025-08-15
2025-08-14
2025-08-13
2025-08-12
2025-08-11
2025-08-10
2025-08-09
2025-08-08
2025-08-07
2025-08-06
2025-08-05
2025-08-04
2025-08-03
2025-08-02
2025-08-01
2025-07-31
2025-07-30
2025-07-29
2025-07-28
2025-07-27
2025-07-26
2025-07-25
2025-07-24
2025-07-23
2025-07-22
2025-07-21
2025-07-20
2025-07-19
2025-07-18
2025-07-17
2025-07-16
2025-07-15
2025-07-14
2025-07-11
2025-07-10
2025-07-09
2025-07-08
2025-07-07
2025-07-06
2025-07-05
2025-07-04
2025-07-03
2025-07-02
2025-07-01
2025-06-30
2025-06-29
2025-06-28
2025-06-27
2025-06-26
2025-06-25
2025-06-24
2025-06-23
2025-06-22
2025-06-21
2025-06-20
2025-06-19
2025-06-18
2025-06-17
2025-06-16
2025-06-15
2025-06-14
2025-06-13
2025-06-12
2025-06-11
2025-06-10
2025-06-09
2025-06-08
2025-06-07
2025-06-06
2025-06-05
2025-06-04
2025-06-03
2025-06-02
2025-06-01
2025-05-31
2025-05-30
2025-05-29
2025-05-28
2025-05-27
2025-05-26
2025-05-25
2025-05-24
2025-05-23
2025-05-22
2025-05-21
2025-05-20
2025-05-19
2025-05-18
2025-05-17
2025-05-16
2025-05-15
2025-05-14
2025-05-13
2025-05-12
2025-05-11
2025-05-10
2025-05-09
2025-05-08
2025-05-07
2025-05-06
2025-05-05
2025-05-04
2025-05-03
2025-05-02
2025-05-01
2025-04-30
2025-04-29
2025-04-28
2025-04-27
2025-04-26
2025-04-25
2025-04-24
2025-04-23
2025-04-22
2025-04-20
2025-04-21
2025-04-19
2025-04-18
2025-04-17
2025-04-15
2025-04-16
2025-04-14
2025-04-13
2025-04-12
2025-04-11
2025-04-10
2025-04-09
2025-04-08
2025-04-07
2025-04-06
2025-04-05
2025-04-04
2025-04-03
2025-04-02
2025-04-01
2025-03-31
2025-03-30
2025-03-29
2025-03-28
2025-03-27
2025-03-26
2025-03-25
2025-03-24
2025-03-23
2025-03-22
2025-03-21
2025-03-20
2025-03-19
2025-03-18
2025-03-17
2025-03-16
2025-03-15
2025-03-14
2025-03-13
2025-03-12
2025-03-11
2025-03-10
2025-03-09
2025-03-08
2025-03-07
2025-03-06
2025-03-05
2025-03-04
2025-03-03
2025-03-02
2025-03-01
2025-02-28
2025-02-27
2025-02-26
2025-02-25
2025-02-24
2025-02-23
2025-02-21
2025-02-20
2025-02-19
2025-02-18
2025-02-17
2025-02-16
2025-02-15
2025-02-14
2025-02-13
2025-02-12
2025-02-11
2025-02-10
2025-02-09
2025-02-08
2025-02-07
2025-02-06
2025-02-05
2025-02-04
2025-02-03
2025-02-02
2025-02-01
2025-01-31
2025-01-30
2025-01-29
2025-01-28
2025-01-27
2025-01-26
2025-01-24
2025-01-23
2025-01-22
2025-01-21
2025-01-20
2025-01-19
2025-01-18
2025-01-17
2025-01-16
2025-01-15
2025-01-14
2025-01-13
2025-01-11
2025-01-10
2025-01-09
2025-01-08
2025-01-07
2025-01-06
2025-01-05
2025-01-04
2025-01-03
2025-01-02
2025-01-01
2024-12-31
2024-12-30
2024-12-29
2024-12-28
2024-12-27
2024-12-26
2024-12-25
2024-12-23
2024-12-21
2024-12-20
2024-12-19
2024-12-18
2024-12-17
2024-12-16
2024-12-13
2024-12-12
2024-12-09
2024-12-08
2024-12-07
2024-12-06
2024-12-05
2024-12-04
2024-12-03
2024-12-02
2024-11-30
2024-11-29
2024-11-28
2024-11-27
2024-11-26
2024-11-25
2024-11-24
2024-11-23
Labels
Clear labels
Implemented in VED waiting push to Main
breaking change
bug
bug
bugfix
deferred
delete script
dependencies
enhancement
external
feature
github
help wanted
in project pipeline
invalid
investigation
json
maintenance
needs triage
new script
new script
nice to have
not a script issue
not planned
organization
pull-request
question
refactor
rename script
security
update script
website
wontdo
🛑 Failure to comply with the guidelines
Mirrored from GitHub Pull Request
No Label
enhancement
Milestone
No items
No Milestone
Projects
Clear projects
No project
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: starred/ProxmoxVE#1401
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @Buco7854 on GitHub (Aug 5, 2025).
🌟 Briefly describe the feature
Post install script is currently setup to work with PVE 8. PVE 9 was just released and is not compatible due to the source list change.
📝 Detailed description
Hello,
As you probably now PVE 9 was released today and uses Debian 13 Trixie 🥳.
Currently the post-pve-install script is compatible only with PVE 8 and Debian 12.
Here is a non exhaustive list of changes I believe needs to be done in order for the script to be compatible again.
Maybe some more things would need to be changed those are just the first things that came to mind while reading the script.
💡 Why is this useful?
The script cannot be used on latest Proxmox installs.
@michelroegl-brunner commented on GitHub (Aug 5, 2025):
This will take some time as all of our backend scripts need to be tested befor we can release anything. There will be for sure a announcment on the discussions as well as the discord when we are ready to support pve 9.
@MickLesk commented on GitHub (Aug 6, 2025):
Feel free to give feedback, its an full refactored script, with more logic. Its only in DEV Repo now, i only test on 2 of my 3 nodes (2 PVE9 / 1 PVE8) and on an fresh installed VM
@AdamT20054 commented on GitHub (Aug 6, 2025):
Tested it myself, works fine for PVE9 except:
Can you verify disabling the enterprise repositories works? Didn't seem to disable pve-enterprise-source on my machine.
@MickLesk commented on GitHub (Aug 6, 2025):
i dont have the enterprise in my system (removed before). Ive added an additional check, try it again and give feedback
@Buco7854 commented on GitHub (Aug 6, 2025):
Just tested it on pve
8.4.9, worked fine. I do not have a PVE 9 instance to test it out for now.@AdamT20054 commented on GitHub (Aug 6, 2025):
Seems to have fixed it.
I re-enabled the enterprise repo and ran the script, and it has now disabled it (as intended)
@Buco7854 commented on GitHub (Aug 6, 2025):
Just a small suggestion. When changing sources on PVE 8 (and 9 in case it's already using latest sources list format, in this case there would be no backup too) that would be nice to warn that it will overwrite existing one and their components.
I use
non-free-firmwareand I need to add it back after script ran. It would help to remind it for those in the same situation or with maybe other sources.@AdamT20054 commented on GitHub (Aug 6, 2025):
Wdym? I have custom sources and they didn't get overwritten?
@Buco7854 commented on GitHub (Aug 6, 2025):
The sources in
/etc/apt/sources.listare overwritten. Custom sources insources.list.dare not, my bad. I added thenon-free-firmwarecomponent in the main/etc/apt/sources.listfile tho, maybe I should not add them in there then ?@MickLesk commented on GitHub (Aug 6, 2025):
sources.list is "deprecated" with newer version. all stored in sources.d.list\
@Buco7854 commented on GitHub (Aug 6, 2025):
Just saw it, thanks. Not really related but should I add an additional list file with debian repo, but only
non-free-firmwarecomponent, or should I just edit thedebian.sourcesone?@MickLesk commented on GitHub (Aug 6, 2025):
in proxmox.sources (in deb 13) should be added this
@krakazyabra commented on GitHub (Aug 6, 2025):
Hi! In fresh installed pve9 there is also need to comment out enterprise URI in ceph repo
/etc/apt/sources.list.d/ceph.sources:@Buco7854 commented on GitHub (Aug 6, 2025):
Thanks a lot, just to clarify. I should add
non-free-firmwarecomponent to proxmox source?Edit:
From : https://pve.proxmox.com/pve-docs/pve-admin-guide.html#sysadmin_debian_firmware_repo
That's what I'll do
@Buco7854 commented on GitHub (Aug 6, 2025):
Based on my previous comment I suggest to add a warning in the script before editing
/etc/apt/sources.listsince any component change to the debian or proxmox repo will be overwritten if the user did not already migrate to deb822. Additionally, shouldn'tnon-free-firmwarebe added by default in the script since that is now promox default setting.@MickLesk commented on GitHub (Aug 6, 2025):
pve8 work like before? ^^
@Buco7854 commented on GitHub (Aug 6, 2025):
Yes.
/etc/apt/sources.list, migrated it to/etc/apt/sources.list.d/debian.sourcesapt update: Everything looked fineintel-microcode: worked fineI am still on PVE 8.4.9
@PhantomQuad commented on GitHub (Aug 6, 2025):
Hello, appreciate the work done on this so far thanks! I wondered if you could create a post install script for the PBS v4 too?
@tjfrisch commented on GitHub (Aug 7, 2025):
Tried it out on PVE9 with a new beelink, worked fine @MickLesk
@Buco7854 commented on GitHub (Aug 7, 2025):
Finally installed PVE 9 and tried it. Worked as expected. Just added the
non-free-firmwarethat I bieleved should be there by default.Also updated to PBS 4, it seems the no nag fix in (https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/tools/pve/post-pbs-install.sh) doesn't work anymore there tho.
@GeorgeToka commented on GitHub (Aug 7, 2025):
I tried the updated script and was getting errors related to ceph. I tried re-running it but got the same errors:
@Buco7854 commented on GitHub (Aug 7, 2025):
Not sure but it looks like you tried to pull from an enterprise repository without a license key. You should use ceph no subscription repository if you don't have a key. Checkout your sources and remove ceph enterprise repository, according to the script you already have the community one.
@GeorgeToka commented on GitHub (Aug 7, 2025):
I thought the script was supposed to switch the enterprise source with a no-subscription one. The log states that it found the no-subscription repo which suggests that somehow I ended up with both. I might be missing something though.
@Buco7854 commented on GitHub (Aug 7, 2025):
Seems like previously the script would ask you if you wanted to create the sources and comment them. Seems like it did not differentiate if you already had it or not as long as you said yes.
Now it will add the no subscription ceph repo if you say yes and it's not already there. And overwrite the source file in the process. Since you already have ceph no subscription package it skips it. Then when you run apt update it tries to fetch the enterprise repository and fails.
@foureight84 commented on GitHub (Aug 7, 2025):
FYI, the post install script (Proxmox 8) doesn't remove the subscription nag in mobile web view. Thought I bring that up so that could be addressed in this release.
@MickLesk commented on GitHub (Aug 7, 2025):
This won't happen any time soon, as the mobile site is a completely new development and is completely different from what we had before. We'll have to spend hours looking to see where it is everywhere | by the way, for PVE8 it works for me?
@MickLesk commented on GitHub (Aug 7, 2025):
Mobile-Subscription-NAG:
A patch like the one used in the classic Proxmox web interface is impossible for the new mobile GUI because the dialog is dynamically generated directly in the browser using WebAssembly (Yew/Rust) and JavaScript.
There is no longer a single JS or text file on the server that could be patched using sed as before – the logic is firmly integrated into the compiled .wasm and .js bundles and cannot be manipulated on the server side using simple on-board tools.
Therefore, only CSS overrides or browser user scripts can help at present, but not a genuine server-side removal of the dialog logic.
In short:
Classic patching of JS files using sed is no longer possible with the new Yew frontend, as the dialog is generated directly from compiled WebAssembly/JS.
A server-side fix is therefore no longer practical; only client-side workarounds (CSS/UserScript) are possible.
@MickLesk commented on GitHub (Aug 7, 2025):
PR Created #6626
@GeorgeToka your issue should be fixed. They have added the enterprise in ceph too
@Buco7854 commented on GitHub (Aug 7, 2025):
Is there some entrypoint html file?
If so, could a custom js be created by the script and integrated into this html file to nullify the behavior ?
@MickLesk commented on GitHub (Aug 7, 2025):
No, I have searched the whole system, it is apparently only generated at runtime on the client. There is only two CSS, which I tried to patch, but even that was ignored, or was then like a “blocker” on the frontend.
If anyone has the time and inclination, they are welcome to have a look. Unfortunately there are hardly any more files for the new frontend. I think it will look like this in the real Proxmox frontend in the future.
@Buco7854 commented on GitHub (Aug 7, 2025):
Would you mind telling me the path were the mobile frontend is located please?
@Buco7854 commented on GitHub (Aug 7, 2025):
I have a javascript script to make it go away, just need to find the right place to place it
@MickLesk commented on GitHub (Aug 7, 2025):
/usr/share/pve-yew-mobile-gui/
@Buco7854 commented on GitHub (Aug 7, 2025):
Thanks, Trying to get 2 sed working but getting some trouble due to character escaping.Here is 2 thing to addCSS to hide the modal, and javascript to close it (so that you dont get blocked)I have a sed for cssbut I'm kind of blocked with escaping for the javascript one. It needs to add this script right before the body tag at the endAnd here are cleanup scripts to remove them.EDIT: got it working
@Buco7854 commented on GitHub (Aug 7, 2025):
Got it working, CSS is not even needed can't see any flashing or something.
If someone experience the modal poping and being instantly deleted we can still add the css
CSS if needed
Otherwise this should work on its own:
Basically this script adds new javascript inside the head section of the html (could not make it work in body probably related to the template). Then it waits for page to load and when it loaded, everytime the body is changed, it tries to get the nag and click on close button so that it disappear. Once it found the nag it stops watching for new change in the body.
Cleanup for CSS
Cleanup for JS
I believe the cleanup scripts (too avoid duplicate code) followed by the script itself should be run in the apt hook, the same as previous script was
@Buco7854 commented on GitHub (Aug 7, 2025):
Trying to implement it with the apt hook but can't make it work (escaping etc). Would stored scripts that are then called by the hook be acceptable?
@MickLesk commented on GitHub (Aug 7, 2025):
idk. at first i merge the current pr. Feel free to make a short single PR into ProxmoxVED
@michelroegl-brunner commented on GitHub (Aug 7, 2025):
new post install is merged.
@Buco7854 commented on GitHub (Aug 8, 2025):
Ok. Didn't go for the stored script approach, found a better way, you can look at it on the above PR if you wish.
@destratified commented on GitHub (Aug 9, 2025):
worked great. only issue i had was that I was upgrading and had an apt config issue with the new proxmox.source file and the old format pve-non-enterprise.list (which was used as the source for the upgrade) removed the old version and update/upgrade worked fine
@Buco7854 commented on GitHub (Aug 13, 2025):
Hello @foureight84 ,
Would you be willing to try out the script again?
Fix for mobile nag has been merged in dev, but some feedbacks would be appreciated
Discussion:
https://github.com/community-scripts/ProxmoxVE/discussions/6781
@exocyt0sis commented on GitHub (Aug 16, 2025):
This issue has been closed. Does that mean that the helper scripts are now all adjusted for Proxmox 9.0, or are they still incompatible?
@MickLesk commented on GitHub (Aug 16, 2025):
Really? We provide changelogs. We provide Pull requests, we provide daily releases. 1min research
@deserty21 commented on GitHub (Aug 18, 2025):
@MickLesk Thank you!
I used your script on a new installed proxmox 9.0-1...
✓ Disabled 'pve-enterprise' repository
✓ Disabled 'ceph enterprise' repository
✓ Added 'pve-no-subscription' repository
✓ 'ceph' package repository (no-subscription) already exists (skipped)
✓ Added 'pvetest' repository
✓ Disabled subscription nag (Delete browser cache)
✗ Selected no to Disabling high availability
✓ Updated Proxmox VE
✓ Completed Post Install Routines
Your post-install-script seems to be working fine so far for me. Was able to perform upgrades. Now running pve 9.0.5 on my server.
@skutter-de commented on GitHub (Aug 19, 2025):
The script works for me, too. Tested it on a fresh pve 9 install
@MarcelloCuoghi commented on GitHub (Aug 19, 2025):
I run it without problems after upgrading from 8.4.11 to 9.0.5, thank you!
@foureight84 commented on GitHub (Aug 21, 2025):
Confirmed working on 9.0.0 and upgraded to 9.0.5 using the script.
@foureight84 commented on GitHub (Aug 28, 2025):
OMG how did I miss this message. I just tested this and can confirm the nag on mobile does not appear
@hypnguyen1209 commented on GitHub (Sep 3, 2025):
Here is my script for performing upgrade of Proxmox Virtual Environment version 8.4 to latest version 9. It worked
https://gist.github.com/hypnguyen1209/b5bf7f256a7581cbcccbd32b18d9038c
@K2-Manu commented on GitHub (Oct 1, 2025):
C'est OK pour moi aussi :)
Merci
@arnimated commented on GitHub (Oct 6, 2025):
Thank you for this! I can confirm a successful execution on a 9.0.3 that was upgraded from a previous 8.4.1. No issues and all worked as expected and updated to the current 9.0.10!
bash -c "$(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVED/refs/heads/main/tools/pve/post-pve-install.sh)"@kwetnico commented on GitHub (Dec 30, 2025):
Don't works to proxmox v9.1.1 👍
@MickLesk commented on GitHub (Dec 30, 2025):
Yes, If you use the wrong script. 👍
@kwetnico commented on GitHub (Dec 30, 2025):
Where is the correct script ?
Thanks
@MickLesk commented on GitHub (Dec 30, 2025):
In this Repo.
@foureight84 commented on GitHub (Jan 30, 2026):
main branch is up-to-date works with 9.1