{"id":17397915,"url":"https://github.com/willgarcia/docker-letsencrypt-route53","last_synced_at":"2025-08-04T17:45:15.798Z","repository":{"id":147503338,"uuid":"83617716","full_name":"willgarcia/docker-letsencrypt-route53","owner":"willgarcia","description":"ACME DNS challenge validation and certificate management with Letsencrypt / route53","archived":false,"fork":false,"pushed_at":"2018-09-14T10:44:09.000Z","size":9,"stargazers_count":5,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-31T02:21:52.703Z","etag":null,"topics":["aws-route53","dehydrated","docker","letsencrypt"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/willgarcia.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-03-02T00:59:39.000Z","updated_at":"2022-08-05T17:39:26.000Z","dependencies_parsed_at":"2023-06-08T07:00:45.974Z","dependency_job_id":null,"html_url":"https://github.com/willgarcia/docker-letsencrypt-route53","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/willgarcia%2Fdocker-letsencrypt-route53","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/willgarcia%2Fdocker-letsencrypt-route53/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/willgarcia%2Fdocker-letsencrypt-route53/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/willgarcia%2Fdocker-letsencrypt-route53/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/willgarcia","download_url":"https://codeload.github.com/willgarcia/docker-letsencrypt-route53/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252757513,"owners_count":21799680,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["aws-route53","dehydrated","docker","letsencrypt"],"created_at":"2024-10-16T14:39:50.580Z","updated_at":"2025-05-06T19:47:07.073Z","avatar_url":"https://github.com/willgarcia.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Docker Letsencrypt route53\n\nDocker container to automate [ACME DNS challenge validation](https://ietf-wg-acme.github.io/acme/#rfc.section.8.4) and certificate management with Letsencrypt, dehydrated and AWS route53.\n\n## Note\n\nThe dehydrated hook `dehydrated-route53` manages multiple route53 hosted zones. See [original version](https://gist.github.com/jam13/1c0acb5fa7ed4d785adea771473b4e0a).\n\n## Resources\n\n* [ACME](https://ietf-wg-acme.github.io/acme/) - Automatic Certificate Management Environment\n* [ACME - DNS challenge](https://tools.ietf.org/html/draft-ietf-acme-acme-03#section-7.4) - draft-ietf-acme-acme-03\n* [Letsencrypt ACME client implementations](https://letsencrypt.org/docs/client-options/)\n* [Certbot](https://certbot.eff.org/docs/using.html#managing-certificates) -  official ACME client\n* [dehydrated](https://github.com/lukas2511/dehydrated) - shell ACME client\n* [How to use Let's Encrypt DNS challenge validation?](http://serverfault.com/questions/750902/how-to-use-lets-encrypt-dns-challenge-validation) - serverfault thread\n* [Let's encrypt with Dehydrated: DNS-01](https://www.aaflalo.me/2017/02/lets-encrypt-with-dehydrated-dns-01/) - Blog post and examples of usage with Lexicon\n* [Lexicon](https://github.com/AnalogJ/lexicon) - Manipulate DNS records on various DNS providers in a standardized way.\n* [AWS route53 CLI](http://docs.aws.amazon.com/cli/latest/reference/route53/) - Command reference\n\n## Docker image\n- [`latest`/`1` (*Dockerfile*)](https://github.com/willgarcia/docker-letsencrypt-route53/blob/master/Dockerfile)\n\n[![](https://images.microbadger.com/badges/version/willgarcia/letsencrypt.svg)](http://microbadger.com/images/willgarcia/letsencrypt \"Get your own version badge on microbadger.com\")  [![](https://images.microbadger.com/badges/image/willgarcia/letsencrypt.svg)](http://microbadger.com/images/willgarcia/letsencrypt \"Get your own image badge on microbadger.com\")\n\n\n\n## Usage\n\n```\n$ docker run \\\n    --env-file letsencrypt.env \\\n    willgarcia/letsencrypt \\\n    dehydrated\n\nUsage: /usr/bin/dehydrated [-h] [command [argument]] [parameter [argument]] [parameter [argument]] ...\n\nDefault command: help\n\nCommands:\n --register                       Register account key\n --cron (-c)                      Sign/renew non-existant/changed/expiring certificates.\n --signcsr (-s) path/to/csr.pem   Sign a given CSR, output CRT on stdout (advanced usage)\n --revoke (-r) path/to/cert.pem   Revoke specified certificate\n --cleanup (-gc)                  Move unused certificate files to archive directory\n --help (-h)                      Show help text\n --env (-e)                       Output configuration variables for use in other scripts\n\nParameters:\n --accept-terms                   Accept CAs terms of service\n --full-chain (-fc)               Print full chain when using --signcsr\n --ipv4 (-4)                      Resolve names to IPv4 addresses only\n --ipv6 (-6)                      Resolve names to IPv6 addresses only\n --domain (-d) domain.tld         Use specified domain name(s) instead of domains.txt entry (one certificate!)\n --keep-going (-g)                Keep going after encountering an error while creating/renewing multiple certificates in cron mode\n --force (-x)                     Force renew of certificate even if it is longer valid than value in RENEW_DAYS\n --no-lock (-n)                   Don't use lockfile (potentially dangerous!)\n --lock-suffix example.com        Suffix lockfile name with a string (useful for with -d)\n --ocsp                           Sets option in CSR indicating OCSP stapling to be mandatory\n --privkey (-p) path/to/key.pem   Use specified private key instead of account key (useful for revocation)\n --config (-f) path/to/config     Use specified config file\n --hook (-k) path/to/hook.sh      Use specified script for hooks\n --out (-o) certs/directory       Output certificates into the specified directory\n --challenge (-t) http-01|dns-01  Which challenge should be used? Currently http-01 and dns-01 are supported\n --algo (-a) rsa|prime256v1|secp384r1 Which public key algorithm should be used? Supported: rsa, prime256v1 and secp384r1\n```\n\n## Example of DNS challenge validation / cert. creation\n\n### Environment\n\n[Configure your credential for the AWS command line interface](http://docs.aws.amazon.com/cli/latest/userguide/cli-chap-getting-started.html#cli-environment) in `letsencrypt.env`.\n\nRun dehydrated:\n\n```\n$ docker run \\\n    --env-file letsencrypt.env \\\n    willgarcia/letsencrypt \\\n    dehydrated \\\n        --cron --domain domain.com \\\n        --out /etc/ssl \\\n        --hook dehydrated \\\n        --challenge dns-01\n\n# INFO: Using main config file /etc/dehydrated/config\nProcessing domain.com\n + Signing domains...\n + Creating new directory /etc/certs/domain.com ...\n + Generating private key...\n + Generating signing request...\n + Requesting challenge for domain.com...\n + Already validated!\n + Requesting certificate...\n + Checking certificate...\n + Done!\n + Creating fullchain.pem...\nManually Deploy Cert: domain.com, /etc/certs/domain.com/privkey.pem, /etc/certs/domain.com/cert.pem, /etc/certs/domain.com/chain.pem\n + Done!\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwillgarcia%2Fdocker-letsencrypt-route53","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwillgarcia%2Fdocker-letsencrypt-route53","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwillgarcia%2Fdocker-letsencrypt-route53/lists"}