I used to use DOCKER_HOST=ssh… with compose for years, very solid.
The only issue is the little downtime during deployments.