Deprecated
le-store-certbot
has been replaced with le-store-fs
.
The new storage strategy keeps file system compatibility, but drops support for Python config files.
Unless you're running certbot
and Greenlock side-by-side, or interchangeably, you switch to le-store-fs
.
Migrating to le-store-fs
It's painless and all of your existing certificates will be preserved
(assuming you use the same configDir
as before).
Greenlock.create({
configDir: '~/letsencrypt/etc'
, store: require('le-store-fs').create({})
...
})
Alternatives
le-store-certbot
The "certbot" storage strategy for
Greenlock.js.
This le storage strategy aims to maintain compatibility with the
configuration files and file structure of the official certbot client.
Note: You cannot use this strategy on ephemeral instances (heroku, aws elastic).
Usage
npm install --save le-store-certbot@2.x
var leStore = require('le-store-certbot').create({
configDir: require('homedir')() + '/acme/etc' // or /etc/acme or wherever
, privkeyPath: ':configDir/live/:hostname/privkey.pem' //
, fullchainPath: ':configDir/live/:hostname/fullchain.pem' // Note: both that :configDir and :hostname
, certPath: ':configDir/live/:hostname/cert.pem' // will be templated as expected by
, chainPath: ':configDir/live/:hostname/chain.pem' // greenlock.js
, logsDir: require('homedir')() + '/tmp/acme/log'
, webrootPath: '~/acme/srv/www/:hostname/.well-known/acme-challenge'
, debug: false
});
The store module can be used globally with Greenlock like this:
var Greenlock = require('greenlock');
Greenlock.create({
...
, store: leStore
});
Example File Structure
~/acme/
āāā etc
āāā accounts
āĀ Ā āāā acme-staging.api.letsencrypt.org
āĀ Ā āāā directory
āĀ Ā āāā cd96ac4889ddfa47bfc66300ab223342
āĀ Ā āāā meta.json
āĀ Ā āāā private_key.json
āĀ Ā āāā regr.json
āāā archive
āĀ Ā āāā example.com
āĀ Ā āāā cert0.pem
āĀ Ā āāā chain0.pem
āĀ Ā āāā fullchain0.pem
āĀ Ā āāā privkey0.pem
āāā live
āĀ Ā āāā example.com
āĀ Ā āāā cert.pem
āĀ Ā āāā chain.pem
āĀ Ā āāā fullchain.pem
āĀ Ā āāā privkey.pem
āĀ Ā āāā privkey.pem.bak
āāā renewal
āāā example.com.conf
āāā example.com.conf.bak