HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
dehydrated-io
dehydrated
Shell2015–2025
dehydrated-io / dehydrated

dehydrated

ACME client implemented as a simple shell-script – just add water

40Distinct people
54Mentions
1Explicit recommenders
6.3KGitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

ACME client implemented as a simple shell-script – just add water

GitHub

Where it is used

No documented product use was verified in the last source check.

What people are saying

Don't forget this[1] gem which is my favorite way to use letsencrypt. It will let me run it by cron (or periodic on FreeBSD) plus I can have my own post-run script that takes…

feld used a recommendation phrase. One indexed comment matches. This is a phrase match, not a verdict.

No classified warning is attached to this page. Read the discussions before treating silence as approval.

Also in these discussions

Mentioned in the same Hacker News threads. That is not proof they are substitutes.

This week on Hacker News

Nov 8–Nov 15 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/15/2026, 10:02:05 AM UTC.

No direct repository links were found in the indexed HN discussions over the past seven days. Older discussions are available below.

Mentions over time

HN mentions by year54 dated mentions

Observed mentions: 2015-12-05 13:47:05 UTC to 2025-10-29 02:52:06 UTC.

0510152015-01-01 00:00:00 UTC to 2016-01-01 00:00:00 UTC (exclusive): 3 mentions; 1 submissions, 2 comments20152016-01-01 00:00:00 UTC to 2017-01-01 00:00:00 UTC (exclusive): 15 mentions; 0 submissions, 15 comments2017-01-01 00:00:00 UTC to 2018-01-01 00:00:00 UTC (exclusive): 3 mentions; 0 submissions, 3 comments2018-01-01 00:00:00 UTC to 2019-01-01 00:00:00 UTC (exclusive): 2 mentions; 0 submissions, 2 comments2019-01-01 00:00:00 UTC to 2020-01-01 00:00:00 UTC (exclusive): 6 mentions; 0 submissions, 6 comments2020-01-01 00:00:00 UTC to 2021-01-01 00:00:00 UTC (exclusive): 5 mentions; 0 submissions, 5 comments20202021-01-01 00:00:00 UTC to 2022-01-01 00:00:00 UTC (exclusive): 3 mentions; 0 submissions, 3 comments2022-01-01 00:00:00 UTC to 2023-01-01 00:00:00 UTC (exclusive): 3 mentions; 0 submissions, 3 comments2023-01-01 00:00:00 UTC to 2024-01-01 00:00:00 UTC (exclusive): 3 mentions; 0 submissions, 3 comments2024-01-01 00:00:00 UTC to 2025-01-01 00:00:00 UTC (exclusive): 5 mentions; 1 submissions, 4 comments2025-01-01 00:00:00 UTC to 2026-01-01 00:00:00 UTC (exclusive): 6 mentions; 0 submissions, 6 comments2025

Counts come from the repository’s dated source evidence. Index cutoff: 2026-11-02 08:16:59 UTC.

View mention counts and date ranges
UTC ranges include their start and exclude their end. Select a period to filter the source evidence.
PeriodStart (UTC)End (exclusive, UTC)MentionsSubmissionsComments
20152015-01-01 00:00:00 UTC2016-01-01 00:00:00 UTC312
20162016-01-01 00:00:00 UTC2017-01-01 00:00:00 UTC15015
20172017-01-01 00:00:00 UTC2018-01-01 00:00:00 UTC303
20182018-01-01 00:00:00 UTC2019-01-01 00:00:00 UTC202
20192019-01-01 00:00:00 UTC2020-01-01 00:00:00 UTC606
20202020-01-01 00:00:00 UTC2021-01-01 00:00:00 UTC505
20212021-01-01 00:00:00 UTC2022-01-01 00:00:00 UTC303
20222022-01-01 00:00:00 UTC2023-01-01 00:00:00 UTC303
20232023-01-01 00:00:00 UTC2024-01-01 00:00:00 UTC303
20242024-01-01 00:00:00 UTC2025-01-01 00:00:00 UTC514
20252025-01-01 00:00:00 UTC2026-01-01 00:00:00 UTC606

What Hacker News says

