6 ms·
Podman Quadlets with Podman Desktop
- nashashmi 2y agoI have been trying to use podman with docker containers to avoid the docker license fee, yet to no avail. Wish there was a tutorial. The docker desktop is a nice interface to interact with containers and podman did not have that last time I checked. edit: Looks like it changed quite a lot. this looks so much nicer edit2: I still need a tutorial. had so many errors come up. :(
- mdaniel 2y agoI don't want to dissuade you from Podman Desktop, because Podman is awesome in its own way, but I do hear you about the "uncanny valley" part. I wanted to offer that you don't have to jump all the way to podman (and Podman Desktop) just to escape the Docker Desktop licensing problem. There are a lot of alternatives which a whole spectrum of "I am CLI savvy or not" interaction experiences - Rancher Desktop is A++ and carries a friendly license https://rancherdesktop.io/ https://rancherdesktop.io/ -> https://github.com/rancher-sandbox/rancher-desktop/blob/v1.18.2/LICENSE https://github.com/rancher-sandbox/rancher-desktop/blob/v1.1... - colima (and the lima it wraps) -> https://github.com/abiosoft/colima#readme https://github.com/abiosoft/colima#readme - there's one from AWS called Finch <https://github.com/runfinch/finch https://github.com/runfinch/finch> that some of my colleagues like better than colima; YMMV <https://aws.amazon.com/blogs/opensource/introducing-finch-an-open-source-client-for-container-development/ https://aws.amazon.com/blogs/opensource/introducing-finch-an...>
- deleted 2y ago[deleted]
- kristianp 2y agoWhat OS are you running it on?
- chuckadams 2y agoIf you’re on a Mac, I highly recommend OrbStack. Perfect Docker compatibility so far, actually better Rosetta support than Docker itself.
- infogulch 2y agoQuadlets came up recently: Quadlet: Running Podman containers under systemd (mo8it.com) | 298 points | 68 comments | https://news.ycombinator.com/item?id=43456934 https://news.ycombinator.com/item?id=43456934 Where do quadlets fit in the container management landscape? Running individual services that would have been RPMs? Docker compose? K8s?
- WesolyKubeczek 2y agoI run container sets (like you'd probably run with docker-compose) as systemd services using this.
- infogulch 2y agoHow do you manage and deploy it? Git a systemd directory?
- sc68cal 2y agoAnsible has support for quadlet creation in the containers.podman collection
- WesolyKubeczek 2y agoIt's my homeassistant setup. I run mosquitto, zigbee2mqtt, and homeassistant in it (everything they connect to is on the network, so no need to do USB access mumbo jumbo). I don't "manage" it; I have a yaml file (generated from running containers with "podman kube generate") in a directory along with volumes those containers need, and a file in /etc/containers/systemd pointing to that yaml file. That's it. And once all peripherals are seen and run correctly, I don't "manage" it as long as it works.
- c45y 2y agoIt's just a ~/.config/containers/systemd/ folder for rootless containers, I stuff the whole thing in a git repo
- pydry 2y agoquadlets is an answer to the question "but what if we also threw a docker compose substitute into the systemd kitchen sink"?
- deleted 2y ago[deleted]
- andreldm 2y agoI have a RPi 2 that’s more than enough for my home server needs and I’ve tried to migrate from docker to podman, it simply failed miserably with weird errors, on my laptop everything worked fine, so maybe that’s an issue with Arch ARM or the 32-bit version of it, but really, I wish they could abstract away quadlet, service files generation and so on.
- Alupis 2y agoIf you install the `podman-docker` package, you get compatibility with docker commands. If you have errors during runtime, it's probably something in your container/config that's assuming a docker socket/runtime. Some of which can be remedied by pointing `DOCKER_HOST` to your podman socket, etc.
- andreldm 2y agoThe problem wasn’t running the containers with plain podman, they worked. Auto restart is something podman delegates to quaqlet/systemd, I tried to migrate my docker-compose files to quadlet’s config, the containers were up, supposedly listening to the bound ports but connecting simply didn’t work. I tried rootless, slirp4netns and pasta, nothing worked, then I gave up, some other day I might try again.
- worewood 2y agoRunning a very similar setup here, also have issues with networking. Pasta worked, but has bugs and replied UDP packets on the wrong ports. The pasta version from debian packages is too old. Also, I tried making the networking work but now I just slap --network=host on everything and call it a day--works perfectly.
- orthoxerox 2y agoWhat is the killer feature that will make me want to switch from Docker Compose to Podman Quadlets?
- dharmab 2y agoI prefer quadlet for 2 reasons: 1. Podman is simpler than Docker. There is no long-running daemon. Rootless is default. 2. Quadlets can be managed as systemd services, giving me the same tools to manage and view logs for system daemons and containers. Quadlets have been especially nice for bundling up an AI app I wrote as a cloud-init file, making it easy to deploy the hardware, software and models as one artifact.
- pydry 2y agoquadlets == systemd which requires root to run. this is NOT the same thing as "systemd cant run non root containers". OBVIOUSLY it can, just as docker can run non root containers. Making systemd a necessary dependency to run > 1 container kinda negates many of the the nice advantages that podman has of not requiring root. podman compose doesnt require root and would serve as a substitute but it's a very neglected piece of software.
- zacwest 2y agoYou can do non-root systemd units, including Quadlets. See <https://docs.podman.io/en/latest/markdown/podman-systemd.unit.5.html https://docs.podman.io/en/latest/markdown/podman-systemd.uni...> under "Podman rootless unit search path."
- pydry 2y agoyou can run docker containers without them requiring root too. systemd itself is a root service. it shouldnt be a necessary dependency to run > 1 containers without root. somehow it is.
- znhll 2y agoI recently started making the switch from docker (and docker compose) to using podman and quadlet, but holy crap is the documentation for podman quadlets a big f-you wall-of-text mandoc that would make Torvalds proud. I've read thru that and am still not quite sure of how to get from point A to point B. To replace a single docker compose file, sounds like one needs to manually create a number of .container, .volume, .network, .kube files correctly so systemd can spin up a container pod? Is that what I'm reading? Is there nothing that can generate that from a docker-compose.yml?
- pjd7 2y agoI started looking into podman quadlets on the weekend. All because docker & nft (nftables firewall) don't play nice together. I have my finely crafted nftables ruleset that I want to keep. Docker is going to abuse the crap out of my ruleset/make me jump through extra hoops to have it work. Having the containers operate under systemd looks fine (ignoring the fact that it is systemd, I guess I have finally accepted systemd is here to stay). I was interested in using traefik & docker labelling to have ingress sorted out and I believe this will all play nicely enough to replace docker-compose on a single server.
- esseph 2y agoIf you are an individual dev and coming from the docker swarm / compose world, podman will drive you mad. If you are a sysadmin / platform engineer / etc type familiar with kubernetes / k3s, podman has some pros and cons about it that make working in that ecosystem (systems, platforms) much nicer to manage. What we are missing right now is a bridge between the two that podman-compose doesn't exactly fulfill for a lot of people.
- haolez 2y agoThis made me remember Fleet[0], which I used in the past on CoreOS. It was a very good abstraction for my simple cluster. It felt as robust as a managed cloud service. It's a shame it didn't catch on (and also what happened to CoreOS). [0] https://github.com/coreos/fleet https://github.com/coreos/fleet
- mdaniel 2y ago> (and also what happened to CoreOS) Arguably worse, IMHO, is that the name lives on but does something wholly different, polluting search results Anyway, I wanted to plug Flatcar which forked CoreOS back when the nonsense started and have been pretty pleasant to work with. They are still misguided about user-data management, and have since been acquired by Microsoft(!), but the code lives on https://github.com/flatcar/Flatcar#readme https://github.com/flatcar/Flatcar#readme and https://www.flatcar.org/docs/latest#upgrading-from-coreos-container-linux https://www.flatcar.org/docs/latest#upgrading-from-coreos-co...
- ldmosquera 2y agoSmall note - https://github.com/flatcar/Flatcar https://github.com/flatcar/Flatcar has no code in any branches: > Flatcar project repository for issue tracking, project documentation, etc. Per the building page https://www.flatcar.org/docs/latest/reference/developer-guides/sdk-modifying-flatcar/ https://www.flatcar.org/docs/latest/reference/developer-guid... the actual code seems to be at https://github.com/flatcar/scripts.git https://github.com/flatcar/scripts.git
- mdaniel 2y agoYes, apologies, that was poor wording on my part. The "lives on" was meant in the "continuation" sense but I can see how "lives on https:" implied it was in that specific repo. Sorry about that
- esseph 2y agoHm. I'm actually deploying some CoreOS systems this weekend as a test.
- sudomateo 2y agoThanks for sharing this. For some reason I haven't heard of Podman Quadlets until this post. I can think of a few places where Quadlets would work better than Kubernetes or Compose. I'll give them a tinker.
- bjackman 2y agoYeah I recently put together a home NAS and was dismayed that I had to use Docker Compose. (There's podman-compose but it's... incomplete). Immediately after I finished the project I discovered the Quadlet thing! Seems like the userbase is there, the technology is there, and now the two just need to be put together with some awareness.
- bjoli 2y agoCan I use podman desktop to manage my quadlets on a server over ssh? That would be awesome.
- axel7083 2y agoI would say yes, but never tried: 1. enable remote connection in podman desktop (https://podman-desktop.io/docs/podman/podman-remote https://podman-desktop.io/docs/podman/podman-remote) 2. try the quadlet extensions (https://podman-desktop.io/blog/podman-quadlet https://podman-desktop.io/blog/podman-quadlet) I am curious to have feedback if you give it a try (https://github.com/podman-desktop/extension-podman-quadlet/issues https://github.com/podman-desktop/extension-podman-quadlet/i...)
- Havoc 2y agoIs this essentially a compose file in systemd format? Or is there some other complexity that I’m missing
- esseph 2y agoYes and no. This is more a bridge between system level container orchestration and kubernetes.
- cassepipe 2y agoSome help in case you got lost in the terminolgy as I did : Containers: Encapsulate application and its environment Pods: Group one or more containers in Kubernetes Kubernetes: Orchestrates containers across clusters. Quadlets: Declarative container management with Podman and systemd Podlet: Tool to generate Quadlet file from existing podman configuration
- esseph 2y agoPodlet is more than that. It will generate Podman Quadlet files from a Podman command, docker / compose file, or existing object. It can also create kubernetes pod yaml.