2019-11-05 04:28:49 +00:00
|
|
|
# [Greenlock Manager](https://git.rootprojects.org/root/greenlock-manager.js)
|
2019-11-04 22:06:52 +00:00
|
|
|
|
2019-11-05 04:28:49 +00:00
|
|
|
Manages SSL Certificate issue and renewal for [Greenlock](https://git.rootprojects.org/root/greenlock-manager.js).
|
|
|
|
|
|
|
|
Saves global and per-site config to a local File Sytem (current), with optional encrypted Cloud backup (coming soon).
|
|
|
|
|
2019-11-05 04:40:28 +00:00
|
|
|
## Install
|
|
|
|
|
2019-11-05 04:28:49 +00:00
|
|
|
```bash
|
2019-11-30 20:52:55 +00:00
|
|
|
npm install --save greenlock@4
|
2019-11-05 04:28:49 +00:00
|
|
|
npm install --save greenlock-manager@3
|
|
|
|
```
|
|
|
|
|
2019-11-05 04:40:28 +00:00
|
|
|
## Usage
|
|
|
|
|
|
|
|
To enable encrypted cloud backup, when it becomes available:
|
|
|
|
|
|
|
|
```js
|
2019-11-30 20:52:55 +00:00
|
|
|
npx greenlock init --manager cloud --config-dir './greenlock.d'
|
2019-11-05 04:40:28 +00:00
|
|
|
```
|
|
|
|
|
|
|
|
For local file system only:
|
|
|
|
|
|
|
|
```js
|
2019-11-30 20:52:55 +00:00
|
|
|
npx greenlock init --manager fs --config-dir './greenlock.d'
|
2019-11-05 04:40:28 +00:00
|
|
|
```
|
|
|
|
|
|
|
|
Or, place this file in the root of your project:
|
|
|
|
|
|
|
|
`.greenlockrc`:
|
|
|
|
|
|
|
|
```json
|
|
|
|
{
|
2019-11-30 20:52:55 +00:00
|
|
|
"manager": { "module": "@greenlock/manager" },
|
|
|
|
"configDir": "./greenlock.d"
|
2019-11-05 04:40:28 +00:00
|
|
|
}
|
|
|
|
```
|
|
|
|
|
2019-11-05 04:28:49 +00:00
|
|
|
# Greenlock Manager CLI & API
|
|
|
|
|
|
|
|
All manager plugins have the **same API**.
|
|
|
|
|
|
|
|
The manager-specific implementation is overlaid by Greenlock with error handling and common utilities,
|
|
|
|
and then exposed as documented here.
|
|
|
|
|
|
|
|
**Note**: Most people do not need to (and should not) not use the JavaScript API.
|
|
|
|
Instead, use the CLI (current) or Web API (coming soon).
|
|
|
|
|
|
|
|
## Initialize the Manager
|
|
|
|
|
|
|
|
```bash
|
2019-11-30 20:52:55 +00:00
|
|
|
npx greenlock init --manager cloud --config-dir './greenlock.d'
|
2019-11-05 04:28:49 +00:00
|
|
|
```
|
|
|
|
|
|
|
|
Note: You **should not** initialize greenlock directly as
|
|
|
|
this may make it incompatible with the CLI and Web GUI.
|
|
|
|
|
|
|
|
Instead use the file generated by the CLI `init` (shown above).
|
|
|
|
|
|
|
|
```js
|
|
|
|
Greenlock.create({
|
|
|
|
manager: "@greenlock/manager",
|
|
|
|
cloud: true,
|
2019-11-30 20:52:55 +00:00
|
|
|
configDir: "./greenlock.d",
|
2019-11-05 04:28:49 +00:00
|
|
|
packageRoot: __dirname
|
|
|
|
});
|
|
|
|
```
|
|
|
|
|
|
|
|
## Set Subscriber and other global Defaults
|
|
|
|
|
|
|
|
```bash
|
|
|
|
npx greenlock defaults --subscriber-email jon@example.com --agree-to-terms true
|
|
|
|
```
|
|
|
|
|
|
|
|
```js
|
|
|
|
greenlock.manager.defaults({
|
|
|
|
subscriberEmail: "jon@example.com",
|
|
|
|
agreeToTerms: true
|
|
|
|
});
|
|
|
|
```
|
|
|
|
|
|
|
|
# Site Management
|
|
|
|
|
|
|
|
By "site" we mean a primary domain and, optionally, secondary domains, to be listed on an ssl certificate,
|
|
|
|
along with any configuration that is necessary for getting and renewing those certificates.
|
|
|
|
|
|
|
|
## Add a sites - domains and SSL certificates
|
|
|
|
|
|
|
|
```bash
|
|
|
|
npx greenlock add --subject example.com --altnames 'example.com,www.example.com'
|
|
|
|
```
|
|
|
|
|
|
|
|
```js
|
|
|
|
greenlock.sites.add({
|
|
|
|
subject: "example.com",
|
|
|
|
altnames: ["example.com", "www.example.com"]
|
|
|
|
});
|
|
|
|
```
|
|
|
|
|
|
|
|
## View site config
|
|
|
|
|
|
|
|
```bash
|
|
|
|
npx greenlock config --subject example.com
|
|
|
|
```
|
|
|
|
|
|
|
|
```js
|
|
|
|
greenlock.sites.get({
|
|
|
|
servername: "www.example.com",
|
|
|
|
wildname: "*.example.com"
|
|
|
|
});
|
|
|
|
```
|
|
|
|
|
|
|
|
## Update site config
|
|
|
|
|
|
|
|
```bash
|
|
|
|
npx greenlock update --subject example.com --challenge-dns-01 acme-dns-01-ovh --challenge-dns-01-token xxxx
|
|
|
|
```
|
|
|
|
|
|
|
|
```js
|
|
|
|
greenlock.sites.update({
|
|
|
|
subject: "www.example.com",
|
|
|
|
challenges: {
|
|
|
|
"dns-01": {
|
|
|
|
module: "acme-dns-01-ovh",
|
|
|
|
token: "xxxx"
|
|
|
|
}
|
|
|
|
}
|
|
|
|
});
|
|
|
|
```
|
|
|
|
|
|
|
|
## Remove a site
|
|
|
|
|
|
|
|
To stop automatic renewal of SSL certificates for a particular site.
|
|
|
|
You to restart renewal you must use `add()`.
|
|
|
|
|
|
|
|
```bash
|
|
|
|
npx greenlock remove --subject example.com
|
|
|
|
```
|
|
|
|
|
|
|
|
```js
|
|
|
|
greenlock.sites.remove({
|
|
|
|
subject: "example.com"
|
|
|
|
});
|
|
|
|
```
|