github.com/imgk/caddy-trojan@v0.0.0-20221206043256-2631719e16c8/Dockerfile (about) 1 FROM golang:1.18-alpine AS builder 2 3 RUN set -e \ 4 && apk upgrade \ 5 && apk add jq curl git \ 6 && export version=$(curl -s "https://api.github.com/repos/caddyserver/caddy/releases/latest" | jq -r .tag_name) \ 7 && echo ">>>>>>>>>>>>>>> ${version} ###############" \ 8 && go install github.com/caddyserver/xcaddy/cmd/xcaddy@latest \ 9 && xcaddy build ${version} --output /caddy \ 10 --with github.com/caddy-dns/route53 \ 11 --with github.com/caddy-dns/cloudflare \ 12 --with github.com/caddy-dns/alidns \ 13 --with github.com/caddy-dns/vultr \ 14 --with github.com/caddy-dns/dnspod \ 15 --with github.com/caddy-dns/duckdns \ 16 --with github.com/caddy-dns/gandi \ 17 --with github.com/hairyhenderson/caddy-teapot-module \ 18 --with github.com/caddyserver/transform-encoder \ 19 --with github.com/mholt/caddy-webdav \ 20 --with github.com/imgk/caddy-trojan \ 21 --with github.com/imgk/caddy-pprof 22 23 24 FROM alpine AS dist 25 26 LABEL maintainer="mritd <mritd@linux.com>" 27 28 # See https://caddyserver.com/docs/conventions#file-locations for details 29 ENV XDG_CONFIG_HOME /config 30 ENV XDG_DATA_HOME /data 31 32 ENV TZ Asia/Shanghai 33 34 COPY --from=builder /caddy /usr/bin/caddy 35 ADD https://raw.githubusercontent.com/caddyserver/dist/master/config/Caddyfile /etc/caddy/Caddyfile 36 ADD https://raw.githubusercontent.com/caddyserver/dist/master/welcome/index.html /usr/share/caddy/index.html 37 38 # set up nsswitch.conf for Go's "netgo" implementation 39 # - https://github.com/golang/go/blob/go1.9.1/src/net/conf.go#L194-L275 40 # - docker run --rm debian:stretch grep '^hosts:' /etc/nsswitch.conf 41 RUN [ ! -e /etc/nsswitch.conf ] && echo 'hosts: files dns' > /etc/nsswitch.conf 42 43 RUN set -e \ 44 && apk upgrade \ 45 && apk add bash tzdata mailcap \ 46 && ln -sf /usr/share/zoneinfo/${TZ} /etc/localtime \ 47 && echo ${TZ} > /etc/timezone \ 48 && rm -rf /var/cache/apk/* 49 50 VOLUME /config 51 VOLUME /data 52 53 EXPOSE 80 54 EXPOSE 443 55 EXPOSE 2019 56 57 WORKDIR /srv 58 59 CMD ["caddy", "run", "--config", "/etc/caddy/Caddyfile", "--adapter", "caddyfile"]