Условий в compose-файле задавать нельзя, соответственно если вы хотите задавать логику, то она должна работать до вызова docker-compose. Соответственно либо разные compose-файлы писать, либо из шаблонов собирать нужный.
При этом хотелось бы избежать велосипедов с шелл-скриптами и прочим подобным. Докер же должен предоставлять что-то из коробки - вроде бы стандартная хотелка, не так уж и много, а как сделать - не нашел, и судя по всему, будет лютый костыль.
Велосипед - это когда что-то готовое уже есть. Докер никому ничего не должен, кроме обратной совместимости и фикса багов. Про "не так уж и много" - напишите и сделайте pull request, ссылку только сюда приложить не забудьте. Костыль будет ровно таким, каким вы его напишите.