Dockerfile 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637
  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. WORKDIR /root
  9. COPY caddy.sh /root/caddy.sh
  10. RUN set -ex \
  11. && mkdir -p /config/caddy /data/caddy /etc/caddy /usr/share/caddy \
  12. && apk add --no-cache tzdata ca-certificates mailcap \
  13. && chmod +x /root/caddy.sh \
  14. && /root/caddy.sh \
  15. && rm -fv /root/caddy.sh
  16. # set up nsswitch.conf for Go's "netgo" implementation
  17. # see: https://github.com/docker-library/golang/blob/1eb096131592bcbc90aa3b97471811c798a93573/1.14/alpine3.12/Dockerfile#L9
  18. RUN [ ! -e /etc/nsswitch.conf ] && echo 'hosts: files dns' > /etc/nsswitch.conf
  19. COPY Caddyfile /etc/caddy/Caddyfile
  20. COPY index.html /usr/share/caddy/index.html
  21. # See https://caddyserver.com/docs/conventions#file-locations for details
  22. ENV XDG_CONFIG_HOME /config
  23. ENV XDG_DATA_HOME /data
  24. VOLUME /etc/caddy
  25. VOLUME /config
  26. VOLUME /data
  27. EXPOSE 80 443 2015
  28. ENV TZ=Asia/Shanghai
  29. CMD [ "/usr/bin/caddy", "-conf", "/etc/caddy/Caddyfile", "-agree" ]