Compare commits
	
		
			2 Commits
		
	
	
		
			78137389b4
			...
			61e57ea542
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 61e57ea542 | |||
| d9f241cf0a | 
							
								
								
									
										36
									
								
								README.md
									
									
									
									
									
								
							
							
						
						
									
										36
									
								
								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 | ||||
| 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` | ||||
							
								
								
									
										20
									
								
								plex-cert.sh
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										20
									
								
								plex-cert.sh
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,20 @@ | ||||
| #!/bin/bash | ||||
|  | ||||
| DomainName="plex.yourdomain.com" | ||||
| PlexCertPath="/opt/plex/cert" | ||||
| PlexCertPass="Password_Here" | ||||
| PlexDockerName="Plex_Docker_Container_Name" | ||||
|  | ||||
| # Create PKCS #12 Cert | ||||
| openssl pkcs12 -export \ | ||||
|   -out $PlexCertPath/plex_certificate.p12 \ | ||||
|   -in /etc/letsencrypt/live/$DomainName/cert.pem \ | ||||
|   -inkey /etc/letsencrypt/live/$DomainName/privkey.pem \ | ||||
|   -certfile /etc/letsencrypt/live/$DomainName/chain.pem \ | ||||
|   -passout pass:$PlexCertPass \ | ||||
|   -certpbe AES-256-CBC -keypbe AES-256-CBC -macalg SHA256 | ||||
|  | ||||
| chmod 755 $PlexCertPath/plex_certificate.p12 | ||||
|  | ||||
| # Restart Plex docker container | ||||
| docker restart $PlexDockerName | ||||
		Reference in New Issue
	
	Block a user