From: Raven King via pve-devel <pve-devel@lists.proxmox.com>
To: Proxmox VE development discussion <pve-devel@lists.proxmox.com>
Cc: Raven King <thekingofravens@disroot.org>
Subject: [pve-devel] Proposal For Podman Container Support
Date: Thu, 13 Mar 2025 11:03:48 -0700 [thread overview]
Message-ID: <mailman.32.1741889565.416.pve-devel@lists.proxmox.com> (raw)
[-- Attachment #1: Type: message/rfc822, Size: 7068 bytes --]
From: Raven King <thekingofravens@disroot.org>
To: Proxmox VE development discussion <pve-devel@lists.proxmox.com>
Subject: Proposal For Podman Container Support
Date: Thu, 13 Mar 2025 11:03:48 -0700
Message-ID: <e0a39815-26cc-4530-9bcd-5e5e2f1f1ae4@disroot.org>
Hello,
This is my first time writing to this mailing list. I have never
contributed to proxmox but I would like to try and write a feature that
allows native container support (not inside an LXC or VM).
My goal would be that you could manage those containers much like
LXC/VMs with similar UI behavior (resource usage views, easy access to
container console, and resource sharing).
Its a large undertaking, and I would probably want to get a little
experience with the proxmox codebase first.
*Why do this?*
1. It is parroted by users frequently. Just look up "run docker in
proxmox" and you will see dozens.
2. It would add a major use case to proxmox.
3. For me personally, it removes a major pain point of using
proxmox, which is setting up an LXC to then share resources with to then
setup a docker image to then share resources with.
Or using docker directly and tearing my hair out as it
magically breaks all my proxmox network config.
*Why Podman?*
1. Easy enough to use.
2. Packaging. The support in debian is straightforward and won't
confuse anyone. This means the project won't have to maintain podman
itself in any way.
3. Security. Podman needs limited privileges to operate compared to
docker. This makes it easier to mesh with things such as user accounts.
4. Interop. It easily goes to/from kubernetes, which can help in
some enterprise use cases. Also doesn't interact in ways that break
existing pve config mechanisms.
*What does podman offer an LXC doesn't?*
1. Easy deployment, you can just pull images that someone prebuilt
for a purpose, including most docker images.
2. Directly sharing a host directory (not a whole drive) such as
single zfs datastore. While achievable in LXC, you have to do a bunch of
user mapping and the setup is rather involved.
*What drawbacks have I considered?
*1. Using privileged ports in a podman container is a little tricky
without root. Proxmox mostly runs as root though, so this is really only
a problem for secondary users.
2. I will take a lot of work to ensure the networking works in a way
consistent with other networking in proxmox.
3. Increase support burden as users who aren't entirely familiar with
docker/podman containers ask questions that could be answered through
research.
4. Some services people might want to run, such as nginx proxy manager,
are gonna be very hard to use in this way due to number 1.
I am writing to the mailing list before even beginning on this endeavor
to get several questions answered:
1. Do y'all have any general tips and pointers about navigating and
working with the proxmox codebase?
2. Where is a good list to grab bugs to get familiar with proxmox
structure and what functionality is where? I have some hardware, but I
am not capable of testing stuff like multi-gpu setups.
I see
https://bugzilla.proxmox.com/describecomponents.cgi?product=pve but
there is a lot of components to proxmox. I have a hard time picking a
spot to start.
3. Are there any major drawbacks to container support that need
consideration?
4. Are there specific drawbacks to podman that need consideration?
5. Anything else I am overlooking with this idea?
Sincerely,
Raven King
[-- Attachment #2: Type: text/plain, Size: 160 bytes --]
_______________________________________________
pve-devel mailing list
pve-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel
reply other threads:[~2025-03-13 18:12 UTC|newest]
Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=mailman.32.1741889565.416.pve-devel@lists.proxmox.com \
--to=pve-devel@lists.proxmox.com \
--cc=thekingofravens@disroot.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
Service provided by Proxmox Server Solutions GmbH | Privacy | Legal