FROM golang:1.13.5-alpine3.10 AS builder
LABEL maintainer="joona@kuori.org"

RUN apk add --update gcc musl-dev git figlet \
    && figlet -c Building ACME-DNS \
    && go get github.com/joohoi/acme-dns

WORKDIR /go/src/github.com/joohoi/acme-dns

RUN CGO_ENABLED=1 go build


FROM alpine:3.10

WORKDIR /
COPY --from=builder /go/src/github.com/joohoi/acme-dns .
COPY ./entrypoint.sh /entrypoint.sh
RUN mkdir -p /etc/acme-dns && mkdir -p /var/lib/acme-dns && mkdir /etc/letsencrypt \
    && rm -rf ./config.cfg \
    && apk --no-cache add ca-certificates && update-ca-certificates \
    && apk --no-cache add curl sqlite bash git openssh-client \
        openssl openssl-dev python3 python3-dev musl-dev sqlite gcc libffi-dev figlet email \
    && pip3 install certbot \
    && ln -sf /usr/bin/python3 /usr/bin/python \
    && curl -o /etc/letsencrypt/acme-dns-auth.py \
	https://raw.githubusercontent.com/joohoi/acme-dns-certbot-joohoi/master/acme-dns-auth.py \
    && chmod 0700 /etc/letsencrypt/acme-dns-auth.py \
    && sed -i "s/MY_NAME  = \'Your Real Name\'/MY_NAME  = \'jenkins.dev\'/" /etc/email/email.conf

ENTRYPOINT ["/entrypoint.sh"]
EXPOSE 53
EXPOSE 53/udp