Dockerfile.architecture 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. # Dockerfile for caddy v1.0.5 based alpine
  2. # Copyright (C) 2021 - 2024 Teddysun <[email protected]>
  3. # Reference URL:
  4. # https://github.com/caddyserver/caddy
  5. # https://github.com/caddyserver/forwardproxy
  6. FROM alpine:3.14
  7. LABEL maintainer="Teddysun <[email protected]>"
  8. ARG TARGETPLATFORM
  9. WORKDIR /root
  10. COPY caddy.sh /root/caddy.sh
  11. RUN set -ex \
  12. && mkdir -p /config/caddy /data/caddy /etc/caddy /usr/share/caddy \
  13. && apk add --no-cache tzdata ca-certificates mailcap \
  14. && chmod +x /root/caddy.sh \
  15. && /root/caddy.sh "${TARGETPLATFORM}" \
  16. && rm -fv /root/caddy.sh
  17. # set up nsswitch.conf for Go's "netgo" implementation
  18. # see: https://github.com/docker-library/golang/blob/1eb096131592bcbc90aa3b97471811c798a93573/1.14/alpine3.12/Dockerfile#L9
  19. RUN [ ! -e /etc/nsswitch.conf ] && echo 'hosts: files dns' > /etc/nsswitch.conf
  20. COPY Caddyfile /etc/caddy/Caddyfile
  21. COPY index.html /usr/share/caddy/index.html
  22. # See https://caddyserver.com/docs/conventions#file-locations for details
  23. ENV XDG_CONFIG_HOME /config
  24. ENV XDG_DATA_HOME /data
  25. VOLUME /etc/caddy
  26. VOLUME /config
  27. VOLUME /data
  28. EXPOSE 80 443 2015
  29. ENV TZ=Asia/Shanghai
  30. CMD [ "/usr/bin/caddy", "-conf", "/etc/caddy/Caddyfile", "-agree" ]