1
0
Fork 0
caddy/legacy/Dockerfile

54 lines
1.2 KiB
Docker
Raw Normal View History

2020-05-13 14:47:14 +08:00
# LEGACY
2020-05-13 11:43:58 +08:00
#
# Build stage
#
FROM golang:1.13-alpine as build
# args
ARG version="1.0.5"
# add plugin import paths here separated by commas
ARG plugins=""
ARG telemetry="true"
# build root
WORKDIR /build
# plugins
COPY plugger.go ./
# build & test
RUN apk add --no-cache git upx ca-certificates \
&& echo -e "module caddy\nrequire github.com/caddyserver/caddy v${version}" > go.mod \
&& go run plugger.go -plugins="${plugins}" -telemetry="${telemetry}" \
&& CGO_ENABLED=0 GOOS=linux GO111MODULE=on go build \
&& upx --ultra-brute caddy \
&& ./caddy -version
#
# Final image
#
FROM scratch
# labels
LABEL org.label-schema.vcs-url="https://github.com/productionwentdown/caddy"
2020-05-13 14:28:40 +08:00
LABEL org.label-schema.version=v${version}
2020-05-13 11:43:58 +08:00
LABEL org.label-schema.schema-version="1.0"
# copy binary and ca certs
COPY --from=build /build/caddy /bin/caddy
COPY --from=build /etc/ssl/certs/ca-certificates.crt /etc/ssl/certs/ca-certificates.crt
# copy default caddyfile
COPY Caddyfile /etc/Caddyfile
# set default caddypath
ENV CADDYPATH=/etc/.caddy
VOLUME /etc/.caddy
# serve from /srv
WORKDIR /srv
EXPOSE 2015
ENTRYPOINT ["/bin/caddy", "--conf", "/etc/Caddyfile", "--log", "stdout"]