https://github.com/menci/acme
Issue free SSL certs on GitHub Actions with acme.sh.
https://github.com/menci/acme
Last synced: about 1 year ago
JSON representation
Issue free SSL certs on GitHub Actions with acme.sh.
- Host: GitHub
- URL: https://github.com/menci/acme
- Owner: Menci
- License: mit
- Created: 2021-09-03T16:25:55.000Z (almost 5 years ago)
- Default Branch: main
- Last Pushed: 2024-12-07T19:05:43.000Z (over 1 year ago)
- Last Synced: 2025-06-19T22:38:48.153Z (about 1 year ago)
- Homepage:
- Size: 22.5 KB
- Stars: 48
- Watchers: 2
- Forks: 7
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# GitHub Action for acme.sh
Issue SSL certificate with acme.sh's DNS API mode.
You probably want to use this action in a private repo, to upload your issued SSL certificate to repo.
# Usage
```yaml
jobs:
issue-ssl-certificate:
name: Issue SSL certificate
runs-on: ubuntu-latest
steps:
- uses: Menci/acme@v1
with:
version: 3.0.2
# Register your account and try issue a certificate with DNS API mode
# Then fill with the output of `tar cz ca account.conf | base64 -w0` running in your `~/.acme.sh`
account-tar: ${{ secrets.ACME_SH_ACCOUNT_TAR }}
domains: example.com example.net example.org example.edu
domains-file: ''
append-wildcard: true
arguments: --dns dns_cf --challenge-alias example.com
arguments-file: ''
output-cert: output/cert.pem
output-fullchain: output/fullchain.pem
output-key: output/key.pem
output-pfx: output/certificate.pfx
output-pfx-password: qwq
# uninstall: true # Uninstall acme.sh after this action by default
```
# Notice
If you issue a certificate with too many domains with DNS alias mode. The TXT records' length will likely exceed the DNS provider's limit and fails ([acmesh-official/acme.sh#3748](https://github.com/acmesh-official/acme.sh/issues/3748)). To workaround this, this action will run acme.sh **multiple times** and issue a smaller certificate each time (so we can verify a smaller amount of domains each time). The result certificate will be fine.
# See also
You can deploy your newly issued SSL certificate to Azure Web App with the [Deploy SSL certificate to Azure Web App](https://github.com/marketplace/actions/deploy-ssl-certificate-to-azure-web-app) action.
You can deploy your newly issued SSL certificate to Aliyun Certificates Service and Aliyun CDN with the [Deploy SSL certificate to Aliyun](https://github.com/marketplace/actions/deploy-ssl-certificate-to-aliyun) action.