Is there a mod repository ? How to make mods ?

shodan

Active Member
Sep 1, 2022
159
45
33
Hi,

I would like the VM creation dialog to display the exact QM command line that a particular config will run.

I would also like to export and import this whole config using simple copy and pasting of a single line of text

And I thought I could mod my proxmox install and maybe post the mod on this forum ?
 
I would like the VM creation dialog to display the exact QM command line that a particular config will run.
If you mean in Web GUI - it does not run QM commands. It uses API.

I would also like to export and import this whole config using simple copy and pasting of a single line of text
It's pretty straightforward to convert "qm config [vmid]" output to qm lines


Blockbridge : Ultra low latency all-NVME shared storage for Proxmox - https://www.blockbridge.com/proxmox
 
Hello,

I spent most of last week installing mods for a game called Valheim
They insert a specially modified winhttp.dll that hooks into the game modifies the executable code in live memory !

There's even a mod manager incorporated into the game as a mod.

So I thought if amateurs can do this, could pro software like proxmox allow the user to load/unload/reorder what should be, basically javascript scriplets ?that modify the user interface ?


Here is one thing I was thinking of doing should be easy as a mod.

Adding one-click button to control the VM, right next to their names.

Example

1735465603566.png

The thing with modding is that they can be tested out easily, changed by the user and the user generally gets a better customized, ergonomically adjusted to them user interface !

If I could, I would also completely redo the "create VM dialog" !
At least to had a config template functionality that is user-editable from the interface !
 
It's pretty straightforward to convert "qm config [vmid]" output to qm lines

Hello,

It is not quite that easy !

I wish to obtain the command line to create a certain virtual machine with a single click

So starting from qm config

Code:
root@yak:~# cat /etc/pve/nodes/yak/qemu-server/109.conf
bios: ovmf
boot: order=ide0;ide2;net0
cores: 8
cpu: x86-64-v2-AES
efidisk0: local-lvm:vm-109-disk-0,efitype=4m,size=4M
ide0: local-lvm:vm-109-disk-1,size=32G
ide2: none,media=cdrom
machine: pc-q35-9.0
memory: 8000
meta: creation-qemu=9.0.2,ctime=1735453005
name: ggh
net0: e1000=BC:24:11:B0:18:E2,bridge=vmbr0,firewall=1
numa: 0
ostype: win11
scsihw: virtio-scsi-single
smbios1: uuid=dfbae130-aca6-4b9f-a6f2-35b066cf9dab
sockets: 1
tpmstate0: local-lvm:vm-109-disk-2,size=4M,version=v2.0
vmgenid: d4499490-bfeb-4ee8-bc91-3a420b3e0911
root@yak:~# qm config 109
bios: ovmf
boot: order=ide0;ide2;net0
cores: 8
cpu: x86-64-v2-AES
ide0: local-lvm:vm-109-disk-1,size=32G
ide2: none,media=cdrom
machine: pc-q35-9.0
memory: 8000
meta: creation-qemu=9.0.2,ctime=1735453005
name: ggh
net0: e1000=BC:24:11:B0:18:E2,bridge=vmbr0,firewall=1
numa: 0
ostype: win11
scsihw: virtio-scsi-single
smbios1: uuid=dfbae130-aca6-4b9f-a6f2-35b066cf9dab
sockets: 1
unused0: local-lvm:vm-109-disk-2
unused1: local-lvm:vm-109-disk-0
vmgenid: d4499490-bfeb-4ee8-bc91-3a420b3e0911


Then I ask chatgpt to make me a "qm create" but it struggles
This is the first attempt

Code:
root@yak:~# qm create 125 --bios ovmf --boot order=ide0;ide2;net0 --cores 8 --cpu x86-64-v2-AES --memory 8000 --name ggh --numa 0 --ostype win11 --scsihw virtio-scsi-single --smbios1 uuid=dfbae130-aca6-4b9f-a6f2-35b066cf9dab --sockets 1 --machine pc-q35-9.0 --net0 e1000=BC:24:11:B0:18:E2,bridge=vmbr0,firewall=1 --ide0 local-lvm:32G --ide2 none,media=cdrom --vmgenid d4499490-bfeb-4ee8-bc91-3a420b3e0911

The problem is that the boot order was not quoted, I ask, it fixes that.

new try

Code:
root@yak:~# qm create 125 --bios ovmf --boot "order=ide0;ide2;net0" --cores 8 --cpu x86-64-v2-AES --memory 8000 --name ggh --numa 0 --ostype win11 --scsihw virtio-scsi-single --smbios1 uuid=dfbae130-aca6-4b9f-a6f2-35b066cf9dab --sockets 1 --machine pc-q35-9.0 --net0 e1000=BC:24:11:B0:18:E2,bridge=vmbr0,firewall=1 --ide0 local-lvm:32G --ide2 none,media=cdrom --vmgenid d4499490-bfeb-4ee8-bc91-3a420b3e0911
unable to parse lvm volume name '32G'

new try

Code:
qm create 125 --bios ovmf --boot "order=ide0;ide2;net0" --cores 8 --cpu x86-64-v2-AES --memory 8000 --name ggh --numa 0 --ostype win11 --scsihw virtio-scsi-single --smbios1 uuid=dfbae130-aca6-4b9f-a6f2-35b066cf9dab --sockets 1 --machine pc-q35-9.0 --net0 e1000=BC:24:11:B0:18:E2,bridge=vmbr0,firewall=1 --ide0 local-lvm:32 --ide2 none,media=cdrom --vmgenid d4499490-bfeb-4ee8-bc91-3a420b3e0911


