If your distro is relatively recent, enable podman.socket (available as system and user unit) and things should just work as they do with docker. You may have to set CONTAINER_HOST though, and the new Docker CLI has the concept of contexts where you need to point the CLI at the right socket, but confusingly using docker as a library does not automatically add contexts as functionality, so Tools like flyctl (from fly.io) and melange (chainguard's APK builder) may still need CONTAINER_HOST anyway...
other tools prefering to use CONTAINER_HOST instead of docker contexts happens without podman too, because docker didn't build contexts into their go client library and it's instead all in the docker CLI.
podman-compose will and it behaves more or less the same way but it's quite a neglected piece of software - lots of bugs, lots of open PRs.
A lot of people talk about quadlets or k8s as alternatives but I don't think these are generally good substitutes for compose.