Skip to content

Instantly share code, notes, and snippets.

@kuntashov
Created April 25, 2018 14:25
Show Gist options
  • Save kuntashov/32c3cca25eab9eeff117df040d0e768a to your computer and use it in GitHub Desktop.
Save kuntashov/32c3cca25eab9eeff117df040d0e768a to your computer and use it in GitHub Desktop.
Dockerfile for lego (https://github.com/xenolf/lego) with proxy settings
FROM alpine:3.6
ENV GOPATH /go
ENV LEGO_VERSION master
ENV http_proxy='http://user:pass@proxy:port'
RUN apk update && apk add --no-cache --virtual run-dependencies ca-certificates && \
apk add --no-cache --virtual build-dependencies go git musl-dev && \
git config --global http.proxy $http_proxy
RUN go get -u github.com/xenolf/lego && \
cd ${GOPATH}/src/github.com/xenolf/lego && \
git checkout ${LEGO_VERSION} && \
go build -o /usr/bin/lego . && \
apk del build-dependencies && \
rm -rf ${GOPATH}
ENTRYPOINT [ "/usr/bin/lego" ]
@kuntashov
Copy link
Author

Почему не штатный Dockerfile?

Во-первых, он не умеет из коробки ходить через прокси, а во-вторых он по умолчанию пытается собрать версию 0.4.1, а она не собирается из-за бага go-acme/lego#489, который исправлен в мастере.

Как собрать?

mkdir lego
cd lego
curl -O https://gist.github.com/kuntashov/32c3cca25eab9eeff117df040d0e768a/raw/Dockerfile.lego.proxy
docker build -t lego -f Dockerfile.lego.proxy .

Как использовать?

Например, вот так:

docker run -it --volume /var/lego/data:/.lego lego --email="[email protected]" --domains="example.com" run 

Результат на хосте будет в /var/lego/data

Примеры запуска lego см. в README самого lego: https://github.com/xenolf/lego

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment