diff --git a/README.md b/README.md index cff4250..c6e0e22 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,37 @@ # Cloudflare-Certificate-for-Plex -This script is for grabing a Let's Encrypt Certificate from Cloudflare and convert it to pkcs12 for Plex \ No newline at end of file +This script is for grabing a Let's Encrypt Certificate from Cloudflare and convert it to pkcs12 for Plex. + +## Install required packages + +`apt-get install python3-certbot python3-certbot-dns-cloudflare` + +## Setup Secret File +`mkdir -p ~/.secrets/certbot/` +`touch ~/.secrets/certbot/cloudflare.ini` +`chmod 600 ~/.secrets/certbot/cloudflare.ini` + +## Add the follow to the cloudflare.ini file +`dns_cloudflare_email = CLOUDFLARE_USER_ACCOUNT` +`dns_cloudflare_api_key = SECRET_TOKEN` + +## Pull Initial Certificate from Cloudflare +`certbot certonly --dns-cloudflare --dns-cloudflare-credentials ~/.secrets/certbot/cloudflare.ini -m EmailAddress -d DomainName` + +## Edit plex-cert.sh with your setup details + +## Manual Run +`/root/plex-cert.sh` + +## Add crontab Entry for auto renewal +`0 0,12 * * * root sleep 609 && certbot renew -q && /root/plex-cert.sh` + +## Enable certificate on Plex +Under the settings in the Plex web GUI select **Network** then change the following: +- **Secure connections:** Required +- **Custom certificate location:** /PlexCertPath/plex_certificate.p12 +- **Custom certificate encryption key:** PlexCertPass +- **Custom certificate domain:** DomainName + +## Checking the experation date on certificate +`openssl pkcs12 -in /PlexCertPath/plex_certificate.p12 -nokeys -passin pass:"PlexCertPass" -clcerts | openssl x509 -enddate` \ No newline at end of file