I know these are minor errors but just having the right command could probably save a lot of time to a lot of people.

I assume that the way the API calls are made, they are very close to the actual "qm create" command ?
 
...it would become a support nightmare. :)
It is always very inconvenient to give users options and power. but we do it anyway because we're also users
My old company had the right click button disabled on the mouse because it was too powerful
 
Is proxmox really open source ?
What percentage of the code is made by non proxmox employees if you exclude debian and qemu ?
Just the web interface and the various other parts holding the components as a coherent whole ?
Just how hard is it to have a minor modification included in proxmox, since there is no mod system ?
Or clearer, what is the rejection rate ? Do most programmer give up on making any changes, or publish them only on random repositories ?
I mean, I've been making install scripts for a while now, and now I've discovered other people making them.
But why is not at least a templating system in proxmox to build VMs from a user supplied script without opening a console ?
Like, deploying a vaultwarden, docker mailserver, trillium, owncloud,smokeping, webmin, apache/LAMP server that should have been for a long time a one click operation.

Even default hostnames like "vaultwarden.lan"
 
Is proxmox really open source ?

Yes.

What percentage of the code is made by non proxmox employees if you exclude debian and qemu ? ]Just the web interface and the various other parts holding the components as a coherent whole ?
Just how hard is it to have a minor modification included in proxmox, since there is no mod system ?
Or clearer, what is the rejection rate ? Do most programmer give up on making any changes, or publish them only on random repositories ?
I mean, I've been making install scripts for a while now, and now I've discovered other people making them.
But why is not at least a templating system in proxmox to build VMs from a user supplied script without opening a console ?
Like, deploying a vaultwarden, docker mailserver, trillium, owncloud,smokeping, webmin, apache/LAMP server that should have been for a long time a one click operation.

Even default hostnames like "vaultwarden.lan"

I see your feature requests but all this is totally unrelated to the software license.
 
  • Like
Reactions: cave and Johannes S
it would be error prone.
reboot VM isn't usual, even less multi VM reboot.
I agree reboot almost never works I just hit stop+overrule then start
Still a big PITA to do it once for a dozen of them in the multi-click process

It's weird this software is so mature yet has so many annoying speedbumps !
I imagine most user simply don't bother with the webui
 
Yes.



I see your feature requests but all this is totally unrelated to the software license.
I think what license a software is published under but not just the license but the willingness of the programmer team to work with outsiders.
For instance, everything is always broken in microsoft, because they don't accept outside code and don't show their code anyway. So everything stays broken forever until it annoys billgates personnally, then it gets fixed. That's why on windows we live inside the head of billgates, his way is the only way.
 
I mean "reboot isn't usual" = reboot isn't done from user as daily operation.
reboot almost never works I just hit stop+overrule then start
Then you have missing installing QEMU Guest Agent.
EDIT: indeed if you test ventoy, Reboot and Shutdown can't done gracefully , so Stop+overrule is required.
It's weird this software is so mature yet has so many annoying speedbumps !
Software require mature users.
 
Last edited:
By now, you should have figured out, that „modding“ isn‘t really at request, at least among the members of this forum.

The main reason for me is, that Proxmox is an essential component of my (homelab) Infrastructure and I won‘t endanger it‘s function by some 3rd party mods.
 
  • Like
Reactions: Johannes S and cave
But why is not at least a templating system in proxmox to build VMs from a user supplied script without opening a console ?
Like, deploying a vaultwarden, docker mailserver, trillium, owncloud,smokeping, webmin, apache/LAMP server that should have been for a long time a one click operation.
This is not how modern deployment works. Look at any automation platform for suggestions how to do this, e.g. cloudinit, which is already part of PVE or ansible. Provisioning of VMs is easy and the rest is automated. (At least I hope) no one would in a commercial setup would copy scripts from the internet so setup machines.

I know these are minor errors but just having the right command could probably save a lot of time to a lot of people.
That heavily depends, I use it just for debugging purposes in corner cases I played around with the args flag. In normal operation of a PVE system, you don't need it and most people I've ever seen using PVE don't need it.

Just how hard is it to have a minor modification included in proxmox, since there is no mod system ?
This is a hypervisor, not a game. No sane person would want to have something like that in the GUI in a system that is at the heart of your infrastructure. There is however the possibility to have e.g. storage plugins in order to access a storage system currently not supported by Proxmox, so the plugin infrastructure exists, yet only for necessary parts.

If you really want something like that for you own setup, look at Greasemoney and monkey-patch the code on the fly by yourself.
 
I think what license a software is published under but not just the license but the willingness of the programmer team to work with outsiders.
For instance, everything is always broken in microsoft, because they don't accept outside code and don't show their code anyway. So everything stays broken forever until it annoys billgates personnally, then it gets fixed. That's why on windows we live inside the head of billgates, his way is the only way.

So you tell us that we are not interested in working with community members? This is a weird assumption and not true.

But yes, we do not implement every idea which do not fit into the goals of the projects. But we try to answer to all members, see this thread.