Automatically update running docker containers with newest available image
MIT License
⚠️⚠️⚠️ ouroboros is no longer in development. It does its job (more or less) and the devs have succumb to real life! Please feel free to fork and maintain as you wish. We appreciate all of the support in the last year :). After support from the community, automated version bumps will continue to try to keep ouroboros in check with dependencies. ⚠️⚠️⚠️
Automatically update your running Docker containers to the latest available image.
The de-facto standard for docker update automation
Ouroboros will monitor (all or specified) running docker containers and update them to the (latest or tagged) available image in the remote registry. The updated container uses the same tag and parameters that were used when the container was first created such as volume/bind mounts, docker network connections, environment variables, restart policies, entrypoints, commands, etc.
ssh -i key server.domainname "docker pull ... && docker run ..."
is for scrubsdocker-compose pull && docker-compose up -d
is for fancier scrubsMore detailed usage and configuration can be found on the wiki.
Ouroboros is deployed via docker image like so:
docker run -d --name ouroboros \
-v /var/run/docker.sock:/var/run/docker.sock \
pyouroboros/ouroboros
This is image is compatible for amd64, arm32, and arm64 CPU architectures
or via docker-compose
:
Ouroboros can also be installed via pip
:
pip install ouroboros-cli
And can then be invoked using the ouroboros
command:
$ ouroboros --interval 300 --log-level debug
This can be useful if you would like to create a
systemd
service or similar daemon that doesn't run in a container
Per-command and scenario examples can be found in the wiki
All contributions are welcome! Contributing guidelines are in the works