[fix] fixed certbot image permissions

This commit is contained in:
2020-04-05 22:25:18 -04:00
parent 0e537ee1cd
commit e9538a72f3
3 changed files with 21 additions and 11 deletions

View File

@@ -14,11 +14,17 @@ RUN set -eux; \
RUN mkdir -p /service/temp \ RUN mkdir -p /service/temp \
&& chown -R $USER_NAME:$GROUP_NAME /service/temp && chown -R $USER_NAME:$GROUP_NAME /service/temp
# create and set permission for proxy mounts # create and set permission mounts
RUN mkdir -p /service/html \ RUN mkdir -p /service/html \
&& chown -R $USER_NAME:$GROUP_NAME /service/html \ && chown -R $USER_NAME:$GROUP_NAME /service/html \
&& mkdir -p /service/ssl \ && mkdir -p /service/ssl \
&& chown -R $USER_NAME:$GROUP_NAME /service/ssl && chown -R $USER_NAME:$GROUP_NAME /service/ssl \
&& mkdir -p /service/letsencrypt/ssl \
&& chown -R $USER_NAME:$GROUP_NAME /service/letsencrypt/ssl \
&& mkdir -p /service/letsencrypt/work \
&& chown -R $USER_NAME:$GROUP_NAME /service/letsencrypt/work \
&& mkdir -p /service/letsencrypt/log \
&& chown -R $USER_NAME:$GROUP_NAME /service/letsencrypt/log
COPY ./files/entrypoint.sh /entrypoint.sh COPY ./files/entrypoint.sh /entrypoint.sh
RUN chmod +x /entrypoint.sh RUN chmod +x /entrypoint.sh

View File

@@ -4,7 +4,9 @@
web_root_path="/service/html" web_root_path="/service/html"
cert_root_path="/service/ssl" cert_root_path="/service/ssl"
temp_path="/service/temp" temp_path="/service/temp"
cert_bot_path="/etc/letsencrypt" cert_bot_ssl="/service/letsencrypt/ssl"
cert_bot_work="/service/letsencrypt/work"
cert_bot_log="/service/letsencrypt/log"
server_retries=10 server_retries=10
log_file="" # leave empty for stdout log_file="" # leave empty for stdout
@@ -100,12 +102,12 @@ function copy_cert()
{ {
local domain=$1 local domain=$1
local cert_path="$cert_root_path/$domain" local cert_path="$cert_root_path/$domain"
if [[ -f "$cert_bot_path/live/$domain/privkey.pem" ]]; then if [[ -f "$cert_bot_ssl/live/$domain/privkey.pem" ]]; then
cp "$cert_bot_path/live/$domain/privkey.pem" "$cert_path/privkey.pem" cp "$cert_bot_ssl/live/$domain/privkey.pem" "$cert_path/privkey.pem"
cp "$cert_bot_path/live/$domain/fullchain.pem" "$cert_path/fullchain.pem" cp "$cert_bot_ssl/live/$domain/fullchain.pem" "$cert_path/fullchain.pem"
return 0 return 0
else else
log ERROR copy_cert "No key exists at "$cert_bot_path/live/$domain/privkey.pem" for [$domain]" log ERROR copy_cert "No key exists at "$cert_bot_ssl/live/$domain/privkey.pem" for [$domain]"
return 1 return 1
fi fi
} }
@@ -145,7 +147,9 @@ function get_cert()
fi fi
log get_cert "Running certbot" log get_cert "Running certbot"
certbot certonly \ certbot certonly \
--config-dir "$cert_bot_path" \ --config-dir "$cert_bot_ssl" \
--work-dir "$cert_bot_work" \
--logs-dir "$cert_bot_log" \
--agree-tos \ --agree-tos \
--domains "$domains" \ --domains "$domains" \
--email "contact@${root_domain}" \ --email "contact@${root_domain}" \

View File

@@ -46,9 +46,9 @@ services:
# /.well-known/acme-challenge/ volume (webroot) # /.well-known/acme-challenge/ volume (webroot)
- proxy_certbot:/service/html:rw - proxy_certbot:/service/html:rw
# certbot directories # certbot directories
- certbot_ssl:/etc/letsencrypt:rw - certbot_ssl:/service/letsencrypt/ssl:rw
- certbot_work:/var/lib/letsencrypt:rw - certbot_work:/service/letsencrypt/work:rw
- certbot_logs:/var/log/letsencrypt:rw - certbot_logs:/service/letsencrypt/log:rw
# TODO: put this in its own docker-compose # TODO: put this in its own docker-compose
# as the proxy does not require it # as the proxy does not require it