-
Notifications
You must be signed in to change notification settings - Fork 315
/
Dockerfile
55 lines (41 loc) · 1.11 KB
/
Dockerfile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
#
# Builder
#
FROM abiosoft/caddy:builder as builder
ARG version="1.0.3"
ARG plugins="git,cors,realip,expires,cache,cloudflare"
ARG enable_telemetry="true"
# process wrapper
RUN go get -v github.com/abiosoft/parent
RUN VERSION=${version} PLUGINS=${plugins} ENABLE_TELEMETRY=${enable_telemetry} /bin/sh /usr/bin/builder.sh
#
# Final stage
#
FROM alpine:3.10
LABEL maintainer "Abiola Ibrahim <[email protected]>"
ARG version="1.0.3"
LABEL caddy_version="$version"
# Let's Encrypt Agreement
ENV ACME_AGREE="false"
# Telemetry Stats
ENV ENABLE_TELEMETRY="$enable_telemetry"
RUN apk add --no-cache \
ca-certificates \
git \
mailcap \
openssh-client \
tzdata
# install caddy
COPY --from=builder /install/caddy /usr/bin/caddy
# validate install
RUN /usr/bin/caddy -version
RUN /usr/bin/caddy -plugins
EXPOSE 80 443 2015
VOLUME /root/.caddy /srv
WORKDIR /srv
COPY Caddyfile /etc/Caddyfile
COPY index.html /srv/index.html
# install process wrapper
COPY --from=builder /go/bin/parent /bin/parent
ENTRYPOINT ["/bin/parent", "caddy"]
CMD ["--conf", "/etc/Caddyfile", "--log", "stdout", "--agree=$ACME_AGREE"]