-
-
Notifications
You must be signed in to change notification settings - Fork 1.1k
Support podman as alternative to docker #520
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
Just a remark: If podman is supported (which is perfectly fine from my perspective), a parallel running instance of dockerd should not be broken. Otherwise all containers running on the machine will have to be migrated in one step. This might be impossible if other containers are running in parallel for different tasks. |
Just recording my last experience with Podman from some other tests I've done recently. TLDR: Podman is just not good enough (for our use case) yet. On CentOS 8, a relatively old Something as simple as:
.. leads to the port not being exposed correctly. It's not accessible from the internet. If the On Ubuntu 20.10, there's a Certain dependencies (
After installing these dependencies manually, it seems to work and is not broken like the CentOS 8 package (likely because it's much newer - For containers to talk to each other by name (something we rely on and quite enjoy to have available with Docker), we need the dnsname plugin. Installing this plugin is a manual process which requires I've verified that it works nicely though, but this kind of installation procedure is quite ugly. An alternative to containers talking to each other by name (using the dnsname plugin) is making them explicitly pass IP addresses to one another. Example
Downsides:
My conclusion from all of these tests is that Podman is just not good enough (for our use case) yet. It's poorly-packaged (Ubuntu 20.10, likely due to Debian packaging) and basic networking functionality is broken on some important distros (CentOS 8). It's a bad experience on distros (RHEL 8 / CentOS 8) that are supposedly pushing hard for it and telling people they can do Our aim with the playbook is to provide a good and straightforward installation and experience on a bunch of different distros. Right now, by relying on Docker, the playbook supports CentOS (7, but 8 is likely close), lots of Ubuntu versions (going back 4 years ago, to the ancient 16.04), Debian (latest and some few versions back), Archlinux. And for 3 different architectures even. Docker just works. I do use |
This seems to be relevant: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=971253 |
Have you tried with packages from kubic? https://software.opensuse.org//download.html?project=devel%3Akubic%3Alibcontainers%3Astable&package=podman
|
Just adding a link to #1133 for anyone who's interested in podman support as well. |
A small update. Looks like Podman v4 is now out, which changes the way networking works. Here's some release announcement. So, we potentially don't need the |
Why not run all the matrix containers in the same pod? Basically they would all share a network namespace, so no need to either access other containers by name or passing the IP addresses. You can just use localhost in the containers to access other containers in the same pod. |
I just stumbled across your project and its awesome! I don't run Docker on my server though and do not intend to install it, so Podman support would be greatly appreciated 👍 |
@ChuckMoe check out Deploy your own Matrix server on Fedora CoreOS at Fedora Magazine Strange that the article's not been mentioned before here as it's almost as old as this bug report. |
@xpseudonym thank you, I will take a look! :) |
Interesting - are these user pods? Using user pods with a unique user for each app (pod group) seems much more secure - seems to be emulating android security model of confining user installed apps each to a unique user: https://source.android.com/docs/security/app-sandbox |
What do you mean with app? Currently I am using one pod for the server and the bridges, and another for the coturn server. I thought about putting all the bridges in different pods as well but I would have to fiddle with the networking then. Its still not ready though as there are some higher priority things on my list. |
I was using app in a very unsophisticated way - like I might refer to Nextcloud as an app where obviously it's collection of things. |
Then yes, you can define different users for every pod and therefore app. |
This is quite far in the future, as ubuntu 20.04 doesn't yet include podman, but:
https://packages.debian.org/bullseye/podman
Probably relates to #300 and #64
The text was updated successfully, but these errors were encountered: