Merge pull request '1.1.2' (#7) from develop into master
Reviewed-on: #7
This commit is contained in:
commit
75488a4009
@ -17,6 +17,7 @@ ENV PGID=1000
|
||||
ENV TZ=UTC
|
||||
ENV GENERATE_DHPARAM=true
|
||||
ENV INTERVAL="0 */6 * * *"
|
||||
ENV ONE_SHOT=false
|
||||
|
||||
# Single domain
|
||||
ENV DOMAINS=
|
||||
@ -55,7 +56,10 @@ ENV S6_BEHAVIOUR_IF_STAGE2_FAILS=2 S6_CMD_WAIT_FOR_SERVICES_MAXTIME=0 S6_VERBOSI
|
||||
RUN python3 -m venv /app/certbot/ && /app/certbot/bin/pip install --upgrade pip
|
||||
|
||||
#Get required packages for building, build, then cleanup
|
||||
#Added additional pip steps to fix cython 3.0.0 issue - https://github.com/yaml/pyyaml/issues/601
|
||||
RUN apk add --no-cache --virtual .deps gcc python3-dev libc-dev libffi-dev && \
|
||||
/app/certbot/bin/pip install wheel && \
|
||||
/app/certbot/bin/pip install "Cython<3.0" pyyaml --no-build-isolation && \
|
||||
/app/certbot/bin/pip install certbot certbot-dns-cloudflare && \
|
||||
ln -s /app/certbot/bin/certbot /usr/bin/certbot &&\
|
||||
apk del .deps
|
||||
@ -65,6 +69,7 @@ COPY root /
|
||||
RUN chmod +x /container-init.sh && \
|
||||
chmod +x /certbot-prepare.sh && \
|
||||
chmod +x /certbot-renew.sh && \
|
||||
chmod +x /check-one-shot.sh && \
|
||||
chown -R ${PUID}:${PGID} /app /config
|
||||
|
||||
ENTRYPOINT [ "/init" ]
|
||||
|
@ -52,6 +52,7 @@ Core options to the container
|
||||
|PUID |int |1000 |Sets the UID of the user certbot runs under |
|
||||
|PGID |int |1000 |Sets the GID of the user certbot runs under |
|
||||
|TZ |[List of valid TZs](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List) |UTC |Sets the timezone of the container |
|
||||
| ONE_SHOT | false | Whether container exits after first run of certbot, or starts cron-based auto-renewal |
|
||||
| GENERATE_DHPARAM | true (case-sensitive) | Generate Diffie-Hellman keys in /config/letsencrypt/keys |
|
||||
| INTERVAL | 0 */6 * * * | How often certbot attempts to renew the certificate. Cron syntax |
|
||||
| CERT_COUNT | 1 | How many certificates certbot will try to issue (more than 1 not yet implemented) |
|
||||
|
@ -761,9 +761,19 @@ then
|
||||
openssl dhparam -out /config/letsencrypt/keys/ssl-dhparams.pem 4096
|
||||
fi
|
||||
|
||||
echo "$INTERVAL /certbot-renew.sh >> /config/logs/renew.log" > /config/.crontab.txt
|
||||
if [ $ONE_SHOT == "true" ]; then
|
||||
|
||||
echo ""
|
||||
echo ""
|
||||
|
||||
echo "Starting automatic renewal job. Schedule is $INTERVAL"
|
||||
crontab /config/.crontab.txt
|
||||
echo "ONE_SHOT is true - exiting container"
|
||||
|
||||
elif [ $ONE_SHOT == "false" ]; then
|
||||
|
||||
echo "$INTERVAL /certbot-renew.sh >> /config/logs/renew.log" > /config/.crontab.txt
|
||||
|
||||
echo ""
|
||||
|
||||
echo "Starting automatic renewal job. Schedule is $INTERVAL"
|
||||
crontab /config/.crontab.txt
|
||||
|
||||
fi
|
9
root/check-one-shot.sh
Normal file
9
root/check-one-shot.sh
Normal file
@ -0,0 +1,9 @@
|
||||
#!/command/with-contenv bash
|
||||
# shellcheck shell=bash
|
||||
|
||||
if [ $ONE_SHOT == "true" ]; then
|
||||
|
||||
# Cleanly kill container by sending kill signal to supervisor process
|
||||
kill 1
|
||||
|
||||
fi
|
@ -28,6 +28,7 @@ echo \
|
||||
"PUID=${PUID}
|
||||
PGID=${PGID}
|
||||
TZ=${TZ}
|
||||
ONE_SHOT=${ONE_SHOT}
|
||||
INTERVAL=${INTERVAL}
|
||||
GENERATE_DHPARAM=${GENERATE_DHPARAM}
|
||||
CERT_COUNT=${CERT_COUNT}"
|
||||
|
1
root/etc/s6-overlay/s6-rc.d/check-one-shot/type
Normal file
1
root/etc/s6-overlay/s6-rc.d/check-one-shot/type
Normal file
@ -0,0 +1 @@
|
||||
oneshot
|
1
root/etc/s6-overlay/s6-rc.d/check-one-shot/up
Normal file
1
root/etc/s6-overlay/s6-rc.d/check-one-shot/up
Normal file
@ -0,0 +1 @@
|
||||
exec /check-one-shot.sh
|
Loading…
x
Reference in New Issue
Block a user