]> git.proxmox.com Git - mirror_acme.sh.git/blob - Dockerfile
make sure _url gets set where it is needed
[mirror_acme.sh.git] / Dockerfile
1 FROM alpine:3.12
2
3 RUN apk --no-cache add -f \
4 openssl \
5 openssh-client \
6 coreutils \
7 bind-tools \
8 curl \
9 sed \
10 socat \
11 tzdata \
12 oath-toolkit-oathtool \
13 tar \
14 libidn
15
16 ENV LE_CONFIG_HOME /acme.sh
17
18 ARG AUTO_UPGRADE=1
19
20 ENV AUTO_UPGRADE $AUTO_UPGRADE
21
22 #Install
23 COPY ./ /install_acme.sh/
24 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/
25
26
27 RUN ln -s /root/.acme.sh/acme.sh /usr/local/bin/acme.sh && crontab -l | grep acme.sh | sed 's#> /dev/null##' | crontab -
28
29 RUN for verb in help \
30 version \
31 install \
32 uninstall \
33 upgrade \
34 issue \
35 signcsr \
36 deploy \
37 install-cert \
38 renew \
39 renew-all \
40 revoke \
41 remove \
42 list \
43 showcsr \
44 install-cronjob \
45 uninstall-cronjob \
46 cron \
47 toPkcs \
48 toPkcs8 \
49 update-account \
50 register-account \
51 create-account-key \
52 create-domain-key \
53 createCSR \
54 deactivate \
55 deactivate-account \
56 set-notify \
57 set-default-ca \
58 ; do \
59 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} \
60 ; done
61
62 RUN printf "%b" '#!'"/usr/bin/env sh\n \
63 if [ \"\$1\" = \"daemon\" ]; then \n \
64 trap \"echo stop && killall crond && exit 0\" SIGTERM SIGINT \n \
65 crond && while true; do sleep 1; done;\n \
66 else \n \
67 exec -- \"\$@\"\n \
68 fi" >/entry.sh && chmod +x /entry.sh
69
70 VOLUME /acme.sh
71
72 ENTRYPOINT ["/entry.sh"]
73 CMD ["--help"]