docker-caddy/Dockerfile

35 lines
1 KiB
Docker
Raw Normal View History

2017-01-03 11:20:27 +00:00
FROM alpine:edge
MAINTAINER Jan Christian Grünhage <mail@janchristiangruenhage.de>
ENV GOPATH /gopath
2017-01-03 11:27:23 +00:00
ENV CADDY_REPO_OWNER mholt
ENV CADDY_REPO_NAME caddy
2017-01-31 09:44:01 +00:00
ENV CADDY_BRANCH tags/v0.9.5
2017-01-03 11:20:27 +00:00
ENV CADDYPATH /caddy
ENV UID 192
ENV GID 192
RUN addgroup -g $GID -S caddy \
&& adduser -u $UID -g $GID -S caddy
RUN apk add --update musl \
&& apk add --no-cache build-base libcap tini go git \
2017-01-03 11:27:23 +00:00
&& mkdir -p $GOPATH/src/github.com/$CADDY_REPO_OWNER \
&& cd $GOPATH/src/github.com/$CADDY_REPO_OWNER \
&& git clone https://github.com/$CADDY_REPO_OWNER/$CADDY_REPO_NAME \
&& cd $CADDY_REPO_NAME \
2017-01-03 11:20:27 +00:00
&& git checkout $CADDY_BRANCH \
2017-01-03 11:27:23 +00:00
&& go get github.com/$CADDY_REPO_OWNER/$CADDY_REPO_NAME/... \
2017-01-03 11:20:27 +00:00
&& mv $GOPATH/bin/caddy /usr/bin \
&& setcap cap_net_bind_service=+ep /usr/bin/caddy \
&& apk del --purge build-base go \
&& mkdir $CADDYPATH \
&& rm -rf $GOPATH /var/cache/apk/*
USER caddy
EXPOSE 2015 80 443
VOLUME [ "$CADDYPATH" ]
WORKDIR "$CADDYPATH"
ENTRYPOINT [ "/sbin/tini" ]
CMD [ "caddy", "-quic", "--conf", "/caddy/Caddyfile" ]