From 268eb44035e4c831fe9fb8c53b24af27dafbec98 Mon Sep 17 00:00:00 2001 From: Travis Tran Date: Fri, 3 Jun 2022 00:23:54 +0700 Subject: [PATCH 1/3] add ssl renwal --- bin/acme.sh | 40 +++++++++++++++++++++++++++++++++++++++- 1 file changed, 39 insertions(+), 1 deletion(-) diff --git a/bin/acme.sh b/bin/acme.sh index f0650c0..1ea4247 100755 --- a/bin/acme.sh +++ b/bin/acme.sh @@ -8,6 +8,9 @@ TYPE=0 CONT_NAME='litespeed' ACME_SRC='https://raw.githubusercontent.com/Neilpang/acme.sh/master/acme.sh' EPACE=' ' +RENEW='' +RENEW_ALL='' +FORCE='' echow(){ FLAG=${1} @@ -172,6 +175,30 @@ install_cert(){ echo '[End] Apply Lets Encrypt Certificate' } +renew_acme(){ + echo '[Start] Renew ACME' + if [ "${FORCE}" = 'true' ]; then + docker-compose exec ${CONT_NAME} su -c "~/.acme.sh/acme.sh --renew --domain ${1} --force" + else + docker-compose exec ${CONT_NAME} su -c "~/.acme.sh/acme.sh --renew --domain ${1}" + fi + echo '[End] Renew ACME' + lsws_restart + exit 0 +} + +renew_all_acme(){ + echo '[Start] Renew all ACME' + if [ "${FORCE}" = 'true' ]; then + docker-compose exec ${CONT_NAME} su -c "~/.acme.sh/acme.sh --renew-all --force" + else + docker-compose exec ${CONT_NAME} su -c "~/.acme.sh/acme.sh --renew-all" + fi + echo '[End] Renew all ACME' + lsws_restart + exit 0 +} + main(){ check_acme domain_filter ${DOMAIN} @@ -198,7 +225,18 @@ while [ ! -z "${1}" ]; do -[uU] | --uninstall ) UNINSTALL=true uninstall_acme - ;; + ;; + -[fF] | --force ) + FORCE=true + ;; + -[r] | --renew ) + RENEW_=true + renew_acme ${DOMAIN} + ;; + -[R] | --renew-all ) + RENEW_ALL=true + renew_all_acme + ;; -[eE] | --email ) shift check_input "${1}" EMAIL="${1}" From 70e7048ad4f70cba47947ebaa5f20a42a7213db7 Mon Sep 17 00:00:00 2001 From: Travis Tran Date: Fri, 3 Jun 2022 00:27:37 +0700 Subject: [PATCH 2/3] default turn off docker logger to prevent unnecessary logs --- docker-compose.yml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/docker-compose.yml b/docker-compose.yml index 9818264..db777a4 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -2,6 +2,8 @@ version: '3' services: mysql: image: mariadb:10.5.9 + logging: + driver: none command: --max_allowed_packet=256M volumes: - "./data/db:/var/lib/mysql:delegated" @@ -15,6 +17,8 @@ services: restart: always litespeed: image: litespeedtech/openlitespeed:${OLS_VERSION}-${PHP_VERSION} + logging: + driver: none env_file: - .env volumes: @@ -34,6 +38,8 @@ services: TZ: ${TimeZone} phpmyadmin: image: bitnami/phpmyadmin:5.0.2-debian-10-r72 + logging: + driver: none ports: - 8080:80 - 8443:443 From 577a60d0757e924bfefe274be21cfe68e9f46526 Mon Sep 17 00:00:00 2001 From: Travis Tran Date: Sun, 5 Jun 2022 22:37:44 +0700 Subject: [PATCH 3/3] allow dynamic -f parameter --- bin/acme.sh | 20 +++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) diff --git a/bin/acme.sh b/bin/acme.sh index 1ea4247..ecf07b4 100755 --- a/bin/acme.sh +++ b/bin/acme.sh @@ -34,6 +34,12 @@ help_message(){ echo -e "\033[1m Only for the First time\033[0m" echow '--install --email [EMAIL_ADDR]' echo "${EPACE}${EPACE}Will install ACME with the Email provided" + echow '-r, --renew' + echo "${EPACE}${EPACE}Renew a specific domain with -D or --domain parameter if posibile. To force renew, use -f parameter." + echow '-R, --renew-all' + echo "${EPACE}${EPACE}Renew all domains if possible. To force renew, use -f parameter." + echow '-f, -F, --force' + echo "${EPACE}${EPACE}Force renew for a specific domain or all domains." exit 0 ;; "3") @@ -184,7 +190,6 @@ renew_acme(){ fi echo '[End] Renew ACME' lsws_restart - exit 0 } renew_all_acme(){ @@ -196,10 +201,17 @@ renew_all_acme(){ fi echo '[End] Renew all ACME' lsws_restart - exit 0 } main(){ + if [ "${RENEW_ALL}" = 'true' ]; then + renew_all_acme + exit 0 + elif [ "${RENEW}" = 'true' ]; then + renew_acme ${DOMAIN} + exit 0 + fi + check_acme domain_filter ${DOMAIN} www_domain ${DOMAIN} @@ -230,12 +242,10 @@ while [ ! -z "${1}" ]; do FORCE=true ;; -[r] | --renew ) - RENEW_=true - renew_acme ${DOMAIN} + RENEW=true ;; -[R] | --renew-all ) RENEW_ALL=true - renew_all_acme ;; -[eE] | --email ) shift check_input "${1}"