acmetool(8)
π acmetool π (System Manager's Manual, section 8)
okay bestie, listen β you know that one tool in the System Manager's Manual called acmetool? Yeah. This is her. She lives in section 8, she's a whole queen, and she's about to get you certificates. Sit down, hydrate, let's go π«Ά
β¨ NAME β¨
acmetool β request certificates from ACME servers automatically π
β¨ SYNOPSIS β¨
acmetool [<flags>] <command> [<args> ...]
like. that's the whole shape of it. flags, a command, args. iconic.
πΈ DESCRIPTION πΈ
acmetool is a utility for the automated retrieval, management and renewal of certificates from ACME server such as Let's Encrypt. she is obsessed with automation, idempotency, and the minimisation of state β like, she does not want to keep a bunch of stuff around, she is unbothered, moisturized, in her lane β¨
so how do you even use her? you configure targets β typically with the want command, that's the vibe. then acmetool requests certificates as necessary to satisfy the configured targets. new certificates get requested wherever the existing ones are soon to expire. no cap. she just handles it π
she stores her state in a state directory. you can specify it on invocation via the --state option; otherwise, the path in ACME_STATE_DIR is used, or, failing that, the path /var/lib/acme (recommended π₯).
the --xlog options control the logging. the --service options control privilege dropping and daemonization β and those are applicable only to the redirector subcommand. like, only her. iykyk.
π OPTIONS π
okay this is the long part bestie, but every single one matters, so we're doing all of them, no skips, no shortcuts π₯
--helpβ Show context-sensitive help (also try--help-longand--help-man). yes, there's three of them. she's thorough.--state=/var/lib/acmeβ Path to the state directory (env:ACME_STATE_DIR)--hooks=/etc/acme/hooksβ Path to the notification hooks directory (env:ACME_HOOKS_DIR)--batchβ Do not attempt interaction; useful for cron jobs. (acmetool can still obtain responses from a response file, if one was provided.) so like, she'll shut up and just work π«‘--stdioβ Don't attempt to use console dialogs; fall back to stdio prompts--response-file=RESPONSE-FILEβ Read dialog responses from the given file (default:$ACME_STATE_DIR/conf/responses)--versionβ Print version information--xlog.facility=daemonβ Syslog facility to use--xlog.syslogβ Log to syslog?--xlog.syslogseverity=DEBUGβ Syslog severity limit--xlog.journalβ Log to systemd journal?--xlog.journalseverity=DEBUGβ Systemd journal severity limit--xlog.severity=NOTICEβ Log severity (any syslog severity name or number)--xlog.file=""β Log to filename--xlog.fileseverity=TRACEβ File logging severity limit--xlog.stderrβ Log to stderr?--xlog.stderrseverity=TRACEβ stderr logging severity limit--service.cpuprofile=""β Write CPU profile to file--service.debugserveraddr=""β Address for debug server to listen on (do not specify a public address) (default: disabled) π¨ like seriously bestie, not a public one--service.uid=""β UID to run as (default: don't drop privileges)--service.gid=""β GID to run as (default: don't drop privileges)--service.daemonβ Run as daemon? (doesn't fork)--service.stderrβ Keep stderr open when daemonizing--service.chroot=""β Chroot to a directory (must set UID, GID) ("/"disables) π--service.pidfile=""β Write PID to file with given filename and hold a write lock--service.forkβ Fork? (implies-daemon)
π¦ SUBCOMMANDS π¦
the main character energy lives here. pick your girl π
help [<command>...]
Show help.
reconcile [<target-filenames>...]
Reconcile ACME state, idempotently requesting and renewing certificates to satisfy configured targets.
this is the default command, so if you just run acmetool with nothing else, this is what you get. she's the default for a reason π
cull [<flags>]
Delete expired, unused certificates ποΈ
-n,--simulateβ Show which certificates would be deleted without deleting any β like a little dress rehearsal, no actual deleting, we're just looking π
status
Show active configuration
want [<flags>] <hostname>...
Add a target with one or more hostnames
--reconcileβ Specify--no-reconcileto skip reconcile after adding target
unwant <hostname>...
Modify targets to remove any mentions of the given hostnames β the reverse of want, she's letting go π
quickstart [<flags>]
Interactively ask some getting started questions (recommended β¨)
--expertβ Ask more questions in quickstart wizard β for the girlies who want the full interrogation π
redirector [<flags>]
HTTP to HTTPS redirector with challenge response support
--path=PATHβ Path to serve challenge files from--challenge-gid=CHALLENGE-GIDβ GID to chgrp the challenge path to (optional)--read-timeout=10sβ Maximum duration before timing out read of the request (default:'10s')--write-timeout=20sβ Maximum duration before timing out write of the request (default:'20s')--status-code=308β HTTP status code to use when redirecting (default'308')--bind=":80"β Bind address for redirectory (default':80')
remember: the --service options up in OPTIONS? they're applicable only to this subcommand. just her. π
test-notify [<hostname>...]
Test-execute notification hooks as though given hostnames were updated
import-jwk-account <provider-url> <private-key-file>
Import a JWK account key
import-pem-account <provider-url> <private-key-file>
Import a PEM account key
import-key <private-key-file>
Import a certificate private key π
import-le [<le-state-path*>]
Import a Let's Encrypt client state directory
revoke [<certificate-id-or-path>]
Revoke a certificate β it's giving closure π
account-thumbprint
Prints account thumbprints
account-url
Show account URL
π AUTHOR π
Β© 2015 Hugo Landau <hlandau@devever.net> MIT License
periodt. that's the author, that's the copyright, that's the license, all of it, untouched π
π SEE ALSO π
Documentation: <https://github.com/hlandau/acmetool>
Report bugs at: <https://github.com/hlandau/acmetool/issues>
and that's the whole page, bestie π this was acmetool(8) β straight out of the System Manager's Manual, source/version acmetool, and yeah she's got no date on the footer because she's timeless β¨ go get those certificates. slay. π
π¦ where this page comes from
- debian bookworm: acmetool 0.2.2-1+b4 Β· MIT
- debian trixie: acmetool 0.2.2-3+b1 Β· MIT
- ubuntu noble: acmetool 0.2.2-2 Β· MIT
- ubuntu resolute: acmetool 0.2.2-3 Β· MIT
- ubuntu stonking: acmetool 0.2.2-3 Β· MIT
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms