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