This project is aimed to update SSL certificates (manually uploaded, such as Let's Encrypt) automatically on different server providers (QCloud, Aliyun, Qiniu, etc.).
-
Supported Providers
- 腾讯云 (QCloud)
- 七牛云 (Qiniu)
Make sure there are certificates on your machine, and this project will upload and update them automatically.
The default certificate founder is acme.sh
, you can modify the option founder
as a function to customize. For further instructions, please refer to the type definition.
Install the package
npm i -S ssl-autoupdater
Example:
const autossl = require("ssl-autoupdater")
const QCloudUpdater = new autossl.updater.QCloud("your secretId", "your secretKey")
QCloudUpdater.watch() // watch and update automatically
Advanced usage for sending mail:
const mailer = new autossl.MailSender({
host: "smtp.example.com",
port: 465,
secure: true,
auth: { // authentification for the smtp server
username: "your auth username",
password: "your auth password"
},
sender: { // set the sender
name: "your name to send",
email: "your email to send"
},
receiver: ["who@example.com"] // a list of receivers
})
const QCloudUpdater = new autossl.updater.QCloud("your secretId", "your secretKey", {
mailer: mailer // when the option `mailer` is set, the updater will send mail once after triggering the event
})
More examples can be found in directory test/
.
Pull cnily03/ssl-autoupdater
from Docker Hub
docker run -itd \
-v /path/to/your/config.js:/app/data/config.js \
-v ~/.acme.sh:/root/.acme.sh \
--restart=unless-stopped \
--name ssl-autoupdater \
cnily03/ssl-autoupdater
Tip
Docker compose file is also provided in the repository.
Edit it according to annotations in the file.
Then run docker compose up -d
to start the service.
Replace /path/to/your/config.js
with your own configuration file.
Or you can mount the whole directory to /app/data/
to make it easier to manage.
Configuration file is similar to the file config.js
at the root of this repository.
CopyRight (c) Cnily03. All rights reserved.
Licensed under the MIT License.