Dev environment

virtualizerforlife

New Member
Jan 12, 2025
5
0
1
Hey,

Is it possible to create a dev environment in proxmox that can be connected to vscode in the same network?
Also, has anyone utilized proxmox VE to create dev environments? If yes, then what is your setup looking like?
 
Is it possible to create a dev environment in proxmox that can be connected to vscode in the same network?
Also, has anyone utilized proxmox VE to create dev environments? If yes, then what is your setup looking like?
From this it is not really clear which approach you have in your mind. There are at least two of them.

Recommended: create whatever VIRTUAL machines you need for your job. Use them remotely. This is the usual way and it is the way PVE is meant to be used!

Then there is the idea of a "Developer Workstation": https://pve.proxmox.com/wiki/Developer_Workstations_with_Proxmox_VE_and_X11

This is the beauty of Debian as the foundation: you can do with it whatever you want. Of course you are leaving the supported area and to find help for specific problems will be difficult.


That said..., personally I am fighting with this for some years now. I was seeking for an alternative for Qubes-OS https://www.qubes-os.org/ - "A reasonably secure operating system" which uses Xen to put individual (sets of) applications into isolated "Domains". It comes with some really valuable glue to make it usable. This latter aspect is not available for the following approach:

I do have Proof-of-Concept on a NUC; this specific one is too small, both CPU- and RAM-wise, but for a PoC it works. The Mini-PC runs PVE plus a Desktop Environment (Sway on Wayland). I can start some VMs, open a SPICE session for each, put them on separate virtual Desktops and toggle fullscreen. Some machines need manual adjustment of the "inside" resolution, some work automagically correct.

After preparing the above I can switch between them with a "<meta>-number" hotkey. And everything in "4K" :-)

Unfortunately it is not really convenient. There is too much to do manually. While the VMs could start automatically I need to login in, open my primary browser, log in as root, open Spice, move those windows to their desktops, log in to each one, adjust "some" settings and so on. While the clipboard does work, copying files needs a central instance (aka fileserver) to work - including credentials to access it.

If anybody knows some magic glue to raise convenience in such a construct I would be thankful for a pointer :-)
 
  • Like
Reactions: news and leesteken
I do have Proof-of-Concept on a NUC; this specific one is too small, both CPU- and RAM-wise, but for a PoC it works. The Mini-PC runs PVE plus a Desktop Environment (Sway on Wayland).
I do a similar thing but the desktop is inside a VM with GPU and USB passthrough. I could not get Qubes-OS to properly install in a VM.
Unfortunately it is not really convenient. There is too much to do manually. While the VMs could start automatically I need to login in, open my primary browser, log in as root, open Spice, move those windows to their desktops, log in to each one, adjust "some" settings and so on. While the clipboard does work, copying files needs a central instance (aka fileserver) to work - including credentials to access it.
I use non-persistent VMs (which self-destruct on shut down with a hookscript) for anything internet related. I use a green/orange/red directory structure with virtio-9p-pci: green VMs can see orange and red folders, but not the other way around. A script clones the VM, sets the virtual network base on color and runs another script inside the VM to copy browser-bookmarks, run a program and shuts down afterwards. I've installed all software that I want to run inside the VM that is the basis for the template. It's ugly but sorts of works for me.
If anybody knows some magic glue to raise convenience in such a construct I would be thankful for a pointer :-)
Unfortunately, it's indeed not really convenient. KeePassXC does not always work well through SPICE and prevents me from using "activation follows mouse" for example.
 
  • Like
Reactions: UdoB
I do a similar thing but the desktop is inside a VM with GPU and USB passthrough.
Yeah, that might help. It is probably not an option for a NUC type Mini PC. (I have no idea if the build-in GPU can do this.)
I could not get Qubes-OS to properly install in a VM.
From my point of view that would not make sense. The "Dom0" Kernel probably wants to control the real hardware.
with virtio-9p-pci: green VMs can see orange and red folders
That's a new idea for me, thanks! While I actually had tested virtio-9p I did not see in in this use case. Sometimes I am slow... :-)
 
Hey,

Is it possible to create a dev environment in proxmox that can be connected to vscode in the same network?
Also, has anyone utilized proxmox VE to create dev environments? If yes, then what is your setup looking like?
You could always use your PVE machine as your dev machine and install whichever tools you use. For testing things you could utilize PVE's VMs and CTs. As for setting up something like a self-hosted GitHub codespace, hosting GitPod on a VM suggests itself.