1FROM golang:1.21.6-alpine
2
3RUN mkdir -p /usr/src/acme-mock
4WORKDIR /usr/src/acme-mock
5
6# pre-copy/cache go.mod for pre-downloading dependencies and only redownloading them in subsequent builds if they change
7COPY go.mod .
8RUN go mod download && go mod verify
9
10COPY . .
11RUN go build -v -o /usr/local/go/bin ./...
12
13# Create certificate
14RUN apk add openssl && \
15 yes "" | openssl req -x509 -nodes -newkey rsa:4096 \
16 -keyout key.pem -out cert.pem
17
18CMD ["acme-mock", "-a", ":443", "-b", "4096", "-c", "cert.pem", "-k", "key.pem"]
19
20EXPOSE 443