docker – Rev 49

Subversion Repositories:
Rev:
FROM debian:stable-slim

# update package manager
RUN  apt-get update -y && \
     apt-get upgrade -y && \
     apt-get dist-upgrade -y && \
     apt-get -y autoremove && \
     apt-get clean
     
# install required packages
RUN apt-get install -y \
    curl

# create a temporary directory to delete later
RUN mkdir -p /tmp/kitchen
WORKDIR /tmp/kitchen

# install xcaddy and caddy
RUN curl -fsSL "https://go.dev/dl/$(curl -s 'https://go.dev/VERSION?m=text' | head -1).linux-amd64.tar.gz" -o go.tar.gz && \
    tar -xzf go.tar.gz && \
    rm go.tar.gz && \
    export PATH=$PATH:/tmp/kitchen/go/bin && \
    echo "Installing xcaddy..." && \
    GOBIN=/tmp/kitchen/go/bin go install github.com/caddyserver/xcaddy/cmd/xcaddy@latest && \
    export XCADDY_WHICH_GO=/tmp/kitchen/go/bin/go && \
    echo "Building caddy..." && \
    xcaddy build \
    --with github.com/caddy-dns/cloudflare \
    --with github.com/greenpau/caddy-security \
    --with github.com/caddy-dns/duckdns \
    --output /usr/local/bin/caddy

# remote temporary directory
RUN rm -rf /tmp/kitchen

ENTRYPOINT [ "/usr/local/bin/caddy", "run",  "--config",  "/etc/caddy/Caddyfile" ]