If you want the easiest possible solution, I'd suggest using BalenaOS and the PiHole Fleet. It's gonna take u setting up an account with Balena Cloud, but after that you just download an image, burn to the sd or ssd, and wait for it to download the pihole images and run it.
If you really just want docker-compose, at #coolab we've run PiHole successfully in many Pi4s using this docker-compose setup.
We setup Pihole on 23 pi 3 and 4s running the Guarita project, which is based on BalenaOS. We added some additional scripting to add automatic youtube-ad blocking which is pretty awesome and also some other stuff that u might not be interested.