I do something sort of similar, also using git to maintain the inventory of what to run on what machine.
In my case, I'm using docker-compose.yml files for each machine, and then running:
docker-compose pull
docker-compose up -d
We initially wanted to use Watchtower, but it didn't work well for us.