• Docker
  • [ Script ] Vérification de containers + Notifications Telegram​

Ouep bien sur que ça répond 😛

curl -s -o /dev/null -w "%{http_code}" -L 172.18.0.6:8080
200

PS: Github serait vraiment cool, comme ça tu pourrais faire une branche stable et une dev, et je pourrais voir où tu en est en temps réel 😃

EDIT: Je suis pas fan du redémarrage automatique du container en cas de pb, qu'en dis-tu de faire une variable pour ça ?

Si elle est à 1, on redémarre le container, si 0, on prévient juste que le container a un problème via Telegram

    BXT Je vois pas en quoi faire un up -d est un problème, une image bien créé ne perds pas sa configuration et son état si elle est bien créé.

    Autrement c'est assez complexe de récupérer de manière automatique le port d'écoute d'un serveur web dans un conteneur, comme par exemple emby ou plex, qui de base expose plusieurs port, et certains n'expose rien, puisque ce n'est pas obligatoire.

    Pas mal le script, surtout la méthode pour envoyé une notif via telegram que je connaissais pas.

    @xataz c'est pas compliqué, il suffit de regarder les variables d'env pour nginx de jwilder (VIRTUAL_PORT), et les labels pour traefik (traefik.port devrait faire l'affaire ?)

    Pour le up -d, c'est surtout que ça m'obligerait de le faire sur beaucoup de containers et que ça restart le container je suppose ?

    Btw, on pourrait s'inspirer de ce script pour faire pareil mais avec Slack (CF ce tuto https://www.noobunbox.net/serveur/securite/configurer-des-notifications-ssh-slack)

    ça ne fait pas que le redémarrer, ça le recréé entièrement !

    Bon, j'ai créé un compte github, reste à voir comment ça fonctionne 😃
    https://github.com/Balth0/check_websites

    Pour ta requête de passer le redémarrage en paramètre, ça peut ce faire sans soucis. Si c'est utile à certains, autant le faire.

    Concernant slack, n'étant pas utilisateur (je lui préfère Mattermost 😉 ) je n'ai pas la possibilité de faire des tests (et n'aurais pas le temps de rajouter des fonctions "complexes" avant fin Aout. Je vais avancer le script au max d'ici la fin de semaine en l'état, je le reprendrai au retour des vacances pour rajouter des fonctionnalités.).

    Euhhh moi je vois que des docker restart ? Donc ça le restart juste ?

      BXT C'est une bonne et une mauvaise nouvelle. ça veut dire qu'il va encore falloir que je triffouille mon iptables ! Groumph...

      BXT Actuellement dans mon script, il ne fait qu'un restart en effet.
      Par contre, pour rajouter un label, il faut faire un up -d, et ça, ça détruit le container et le recréé avec les nouveaux paramètres.

      Ah oui, c'est pour ça que je voulais pas le label perso 😛 (Même si en soit, c'est pas dérangeant de supprimer & recréer)

      Pour le pb de -

      J'ai regardé vite fait en faisant un petit test

      DOCKER_FRONTEND_NETWORK=userdocker_default
      docker network inspect $DOCKER_FRONTEND_NETWORK | grep Name | sed 1d | awk -F\" '{print $4}'

      Passe sans problème, après, c'est possible que le problème concerne vraiment que le - ?

      Je viens de jeter un oeil sur le tuto pour slack, et ça semble assez simple à mettre en oeuvre j'avoue.

      Je me demande à quel point il ne serait pas intéressant d'inclure directement ces scripts (telegram/sclack) dans mon github pour faire un outil plus complet.

      Ouep, c'est bien de tout mettre dans un même projet git

      En plus, imaginons que l'autre repository Git ferme du jour au lendemain, on perd tout ! 😛

      J'ai commencé à travailler dans ce sens sur la branche dev, mais il y a encore du boulot 🙂

      Si tu as besoin d'un coup de main, tu me dis!

      Si tu utilises slack, je veux bien.

      Il faudrait trouver la syntaxe à utiliser pour la variable "content"
      En gros, il faudrait envoyer un message équivalent à celui de telegram (icone KO/texte/fichier de logs attaché).

      Voici le content actuel (directement repris de ton lien) :
      content="\"attachments\": [ { \"mrkdwn_in\": [\"text\", \"fallback\"], \"fallback\": \"SSH login: $PAM_USER connected to `$HOSTNAME`\", \"text\": \"SSH login to `$HOSTNAME`\", \"fields\": [ { \"title\": \"User\", \"value\": \"$PAM_USER\", \"short\": true }, { \"title\": \"IP Address\", \"value\": \"$PAM_RHOST\", \"short\": true } ], \"color\": \"#F35A00\" } ]"`

      Rien que ça me soulagerai bien 🙂

      Je check dans la journée!

      Eheh un cas qu'on avait pas pensé !

      Pour certains containers, il n'y a pas de port exposed, ni de port utilisé (typiquement v2tec/watchtower). Comment fait-on dans ce cas ? 😛

      J'y ai pensé, mais à part vérifier le statut du container; il n'y a pas d'autre moyen... vu qu'il n'expose rien !

      Ouep c'est sur, mais du coup, il ne fait pas bug le script ? (J'ai pas check encore)

      PS: Je pense faire un petit install.sh, pour setup le DOCKER_FRONTEND_NETWORK 😉

      EDIT: Ou alors, c'est aussi possible de l'intégrer au script (Par exemple, si DOCKER_FRONTEND_NETWORK = changeme, alors on lance une function de setup, sinon on lance le script)

      Effectivement, elle est un peu indispensable cette variable !