447bf77dfe
With apk `--no-cache` parameter, there is no need to run `apk update` and manually clean up the cache, apk will update automatically without leaving local cache files to be cleaned up.
74 lines
1.5 KiB
Docker
74 lines
1.5 KiB
Docker
FROM alpine:3.12
|
|
|
|
RUN apk --no-cache add -f \
|
|
openssl \
|
|
openssh-client \
|
|
coreutils \
|
|
bind-tools \
|
|
curl \
|
|
sed \
|
|
socat \
|
|
tzdata \
|
|
oath-toolkit-oathtool \
|
|
tar \
|
|
libidn
|
|
|
|
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
|
|
|
|
VOLUME /acme.sh
|
|
|
|
ENTRYPOINT ["/entry.sh"]
|
|
CMD ["--help"]
|