I’d be happy to know more about the single node use case. I considered Nomad in the past for this, but it seemed optimized for a cluster, and I ended up using Docker Swarm instead.
The big problem for me with Docker Compose is the lack of zero downtime / seamless deployments. First it stops the containers running the old version, then it starts new containers running new versions, instead of doing the reverse.