Configuration guidelines for snapcast using mopidy as source missing fifo creation
On https://dietpi.com/docs/software/media/#snapcast-server-using-mpd-as-an-input-source
In order for snapcast to work correctly, the file should be a FIFO/Pipe, this is not mentioned in the docs.
I personally don't know what's the best configuration, but I'd go for a mkfifo on /etc/... whatever so that the fifo would be persistent (data is volatile anyway). Also if snapcast has an option to create a fifo instead of a file that would be cool, but here they opted for the aforementioned solution
The side-effects of configuring as mentioned in the docs is that the audio mostly loops over the currently cached data.
If I am not mistaken, MPD creates the FIFO at /tmp/mpd.fifo (with the example config) when the service is (re)started. It works as well with CAVA without the need to manually create it first, when CAVA starts after MPD. Maybe this is the whole problem and you just need to order the services correctly?
mkdir /etc/systemd/system/snapserver.service.d
echo -e '[Unit]\nAfter=mpd.service' > /etc/systemd/system/snapserver.service.d/after-mpd.conf