Container para emitir Certificados Let's Encrypt, com o Dehydrated
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
will Farrell f6e55e3cff old method 8 years ago
certbot old method 8 years ago
.gitignore init commit 8 years ago
.travis.yml fix travis build path 8 years ago
Dockerfile init commit 8 years ago
README.md old method 8 years ago
config init commit 8 years ago
docker-entrypoint.sh init commit 8 years ago
letsencrypt.env.sample init commit 8 years ago

README.md

docker-letsencrypt

container to generate letsencrypt certs using dehydrated + lexicon

Dockerfile

Use to set your own defaults

FROM willfarrell/letsencrypt:latest

COPY config /etc/dehydrated/config

ENV

# defaults to `staging`, use `production` when ready.
LE_ENV=staging
# Only required if you plan to use dns-01 challenges (use for private services)
PROVIDER=cloudflare
LEXICON_CLOUDFLARE_USERNAME=
LEXICON_CLOUDFLARE_TOKEN=

Testing

docker build -t letsencrypt .
docker rm -f letsencrypt

# private
docker run \
    --env-file letsencrypt.env \
    letsencrypt \
    dehydrated \
        --cron --domain letsencrypt.willfarrell.ca \
        --out /etc/ssl \
        --hook dehydrated-dns \
        --challenge dns-01 \
        --force

# public
docker run -d \
    --volumes-from nginx_nginx_1 \
    --env-file letsencrypt.env \
    letsencrypt \
    dehydrated \
        --cron --domain letsencrypt.willfarrell.ca \
        --out /etc/ssl \
        --challenge http-01 \
        --force

# reload nginx
docker exec -it nginx_nginx_1 /etc/scripts/make_hpkp && /etc/init.d/nginx reload                                                                          

Deploy

# private
docker run \
    --volumes-from nginx_nginx_1 \
    --env-file letsencrypt.env \
    letsencrypt \
    dehydrated \
        --cron --domain letsencrypt.willfarrell.ca \
        --out /etc/ssl \
        --hook dehydrated-dns \
        --challenge dns-01

# public
docker run -d \
    --volumes-from nginx_nginx_1 \
    --env-file letsencrypt.env \
    letsencrypt \
    dehydrated \
        --cron --domain letsencrypt.willfarrell.ca \
        --out /etc/ssl \
        --challenge http-01

TODO

  • Update to python 3 (not-supported lexicon#68)

certbot/make_letsencrypt_cert is an alternate method that one could use with the certbot docker image. However dns-01 is not supported.