[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 \
&& 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 \
&& chown -R $USER_NAME:$GROUP_NAME /service/html \
&& 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
RUN chmod +x /entrypoint.sh

View File

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

View File

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