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-autoupdaterExample:
const autossl = require("ssl-autoupdater")
const QCloudUpdater = new autossl.updater.QCloud("your secretId", "your secretKey")
QCloudUpdater.watch() // watch and update automaticallyAdvanced 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-autoupdaterTip
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.