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