I remember in the ipod days plugging a CD into the aul PC and ripping all the files as aac... A format that would only play in iTunes
Yes splitting them up is much better.
The only reason you should have secondary services there is if main service is using them exclusively.
Having a single compose file for multiple unrelated services sounds like a nightmare to stop, start and debug if one of your containers is acting weird.
Say for example you have something that needs a mysql server and you have no other use for it beyond that container, then it should go in there with the main seevice.
But then you eventually add another service which also needs a mysql backend. Do you add another mysql instance for that specific service? Or you could separate your existing one into its own compose file and just connect the two separate apps to the single instance.
Here's the way I have mine setup. https://github.com/DanTheMinotaur/HomeHost/tree/main/apps
I use an ansible job to deploy and run them.
What way do you have all these drives attached physically? Are they through USB and is there anything else also attached.
I had a similar issue of constantly corrupting USB HDDs, turns out the mini pc I was using couldn't draw enough power to keep them all going simultaneously so they would fail and become corrupt.