Skip to content

post-pdm-install #2140

Description

@MickLesk

Name of the Script

post-pdm-install

Script Type

PVE Tool (tools/pve)

Does this script support arm64?

arm64 not tested

📋 Script Details

Post-installation routines for a Proxmox Datacenter Manager host, closing out discussion #9721. Same structure as post-pmg-install.sh: shared repo_state/toggle_repo helpers, one whiptail prompt per step, nothing changed without asking.

Repository data taken from the official docs (pdm.proxmox.com/docs/installation.html), not guessed:

Component URI File
pdm-enterprise https://enterprise.proxmox.com/debian/pdm pdm-enterprise.sources
pdm-no-subscription http://download.proxmox.com/debian/pdm proxmox.sources
pdm-test http://download.proxmox.com/debian/pdm pdm-test.sources (Enabled: false)

Four deliberate differences from the PMG script:

  • The default menu item for pdm-enterprise is disable, not keep. Per the docs that repository is enabled by default after a fresh install, so apt update fails without a subscription — which is the main reason anyone runs this script. The menu text says so.
  • No arm64 abort. PMG has one because Proxmox states it explicitly; I found no such statement for PDM, so I did not invent one.
  • Nag patch touches only proxmox-widget-toolkit. PDM uses the Yew-based UI and has no pmgmanagerlib-mobile.js equivalent, so only the part that can be verified is patched.
  • Own reminder text — PDM is still under active development, so the warning is about keeping direct access to the PVE web interfaces rather than the PMG cluster note.

Suites are never pinned: VERSION_CODENAME from /etc/os-release is used throughout, so bookworm- and trixie-based PDM installs both work.

Not verified: download.proxmox.com/debian/pdm/dists/trixie/Release returned 000 (no connection) from my machine; the enterprise counterpart returned 401, which confirms the path exists. The layout therefore comes from the documentation rather than from the server.

JSON metadata added at json/post-pdm-install.json (type: pve, modelled on dependency-check.json).

Source: https://pdm.proxmox.com/docs/

