Automatically update Docker services whenever their image is updated
1M+
Automatically update Docker services whenever their image is updated. Inspired on v2tec/watchtower
The endpoint /apis/swarm/v1/update can be called with a list of images that should be updated on matching services on the swarm.
{
"images": [
"mycompany/myapp"
]
}
Every command-line option has their corresponding environment variable to configure the updater.
--host, -H Docker daemon socket to connect to. Defaults to "unix:///var/run/docker.sock" but can be pointed at a remote Docker host by specifying a TCP endpoint as "tcp://hostname:port". The host value can also be provided by setting the DOCKER_HOST environment variable.--config, -c Docker client configuration path. In this directory goes a config.json file with the credentials of the private registries. Defaults to ~/.docker.The path value can also be provided by setting the DOCKER_CONFIG environment variable.--schedule, -s Cron expression in 6 fields (rather than the traditional 5) which defines when and how often to check for new images. An example: --schedule "0 0 4 * * *" . The schedule can also be provided by setting the SCHEDULE environment variable. Defaults to 1 hour.--label-enable, -l Watch services where the xyz.megpoid.swarm-updater.enable label is set to true. The flag can also be provided by setting the LABEL_ENABLE environment variable to 1.--blacklist, -b Service that is excluded from updates. Can be defined multiple times and can be a regular expression. Either --label-enable or --blacklist can be defined, but not both. The comma separated list can also be provided by setting the BLACKLIST environment variable.--tlsverify, -t Use TLS when connecting to the Docker socket and verify the server's certificate. The flag can also be provided by setting the DOCKER_TLS_VERIFY environment variable to 1.--debug, -d Enables debug logging. Can also be enabled by setting the DEBUG=1 environment variable.--listen, -a Address to listen for upcoming swarm update requests. Can also be enabled by setting the LISTEN environment variable.--apikey, -k Key to protect the update endpoint. Can also be enabled by setting the APIKEY environment variable.--help, -h Show documentation about the supported flags.DOCKER_API_VERSIONto set the version of the API to reach, leave empty to use the minimum required for the app.DOCKER_CERT_PATH is the directory to load the certificates from. Used when --host is a TCP endpoint.A file must be placed on ~/.docker/config.json with the registry credentials (can be overriden with --config or DOCKER_CONFIG). The file can be created by using docker login <registry> and saving the credentials.
You must add the xyz.megpoid.swarm-updater=true label to your service so the updater can delay the update of itself as the last one.
You must add the xyz.megpoid.swarm-updater.update-only=true label to your service so only the image will be updated (useful for cron tasks where the container isn't running most of the time). Note: the service will be reconfigured with replicas: 0 so this does nothing with global replication.
Content type
Image
Digest
sha256:32f962a2c…
Size
9.1 MB
Last updated
over 3 years ago
docker pull codestation/swarm-updater