Today I tried Docker Compose with rootless Podman 3.4.4, and the happy news is that it works ๐ŸŽ‰.

Podman (and Rootless) had compose support since version 3.0, However I’ve never had luck with it. I’ve tried it again today and it works perfectly.

Here are the steps to run compose files using podman rootless.

  1. Ditch Docker and install Podman instead.
  2. Start the rootless Podman daemon
systemctl --user start podman.socket
  1. Install compose (download the binary from the release page and put it in a folder figuring in you PATH)
curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o ~/.local/bin/docker-compose
  1. Get the podman socket path
systemctl --user status podman.socket
# probably will be in /run/user/userid/podman/podman.sock
  1. Get a compose file (get it from awesome compose repo, or make your own)
curl https://raw.githubusercontent.com/docker/awesome-compose/master/gitea-postgres/docker-compose.yaml -o docker-compose.yaml
  1. Run the compose file
docker-compose -H unix:/run/user/1000/podman/podman.sock up

And here you are, Hoooray! no need for root to run a docker-compose file!