Activity

  1. github-actions commented on Aug 4, 2026

    @github-actions
    Contributor

    The post-pdm-install script is ready for testing:

    bash -c "$(curl -fsSL https://github.com/community-scripts/ProxmoxVED/raw/main/tools/pve/post-pdm-install.sh)"
    

    Note: This is not in the official repo yet—it's just a dev version! After merging into ProxmoxVE, it will need to be recreated.

    Discord testing thread: https://discord.com/channels/1302816934508630047/1534112006506942494

  2. MickLesk commented on Aug 4, 2026

    @MickLesk
    MemberAuthor
    Image
  3. lubomben commented on Aug 4, 2026

    @lubomben

    Tested and worked. Repositories seem updated but nag screen still showed (browser cache cleaned).

    root@puvpdm01:# sudo apt update && sudo apt upgrade -y
    Hit:1 http://deb.debian.org/debian trixie InRelease
    Hit:2 http://deb.debian.org/debian trixie-updates InRelease
    Hit:3 http://security.debian.org/debian-security trixie-security InRelease
    Hit:4 http://download.proxmox.com/debian/pdm trixie InRelease
    All packages are up to date.
    Summary:
    Upgrading: 0, Installing: 0, Removing: 0, Not Upgrading: 0
    root@puvpdm01:
    #

    Image
  4. MickLesk commented on Aug 4, 2026

    @MickLesk
    MemberAuthor

    How you get the nag? i dont see it in my system?

  5. lubomben commented on Aug 4, 2026

    @lubomben

    In two moments:

    1. if I clear browser cache and I login, after the login
    2. When I go to administration > Updates > Refresh

    I was thinking to execute the script another time. What do you think? Can be a try?

  6. MickLesk commented on Aug 4, 2026

    @MickLesk
    MemberAuthor

    did you perform an restart after script success?

  7. lubomben commented on Aug 4, 2026

    @lubomben

    Yes, update as proposed by the script and then reboot.

  8. MickLesk commented on Aug 4, 2026

    @MickLesk
    Author
  9. lubomben commented on Aug 4, 2026

    @lubomben

    Relunched the script with:

    bash -c "$(curl -fsSL https://github.com/community-scripts/ProxmoxVED/raw/main/tools/pve/post-pdm-install.sh)"

    Cache cleared.

    After login no nag popup (even if you are right that message is regarding the nodes without subscription)

    No nag screen when I go in Administration > Updates > Refresh
    BUT... task viewer does not appear and the refresh not start.

    To be clear the following pop up does no start (screenshot taken from another PDM without script):

    Image
  10. MickLesk commented on Aug 4, 2026

    @MickLesk
    MemberAuthor

    okay, yes ive patched the nag out, may im patching to much :D i take a look

  11. MickLesk commented on Aug 4, 2026

    @MickLesk
    MemberAuthor

    To retest, the marker has to go first, otherwise the patch script sees the old block and skips:

    sed -i '/PDM_NO_MORE_NAGGING/,$d' /usr/share/javascript/proxmox-datacenter-manager/js/pdm-ui_bundle.js
    apt --reinstall install proxmox-datacenter-manager-ui

    The reinstall restores a clean bundle and the apt hook re-applies the new patch. Then hard-reload the browser and execute the script again plkease

  12. lubomben commented on Aug 4, 2026

    @lubomben

    I'm not sure I understand.

    I executed :

    sed -i '/PDM_NO_MORE_NAGGING/,$d' /usr/share/javascript/proxmox-datacenter-manager/js/pdm-ui_bundle.js apt --reinstall install proxmox-datacenter-manager-ui

    then executed again:

    bash -c "$(curl -fsSL https://github.com/community-scripts/ProxmoxVED/raw/main/tools/pve/post-pdm-install.sh)"

    Then I cleared browser cache, Logged in, no nag.

    Administration > Updates > Refresh and no nag.

    But when I click on "Refresh" still no Task Viewer showed.

  13. MickLesk commented on Aug 4, 2026

    @MickLesk
    MemberAuthor

    hm, looks like the sed doesnt work for you, then just move it;

    mv /usr/share/javascript/proxmox-datacenter-manager/js/pdm-ui_bundle.js /usr/share/javascript/proxmox-datacenter-manager/js/pdm-ui_bundle.js.bak
    apt --reinstall install proxmox-datacenter-manager-ui

    CTRL +R in PDM UI
    => Open SHell, execute script again
    CTRL +R in PDM UI
    => Check again

  14. lubomben commented on Aug 4, 2026

    @lubomben

    No, sed works, the issue is that apt reinstall put again the function:

    `root@puvpdm01:~# tail -30 /usr/share/javascript/proxmox-datacenter-manager/js/pdm-ui_bundle.js
    initSync
    };

    // PDM_NO_MORE_NAGGING
    (function () {
    var MARK = 'data-pdm-nag';
    var dismiss = function (d) {
    if (d.getAttribute(MARK)) return;
    d.setAttribute(MARK, '1');
    var tries = 12;
    var tick = function () {
    if (!d.isConnected || tries-- <= 0) return;
    try { d.close(); } catch (e) {}
    setTimeout(tick, 120);
    };
    requestAnimationFrame(tick);
    };
    var scan = function () {
    document.querySelectorAll('dialog.pwt-outer-dialog').forEach(function (d) {
    if ((d.textContent || '').indexOf('pdm.proxmox.com') !== -1) dismiss(d);
    });
    };
    var start = function () {
    scan();
    new MutationObserver(scan).observe(document.body, { childList: true, subtree: true });
    };
    if (document.body) { start(); } else {
    document.addEventListener('DOMContentLoaded', start);
    }
    })();
    root@puvpdm01:# sed -i '/PDM_NO_MORE_NAGGING/,$d' /usr/share/javascript/proxmox-datacenter-manager/js/pdm-ui_bundle.js
    root@puvpdm01:
    #
    root@puvpdm01:#
    root@puvpdm01:
    # tail -30 /usr/share/javascript/proxmox-datacenter-manager/js/pdm-ui_bundle.js
    }
    }
    const imports = __wbg_get_imports();
    if (!(module instanceof WebAssembly.Module)) {
    module = new WebAssembly.Module(module);
    }
    const instance = new WebAssembly.Instance(module, imports);
    return __wbg_finalize_init(instance, module);
    }
    async function __wbg_init(module_or_path) {
    if (wasm !== void 0) return wasm;
    if (module_or_path !== void 0) {
    if (Object.getPrototypeOf(module_or_path) === Object.prototype) {
    ({ module_or_path } = module_or_path);
    } else {
    console.warn("using deprecated parameters for the initialization function; pass a single object instead");
    }
    }
    const imports = __wbg_get_imports();
    if (typeof module_or_path === "string" || typeof Request === "function" && module_or_path instanceof Request || typeof URL === "function" && module_or_path instanceof URL) {
    module_or_path = fetch(module_or_path);
    }
    const { instance, module } = await __wbg_load(await module_or_path, imports);
    return __wbg_finalize_init(instance, module);
    }
    export {
    __wbg_init as default,
    initSync
    };

    root@puvpdm01:#
    root@puvpdm01:
    #
    root@puvpdm01:~# apt --reinstall install proxmox-datacenter-manager-ui
    Summary:
    Upgrading: 0, Installing: 0, Reinstalling: 1, Removing: 0, Not Upgrading: 0
    Download size: 5,898 kB
    Space needed: 0 B / 39.2 GB available

    Get:1 http://download.proxmox.com/debian/pdm trixie/pdm-no-subscription amd64 proxmox-datacenter-manager-ui amd64 1.1.3 [5,898 kB]
    Fetched 5,898 kB in 1s (8,750 kB/s)
    (Reading database ... 56430 files and directories currently installed.)
    Preparing to unpack .../proxmox-datacenter-manager-ui_1.1.3_amd64.deb ...
    Unpacking proxmox-datacenter-manager-ui (1.1.3) over (1.1.3) ...
    Setting up proxmox-datacenter-manager-ui (1.1.3) ...
    Patching PDM subscription nag...
    root@puvpdm01:#
    root@puvpdm01:
    #
    root@puvpdm01:~# tail -30 /usr/share/javascript/proxmox-datacenter-manager/js/pdm-ui_bundle.js
    initSync
    };

    // PDM_NO_MORE_NAGGING
    (function () {
    var MARK = 'data-pdm-nag';
    var dismiss = function (d) {
    if (d.getAttribute(MARK)) return;
    d.setAttribute(MARK, '1');
    var tries = 12;
    var tick = function () {
    if (!d.isConnected || tries-- <= 0) return;
    try { d.close(); } catch (e) {}
    setTimeout(tick, 120);
    };
    requestAnimationFrame(tick);
    };
    var scan = function () {
    document.querySelectorAll('dialog.pwt-outer-dialog').forEach(function (d) {
    if ((d.textContent || '').indexOf('pdm.proxmox.com') !== -1) dismiss(d);
    });
    };
    var start = function () {
    scan();
    new MutationObserver(scan).observe(document.body, { childList: true, subtree: true });
    };
    if (document.body) { start(); } else {
    document.addEventListener('DOMContentLoaded', start);
    }
    })();
    root@puvpdm01:~#`

    What about the bold section? For my understading "apt --reinstall" patch again the js script.

    **So... what I did.
    I executed only the sed command, reexecuted the intall script, rebooted, browser cache cleared.

    Then, logged in and no nag.
    Administration > Updates > Refresh -> NO NAG ADN TASK VIEWER WORKED!

    Final note: thanks to the script my PDM version upgraded from 1.0.1 to 1.1.7 👍**

  15. MickLesk commented on Aug 4, 2026

    @MickLesk
    MemberAuthor

    so all fine and working? ^^

  16. lubomben commented on Aug 4, 2026

    @lubomben

    at the moment, for me perfect as the PVE and PBS scripts ;)

  17. jimmy-tr33 commented on Aug 9, 2026

    @jimmy-tr33

    Worked for me too.

  18. github-actions commented on Aug 9, 2026

    @github-actions
    Contributor

    A PR has been created for post-pdm-install: community-scripts/ProxmoxVE#16368

  19. michelroegl-brunner commented on Aug 10, 2026

    @michelroegl-brunner
    Member

    Merged with #16368 in ProxmoxVE

  20. github-actions commented on Aug 10, 2026

    @github-actions
    Contributor

    Files deleted with PR #2162

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions