Skip to content

Latest commit

 

History

History
91 lines (63 loc) · 2.45 KB

README.md

File metadata and controls

91 lines (63 loc) · 2.45 KB

SSL AutoUpdater

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)

Usage

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.

Node.js

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: ["[email protected]"] // 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/.

Docker

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.

References

License

CopyRight (c) Cnily03. All rights reserved.

Licensed under the MIT License.