From e7be6ffa0232e33736f273fbc07fc4b939fe1ff0 Mon Sep 17 00:00:00 2001 From: lars-hagen Date: Wed, 19 Feb 2020 11:58:35 +0100 Subject: [PATCH] Test acme script and persistent certs --- bin/acme.sh | 86 +++++++++++++++++++++++++++++++++++++++++++++- docker-compose.yml | 2 +- 2 files changed, 86 insertions(+), 2 deletions(-) diff --git a/bin/acme.sh b/bin/acme.sh index f649ba0..d9b3195 100755 --- a/bin/acme.sh +++ b/bin/acme.sh @@ -1,3 +1,87 @@ #!/usr/bin/env bash +EMAIL='' +NO_EMAIL='' +INSTAL='' -docker-compose exec litespeed su -c "/root/.acme.sh/acme.sh --issue -d ${1} -w /var/www/vhosts/${1}/html/" \ No newline at end of file +help_message(){ + echo 'Command [-domain XX] [-php lsphpXX]' + echo 'Example: acme.sh -domain ' +} + +check_input(){ + if [ -z "${1}" ]; then + help_message + echo "${1}" + exit 1 + fi +} + +ck_acme(){ + if ! docker-compose exec litespeed su -c "test -f /root/acme/acme.sh"; then + echo "It seems like you didn't install /root/acme/acme.sh, please run bin/acme.sh --install" + exit 1 + fi +} + +install_acme(){ + if [ ! -z ${NO_EMAIL} ]; then + docker-compose exec litespeed su -c "cd;\ + wget https://raw.githubusercontent.com/Neilpang/acme.sh/master/acme.sh; chmod 755 acme.sh; \ + ./acme.sh --install \ + --cert-home ~/.acme.sh/certs; \ + rm ~/acme.sh" + else + if [ -z ${EMAIL} ]; then + echo "Error: You didn't specify the email you want to receive lets encrypt notifications on. Please add --email EMAIL" + else + docker-compose exec litespeed su -c "cd;\ + wget https://raw.githubusercontent.com/Neilpang/acme.sh/master/acme.sh; chmod 755 acme.sh; \ + ./acme.sh --install \ + --cert-home ~/.acme.sh/certs \ + --accountemail ${EMAIL}; \ + rm ~/acme.sh" + fi + fi + +} + + +main(){ + if [ -z "${INSTALL}" ]; then + ck_acme + else + install_acme ${EMAIL} ${NO_EMAIL} + fi +} + +check_input ${1} +while [ ! -z "${1}" ]; do + case ${1} in + -[hH] | -help | --help) + help_message + exit 1 + ;; + -domain | -d ) shift + check_input "${1}" + DOMAIN="${1}" + ;; + --install ) + #check_input "${1}" + INSTALL=true + ;; + --email ) shift + check_input "${1}" + EMAIL="${1}" + ;; + --no-email ) shift + NO_EMAIL=true + ;; + *) + help_message + exit 1 + ;; + esac + shift +done + +main \ No newline at end of file diff --git a/docker-compose.yml b/docker-compose.yml index 12e0c7c..731fe72 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -21,7 +21,7 @@ services: - ./lsws/admin-conf:/usr/local/lsws/admin/conf - ./bin/container:/usr/local/bin - ./sites:/var/www/vhosts/ - - ./certs:/root/.acme.sh/ + - ./acme:/root/.acme.sh/ - ./logs:/usr/local/lsws/logs/ ports: - 80:80