From 6f72367dca5d8908afafe29d227ad5168aed066d Mon Sep 17 00:00:00 2001 From: Mickael Asseline Date: Mon, 9 May 2022 07:44:55 +0000 Subject: [PATCH] docs: create Conteneurisation/Docker/container-updater --- Conteneurisation/Docker/container-updater.md | 87 ++++++++++++++++++++ 1 file changed, 87 insertions(+) create mode 100644 Conteneurisation/Docker/container-updater.md diff --git a/Conteneurisation/Docker/container-updater.md b/Conteneurisation/Docker/container-updater.md new file mode 100644 index 0000000..a849675 --- /dev/null +++ b/Conteneurisation/Docker/container-updater.md @@ -0,0 +1,87 @@ +--- +title: container-updater +description: Superviser et automatiser les mises à jour de container ! +published: true +date: 2022-05-09T07:44:53.384Z +tags: update, docker +editor: markdown +dateCreated: 2022-05-09T07:44:53.384Z +--- + +# container-updater +🚀 Un petit script bash pour alerter et mettre à jour automatiquement les conteneurs déployés avec docker run, docker-compose ou Portainer. + +🟣 Envoyer une notification à Discord (optionnel) + +🔴 Envoyer des données à Zabbix (optionnel) + +🔆 Exemple de notification Discord : +![ohunebellenotif](https://send.papamica.fr/f.php?h=25rsdWHk&p=1) + +## Prérequis +``` +jq, zabbix-sender (si vous utilisez Zabbix) +``` + +## Utiliser +```bash +git clone https://github.com/PAPAMICA/container-updater +cd container-updater +./container-updater.sh +``` + +Vous pouvez envoyer une notification à Discord avec cet argument : +```bash +-d +``` + +Vous pouvez envoyer des données à Zabbix avec cet argument : +```bash +-z +-n (facultatif) +``` +### Pour une exécution quotidienne, ajoutez un cron +```bash +00 09 * * * /chemin/vers/container-updater.sh -d -z >> /var/log/container-updater.log +``` + +## Supervision +Pour superviser les mises à jour d'un conteneur, il suffit d'ajouter ce label : +```yaml +labels: + - "autoupdate=monitor" +``` +Dans ce cas, si une mise à jour est disponible, le script enverra simplement une notification à Discord. +Tout ce que vous avez à faire est de mettre à jour le conteneur. + +## Mise à jour automatique +Pour activer la mise à jour automatique du conteneur, vous devez ajouter ces labels : + + +### docker run +```bash +-l "autoupdate=true" -l "autoupdate.docker-run=true" +``` + +### docker-compose +```yaml +labels: + - "autoupdate=true" + - "autoupdate.docker-compose=/link/to/docker-compose.yml" +``` + +### Portainer +Vous devez avoir Portainer en version entreprise (licence gratuite jusqu'à 5 noeuds). +Vous pouvez trouver le webhook dans les paramètres de la stack ou du conteneur. +```yaml +labels: + - "autoupdate=true" + - "autoupdate.webhook=" +``` + +## A faire +- Ajouter le support des registres privés +- Meilleure génération de json pour les notifications Discord +- Support d'autres notifications + +