]> git.proxmox.com Git - mirror_acme.sh.git/blob - Dockerfile
Merge pull request #4061 from acmesh-official/dev
[mirror_acme.sh.git] / Dockerfile
1 FROM alpine:3.15
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 jq
16
17 ENV LE_CONFIG_HOME /acme.sh
18
19 ARG AUTO_UPGRADE=1
20
21 ENV AUTO_UPGRADE $AUTO_UPGRADE
22
23 #Install
24 COPY ./ /install_acme.sh/
25 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/
26
27
28 RUN ln -s /root/.acme.sh/acme.sh /usr/local/bin/acme.sh && crontab -l | grep acme.sh | sed 's#> /dev/null##' | crontab -
29
30 RUN for verb in help \
31 version \
32 install \
33 uninstall \
34 upgrade \
35 issue \
36 signcsr \
37 deploy \
38 install-cert \
39 renew \
40 renew-all \
41 revoke \
42 remove \
43 list \
44 info \
45 showcsr \
46 install-cronjob \
47 uninstall-cronjob \
48 cron \
49 toPkcs \
50 toPkcs8 \
51 update-account \
52 register-account \
53 create-account-key \
54 create-domain-key \
55 createCSR \
56 deactivate \
57 deactivate-account \
58 set-notify \
59 set-default-ca \
60 set-default-chain \
61 ; do \
62 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} \
63 ; done
64
65 RUN printf "%b" '#!'"/usr/bin/env sh\n \
66 if [ \"\$1\" = \"daemon\" ]; then \n \
67 trap \"echo stop && killall crond && exit 0\" SIGTERM SIGINT \n \
68 crond && sleep infinity &\n \
69 wait \n \
70 else \n \
71 exec -- \"\$@\"\n \
72 fi" >/entry.sh && chmod +x /entry.sh
73
74 VOLUME /acme.sh
75
76 ENTRYPOINT ["/entry.sh"]
77 CMD ["--help"]