I’m not sure I understand exactly what your sidekicks are doing. However, I hope the below helps…
In Docker Compose, you can specify depends_on, which says that one container should start before another. That’s great, except when a container takes a while to start up.
The pattern you are expected to use is to have containers that depend on another gracefully fail and retry until their dependency is correctly in place.
E.g. if one container expects there to be data in a volume that another container must have put there, wrap your ‘start command’ in the first container with a small script that says “while no content; sleep 1”. After that, it starts your app as required. Or, have your “put data in a volume” container write a marker file for the main container to use as a trigger.
I’ve got a setup where I need six or seven events to happen in order. They are all created by Rancher Compose in random order, yet because the dependency checks are working nicely, the whole thing consistently starts up with all tasks completed in order, which is a delight to watch.