Skip to content

Support for Let's encrypt certprofiles#607

Open
Sausageroll2077 wants to merge 5 commits intolinuxserver:masterfrom
Sausageroll2077:master
Open

Support for Let's encrypt certprofiles#607
Sausageroll2077 wants to merge 5 commits intolinuxserver:masterfrom
Sausageroll2077:master

Conversation

@Sausageroll2077
Copy link
Copy Markdown

@Sausageroll2077 Sausageroll2077 commented May 5, 2026

linuxserver.io


  • I have read the contributing guideline and understand that I have made the correct modifications

Description:

Added support for https://letsencrypt.org/docs/profiles/ primarily for the shortlived profile since this is really the only one that currently changes things from default.

It enables the cert profile enviroment so that when certbot renews or requests a cert it will request for the "shortlived" profile a shorter certificate lifetime (6 days).

Benefits of this PR and context:

This is a new feature for letsencrypt and certbot. The whole community will be moving towards shorter certificates
and therefore swag users should be able to test or adapt early to this new reality.

How Has This Been Tested?

I have build the docker locally on my unraid server and changed the repository to this local repo.
I added the CERT_PROFILE variable with the value shortlived and ran it in staging mode and non staging mode and both times got a certificate for 6 days:
image

Source / References:

https://letsencrypt.org/docs/profiles/

Copy link
Copy Markdown

@github-actions github-actions Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for opening this pull request! Be sure to follow the pull request template!

@Sausageroll2077
Copy link
Copy Markdown
Author

Sausageroll2077 commented May 5, 2026

While testing this on Unraid, I noticed every container restart was looping into a revoke + reissue cycle when CERT_PROFILE=shortlived was set. The cause is the existing legacy check that tries to detect certs still on the expired DST Root CA X3 cross-sign:
openssl x509 -in /config/keys/letsencrypt/chain.pem -noout -issuer | grep -q "ISRG Root X"

I changed it to check for the actual bad chain:
openssl x509 -in /config/keys/letsencrypt/chain.pem -noout -issuer | grep -q "DST Root CA X3"

This way it does not interfere with the new intermediates that shortlived introduces.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Development

Successfully merging this pull request may close these issues.

2 participants