15 sources
You could use Cloudflare for DNS and their API[1] for updating a subdomain of your own to your dynamic ip. With that, you could also use the dehydrated[2] script with dns challenges to host subdomains with ssl on your lan. It's all easily automated, as well. [1]:https://gist.github.com/larrybolt/6295160 [2]: https://github.com/lukas2511/dehydrated I can't suggest that cloudflare script, as I've long since rolled my own, but there are plenty of examples out there.
In Ask HN: Pseudo Static Ip Service
We've fully automated Lets Encrypt on our handful of servers and so far it works really well, with only a few glitches. It's specific to our setup but: -> We do DNS verification through Dehydrated (https://github.com/lukas2511/dehydrated). Because we use in-house DNS running PowerDNS with a MySQL backend, updates to records are a cinch. -> Dehydrated has "hooks" that allows you to call your own scripts for each step of the verification process. We have an on-prem sysadmin box that does remote administration of the servers (so that none of our servers have direct access to any other server, just in case of a breach), so we just had to update a few commands to work with Dehydrated's hooks. -> Each remote server has its own directory within the Dehydrated environment, and there's an "update" script that runs from cron that: a) asks that part
Read the rest
icular server which hostnames it currently has, b) updates the hostname list in that server's Dehydrated directory, and c) invokes Dehydrated. Because we host some client sites, it felt skeezy to me to be updating files in their web directories on a regular basis even if it's really temporary. DNS updates however are just fine. All in all Letsencrypt has been a huge, huge win for us. I'm really grateful for both them and for Dehydrated.
In Let's Automate Let's Encrypt
If you are going this scale, there is another way: Use your own DNS server and try the DNS-01 challenge. My setup works with [0]letsencrypt.sh, [1]pdns_api.sh, [2]PowerDNS4 (MySQL backend w/ replication) and a little script that distributes the certs and restarts services. The nice thing is, this works for anything you can put in DNS, you do not need not to respond to a HTTP request for a name (think mail server). [0] https://github.com/lukas2511/letsencrypt.sh [1] https://github.com/silkeh/pdns_api.sh [2] https://github.com/PowerDNS/pdns
In On the fly SSL registration and renewal inside Nginx with Let's Encrypt
https://github.com/lukas2511/letsencrypt.sh provides a BASH script that only uses OpenSSL/cURL and similar tools to retrieve LetsEncrypt certificates. It also provides support for the dns-01 ACME challenge (which quite handily lets a certificate be requested and retrieved without having to write files anywhere, only requiring a DNS TXT record). To handle different DNS provider APIs, letsencrypt.sh delegates the DNS operations to a hook script: this little Go program implements the hook command line interface and uses the Linode DNS API to create/destroy the required TXT records. More info is available from the project README at https://github.com/IdeaSynthesis/letsencrypt-dns01-hooks/blo... .
In Show HN: LetsEncrypt Dns-01 Support for the Linode DNS API
I have been happy with https://github.com/lukas2511/letsencrypt.sh. I am trying to get it packaged for Debian/Ubuntu and either get it into Debian-proper or at least host the repo myself to make it easier to use for the common case. Since nginx reloads the cert on a SIGHUP it makes it really easy to have zero downtime renews. As for getting notified if something goes wrong I use the following in my crontab: 10 5 * * * root test -e /usr/local/bin/letsencrypt.sh && /usr/local/bin/letsencrypt.sh -c > /dev/null letsencrypt.sh outputs errors to stderr, so any errors will be sent to the root account. To get that working, do: apt-get install postfix echo 'postmaster: root' > /etc/aliases echo 'root: igor@example.com' >> /etc/aliases newaliases Problem solved.
In Let's Encrypt and Nginx – State of the art secure web deployment
feld·Mar 8, 2016Recommendation phrase
Don't forget this[1] gem which is my favorite way to use letsencrypt. It will let me run it by cron (or periodic on FreeBSD) plus I can have my own post-run script that takes my certificates and keys and puts them in the format I need for Hitch (SSL termination for Varnish), push those changes, restart the service _inside_ a FreeBSD jail automatically. It's advanced setups like this where LetsEncrypt fails out of the box, but it's nice we have tools like this at our disposal now. [1] https://github.com/lukas2511/letsencrypt.sh
In Let's Encrypt has issued its first million certificates
Not a tutorial, but I was having trouble with that damn 'official' Letsencrypt client and the complexity of adding a .wellknown directory on every site I needed a certificate for. So I saw the light in the form of a bash-script [0], wrote a short hookscript, and now I can centrally manage through DNS. There are a couple of example scripts [1], and it really simple to write your own. [0] https://github.com/lukas2511/letsencrypt.sh [1] https://github.com/lukas2511/letsencrypt.sh/wiki/Examples-fo...
In Using Free SSL/TLS Certificates from Let’s Encrypt for Nginx

MAKE YOURSELF AT HOME

A few shortcuts

/
Search the collection
?
Open this guide
Esc
Close dialogs and navigation

Your saved repositories and interests stay in this browser.