Update: While this approach still is likely to work, there is native support for this in watchtower.
Watchtower currently only supports the Docker Hub private registry, not off-site registries like Quay or Gitlab.
An alternative might be to use something like webhook and include a HTTP request to an endpoint from whatever CI/CD platform you're using.
That way, instead of checking for updates, you can ping the endpoint whenever a change is made, and auto-update. It's push rather than pull, but it can achieve a similar effect.
An example script for something like running a web server might be:
#!/bin/bash
docker pull [your-registry][repo]:latest
docker stop [repo-name]
docker rm [repo-name]
docker run -d --name [repo-name] -p 80:4000 --restart always [your-registry][repo]:latest
It's not the slickest deployment method. You're probably better to use a dedicated CI/CD provider in production that can better orchestrate the build, testing and deployment pipeline. But it's a quick and dirty way to spawn a staging server.