Dehydrated is a shell-script ACME client that automates the lifecycle of TLS certificates from certificate authorities like Let's Encrypt. It implements the ACME protocol entirely in POSIX shell script with no external dependencies beyond standard Unix tools, relying on OpenSSL for all cryptographic operations including key generation, signing, and certificate parsing.
The tool manages account keys, certificates, and configuration as plain files on disk, maintaining certificate metadata and account status in simple text files without a database. It delegates domain validation challenges to user-defined shell hooks, supporting http-01, dns-01, and tls-alpn-01 challenge types for flexible deployment. Certificate renewals are processed sequentially in a linear loop, checking expiration dates and domain lists before re-issuing.
Dehydrated handles the full certificate lifecycle including account registration and deactivation, certificate signing and renewal, domain ownership validation, certificate revocation, and wildcard certificate management. It can sign provided certificate signing requests either standalone or through automated hooks. The documentation covers installation, configuration, and usage for obtaining and managing free TLS certificates from ACME-compliant certificate authorities.