2017-05-27 8 views
1

Dies ist, wie ich meine Lassen Sie uns encrypt Zertifikate über Docker Container bin zu erneuern (certbot):Ubuntu: Cronjob für erneuern cerbot Zertifikate

$ sudo docker stop nginx 
$ sudo docker run -it --rm -p 443:443 --name certbot -v /etc/letsencrypt:/etc/letsencrypt -v /var/log/letsencrypt:/var/log/letsencrypt quay.io/letsencrypt/letsencrypt:latest renew 
$ sudo docker start nginx 

Nun möchte Ich mag dies als cronjob auf meinem unbuntu Server tun. Dazu würde ich einen Eintrag in /etc/crontab hinzufügen.

Aber wo sollte ich das Skript für die Erneuerung setzen?

letsencrypt.sh

#!/bin/sh 
sudo docker stop nginx 
sudo docker run -it --rm -p 443:443 --name certbot -v /etc/letsencrypt:/etc/letsencrypt -v /var/log/letsencrypt:/var/log/letsencrypt quay.io/letsencrypt/letsencrypt:latest renew 
sudo docker start nginx 

Wenn dies richtig ist, was würden Sie vorschlagen, eine Note zu bekommen, wenn der Prozess/versagt erfolgreich ist?

Antwort

0

glaube ich Ihnen einen crontab für sicher Benutzer in einem neuen Container oder Ihre Docker Host erstellen und eine Linie zum Beispiel (Lauf einer Erneuerung einmal im Monat) hinzu:

0 0 1 * * /path/to/letsencrypt.sh 2>> /var/log/letsencrypt.log 

Fügen Sie den Benutzer die Docker-Gruppe. Benutzer, die Docker-Befehle ausführen können, verfügen über eine effektive Root-Kontrolle des Systems.

Gewähren Sie vertrauenswürdigen Benutzern nur diese Berechtigung.