For the last two years, I’ve been treating compose files as individual runners for individual programs.
Then I brainstormed the concept of having one singular docker-compose file that writes out every single running container on my system… (that can use compose), each install starts at the same root directory and volumes branch out from there.
Then I find out, this is how most people use compose. One compose file, with volumes and directories branching out from wherever ./ is called.
THEN I FIND OUT… that most people that discover this move their installations to podman because compose works on different versions per app and calling those versions breaks the concept of having one singular docker-compose.yml file and podman doesn’t need a version for compose files.
Is there some meta for the best way to handle these apps collectively?
I think compose is best used somewhere in between.
I like to have separate compose files for all my service “stacks”. Sometimes that’s a frontend, backend, and database. Other times it’s just a single container.
It’s all about how you want to organize things.
I do this, 1 compose file per application. That has all the things that application need, volumes, networks, secrets.
In single docker host land, each application even has its own folder with the compose file and any other artifacts in it.
Yeah this post had me a little worried I’m doing something wrong haha. But I do it just like that. Compose file per stack.