Ouroboros 
Ouroboros est un outil déployé via Docker permettant d'automatiser les mises-à-jour des images dockers utilisées par certains conteneurs.
Configuration
Ouroboros étant déployé via Docker, il n'est pas nécessaire de l'installer.
À la place on le configure via un fichier docker-compose.yml :
#docker-compose.yml
version: '3'
services:
ouroboros:
image: pyouroboros/ouroboros:1.4.2
restart: "always"
container_name: "ouroboros"
volumes:
- "/var/run/docker.sock:/var/run/docker.sock"
environment:
LABEL_ENABLE: "true"
LABELS_ONLY: "true"
CRON: "* * * * *"
SELF_UPDATE: "false"
REPO_USER: ${REPO_USER}
REPO_PASS: ${REPO_PASS}
On peut noter ici qu'Ouroboros manipulant docker, il convient de lui donner accès au socker docker via un volume. La configuration se fait via les variables d'environnement:
LABEL_ENABLE, combiné àLABELS_ONLY: Dit à Ouroboros d'utiliser des labels docker pour savoir quels conteneurs mettre à jourCRON: Définit la fréquence à laquelle chercher des mises-à-jour, suivant la syntaxe cronSELF_UPDATE: Indique à Ouroboros de ne pas se mettre lui-même à jourREPO_USERetREPO_PASS: Ces deux variables sont facultatives, mais nécessaires si on utilise des images d'un dépôt privé (tel Harbor).
Les valeurs de REPO_USER et REPO_PASS sont définies via des variables d'environnement déclarées dans un fichier .env situé au même endroit que le fichier docker-compose.yml, par exemple :
#.env REPO_USER=toto REPO_PASS=mon_password_tres_securise
On peut enfin démarrer Ouroboros comme n'importe quel conteneur :
sudo docker-compose up -d
Utilisation des labels
Une fois Ouroboros configuré et démarré, on peut lui indiquer quels conteneurs surveiller et mettre à jour si besoin via des labels. Il suffit en effet d'associer aux conteneurs désirés le label suivant :
com.ouroboros.enable: "true"
Par exemple, le fichier docker-compose.yml d'une image nginx qu'on voudrait mettre à jour automatiquement via Ouroboros serait :
version: '3' services: alpine: image: nginx/nginx:latest labels: com.ouroboros.enable: "true"