Articles

Wekan

Ubuntu 20.04 – Installation de Wekan avec Docker et Traefik

Wekan est une application Kanban open-source et auto-hébergée très similaire à Trello ou encore WorkFlowy. Dans cet article nous allons voir comment procéder à une installation aisée grâce à Docker et Docker Compose. L’application sera accessible depuis l’extérieur via Traefik utilisé comme reverse proxy et sera sécurisé grâce à un certificat SSL/TLS délivré par Let’s Encrypt.
Lire la suite
Docker

Ubuntu 20.04 – Mise à jour des images Docker avec Docker-Compose

Les images Docker que vous rapatriez sur votre serveur sont régulièrement mises à jour par les développeurs. Si vous avez une dizaine de containers avec des fichiers docker-compose.yml éparpillés sur votre filesystem, la mise à jour des images et le redémarrage des containers associés peuvent s’avérer vite fastidieux…

Mettre à jour manuellement les images de votre docker-compose.yml

  • Placez-vous tout d’abord dans le répertoire contenant votre fichier docker-compose.yml et mettez à jour l’image associée en exécutant la commande suivante :

    docker-compose pull
  • Relancez les containers :

    docker-compose up -d --remove-orphans
  • Supprimez les images obsolètes :

    docker image prune

Mettre à jour automatiquement les images de votre docker-compose.yml avec une tâche planifiée

Nous allons automatiser les deux commandes précédentes en les exécutant via une règle crontab. Celle-ci sera planifiée pour exécution tous les jours à 23h42. Les traces liées à l’exécution de ces commandes seront enregistrées dans un fichier /var/log/docker-updater.log.

  • Éditez la crontab :

    sudo crontab -e
  • Ajoutez la ligne suivante en remplaçant /path/absolu (sans docker-compose.yml) par le répertoire de votre fichier docker-compose.yml :

    42 23 * * * (cd /path/absolu && /usr/local/bin/docker-compose pull && /usr/local/bin/docker-compose up -d --remove-orphans && /usr/bin/docker image prune -f) > /var/log/docker-updater.log 2>&1
  • Sauvegardez et quittez.

Mettre à jour automatiquement les images de tous les fichiers docker-compose.yml de votre système avec une tâche planifiée

Comme vous pouvez le constater, mettre à jour une image nécessite de se rendre dans le répertoire de chaque docker-compose.yml et d’exécuter la commande de mise à jour et d’exécution de docker-compose. Nous allons automatiser cette tâche grâce à un script bash avec son fichier de configuration associé contenant l’ensemble des emplacements de vos fichiers docker-compose.yml. Nous allons créer une règle crontab où le script de mise à jour sera planifié pour exécution tous les jours à 23h42. Les traces liées à l’exécution du script seront enregistrées dans un fichier /var/log/docker-updater.log

  • Créez le fichier /opt/docker-updater/docker-updater contenant les lignes suivantes :

    #!/bin/bash
    
    # List of docker-compose configs
    DCOMPOSE=containers-to-update.conf
    
    # Update all docker compose scripts 
    DIR_SCRIPT=`dirname $0`
    if [ -e "$DIR_SCRIPT/$DCOMPOSE" ]
    then
        cat "$DIR_SCRIPT/$DCOMPOSE" | /bin/grep -v '^#' | 
        while read conf
        do
      if [ -e "$conf" ]
      then
          dir=$(dirname "$conf")
          compfile=$(basename "$conf")    
          cd "$dir"
          /usr/local/bin/docker-compose pull && /usr/local/bin/docker-compose -f "$compfile" up -d --remove-orphans && /usr/bin/docker image prune -f 2>&1
      else
          echo "docker compose file $conf does not exist..."
      fi
        done
    fi
  • Ajoutez les droits d’exécution sur le script /opt/docker-updater/docker-updater :

    sudo chmod ugo+x /opt/docker-updater/docker-updater
  • Créez le fichier de configuration containers-to-update.conf dans le répertoire /opt/docker-updater et ajoutez le path absolu de chaque fichier docker-compose.yml :

    /path1/absolu/docker-compose.yml
    /path2/absolu/docker-compose.yml
    /path3/absolu/docker-compose.yml
  • Éditez la crontab :

    sudo crontab -e
  • Ajoutez la ligne suivante :

    42 23 * * * /opt/docker-updater/docker-updater > /var/log/docker-updater.log 2>&1
  • Sauvegardez et quittez.


Ubuntu 20.04Docker 19.03.8
Docker Compose 1.26.2



Monitoring

Ubuntu 20.04 – Outils de monitoring avec Telegraf, InfluxDB et Grafana

Le monitoring ou surpervision est une activité de surveillance et de mesure d’une activité informatique. Ces mesures permettent de construire des graphes afin de visualiser les performances et de voir les tendances, de détecter voire d’anticiper des anomalies ou des pannes et d’alerter en cas de dysfonctionnement.
Lire la suite