Currently, as of https://github.com/moby/moby/issues/3465 `VOLUME` points cannot be removed in inherited images. Therefore, anybody aiming to modify the image or the LE_CONFIG_HOME, will still have an unnamed volume created even if it is not used. If users want real persistence, then the volume should be configured and named at creation time. Otherwise an new unnamed volume will be created each time, not providing much of an advantage.
74 lines
1.5 KiB
Docker
74 lines
1.5 KiB
Docker
FROM alpine:3.12
|
|
|
|
RUN apk update -f \
|
|
&& apk --no-cache add -f \
|
|
openssl \
|
|
openssh-client \
|
|
coreutils \
|
|
bind-tools \
|
|
curl \
|
|
sed \
|
|
socat \
|
|
tzdata \
|
|
oath-toolkit-oathtool \
|
|
tar \
|
|
libidn \
|
|
&& rm -rf /var/cache/apk/*
|
|
|
|
ENV LE_CONFIG_HOME /acme.sh
|
|
|
|
ARG AUTO_UPGRADE=1
|
|
|
|
ENV AUTO_UPGRADE $AUTO_UPGRADE
|
|
|
|
#Install
|
|
ADD ./ /install_acme.sh/
|
|
RUN cd /install_acme.sh && ([ -f /install_acme.sh/acme.sh ] && /install_acme.sh/acme.sh --install || curl https://get.acme.sh | sh) && rm -rf /install_acme.sh/
|
|
|
|
|
|
RUN ln -s /root/.acme.sh/acme.sh /usr/local/bin/acme.sh && crontab -l | grep acme.sh | sed 's#> /dev/null##' | crontab -
|
|
|
|
RUN for verb in help \
|
|
version \
|
|
install \
|
|
uninstall \
|
|
upgrade \
|
|
issue \
|
|
signcsr \
|
|
deploy \
|
|
install-cert \
|
|
renew \
|
|
renew-all \
|
|
revoke \
|
|
remove \
|
|
list \
|
|
showcsr \
|
|
install-cronjob \
|
|
uninstall-cronjob \
|
|
cron \
|
|
toPkcs \
|
|
toPkcs8 \
|
|
update-account \
|
|
register-account \
|
|
create-account-key \
|
|
create-domain-key \
|
|
createCSR \
|
|
deactivate \
|
|
deactivate-account \
|
|
set-notify \
|
|
set-default-ca \
|
|
; do \
|
|
printf -- "%b" "#!/usr/bin/env sh\n/root/.acme.sh/acme.sh --${verb} --config-home /acme.sh \"\$@\"" >/usr/local/bin/--${verb} && chmod +x /usr/local/bin/--${verb} \
|
|
; done
|
|
|
|
RUN printf "%b" '#!'"/usr/bin/env sh\n \
|
|
if [ \"\$1\" = \"daemon\" ]; then \n \
|
|
trap \"echo stop && killall crond && exit 0\" SIGTERM SIGINT \n \
|
|
crond && while true; do sleep 1; done;\n \
|
|
else \n \
|
|
exec -- \"\$@\"\n \
|
|
fi" >/entry.sh && chmod +x /entry.sh
|
|
|
|
ENTRYPOINT ["/entry.sh"]
|
|
CMD ["--help"]
|