change to use wildcard certificates
This commit is contained in:
		
							parent
							
								
									0272c062d3
								
							
						
					
					
						commit
						452c255314
					
				
					 4 changed files with 24 additions and 14 deletions
				
			
		| 
						 | 
					@ -51,8 +51,8 @@ server {
 | 
				
			||||||
	http2 on;
 | 
						http2 on;
 | 
				
			||||||
	server_name ${NGINX_SERVERNAME};
 | 
						server_name ${NGINX_SERVERNAME};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	ssl_certificate /etc/nginx/ssl/certs/sso.base23.de.crt;
 | 
						ssl_certificate /etc/nginx/ssl/certs/_.base23.de.crt;
 | 
				
			||||||
	ssl_certificate_key /etc/nginx/ssl/certs/sso.base23.de.key;
 | 
						ssl_certificate_key /etc/nginx/ssl/certs/_.base23.de.key;
 | 
				
			||||||
	ssl_session_timeout ${NGINX_SSL_SESSION_TIMEOUT};
 | 
						ssl_session_timeout ${NGINX_SSL_SESSION_TIMEOUT};
 | 
				
			||||||
	ssl_session_cache ${NGINX_SSL_SESSION_CACHE};
 | 
						ssl_session_cache ${NGINX_SSL_SESSION_CACHE};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -71,7 +71,7 @@ server {
 | 
				
			||||||
	ssl_stapling_verify ${NGINX_SSL_STAPLING_VERIFY};
 | 
						ssl_stapling_verify ${NGINX_SSL_STAPLING_VERIFY};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	# verify chain of trust of OCSP response using Root CA and Intermediate certs
 | 
						# verify chain of trust of OCSP response using Root CA and Intermediate certs
 | 
				
			||||||
	ssl_trusted_certificate /etc/nginx/ssl/certs/sso.base23.de.issuer.crt;
 | 
						ssl_trusted_certificate /etc/nginx/ssl/certs/_.base23.de.issuer.crt;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	# replace with the IP address of your resolver
 | 
						# replace with the IP address of your resolver
 | 
				
			||||||
	resolver ${NGINX_RESOLVER};
 | 
						resolver ${NGINX_RESOLVER};
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -6,7 +6,8 @@ cd "$(dirname "$(realpath "$0")")/../"
 | 
				
			||||||
lego \
 | 
					lego \
 | 
				
			||||||
	--path ./data/.lego \
 | 
						--path ./data/.lego \
 | 
				
			||||||
	--email="acme@base23.de" \
 | 
						--email="acme@base23.de" \
 | 
				
			||||||
	--domains="sso.base23.de" \
 | 
						--domains="*.base23.de" \
 | 
				
			||||||
	--http.webroot="./data/nginx/acme" \
 | 
						--dns hetzner \
 | 
				
			||||||
	--http renew \
 | 
						--dns \
 | 
				
			||||||
 | 
						renew \
 | 
				
			||||||
	--renew-hook="./scripts/cert_renew_hook.sh"
 | 
						--renew-hook="./scripts/cert_renew_hook.sh"
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -3,6 +3,6 @@ set -euf -o pipefail
 | 
				
			||||||
 | 
					
 | 
				
			||||||
cd "$(dirname "$(realpath "$0")")/../"
 | 
					cd "$(dirname "$(realpath "$0")")/../"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
install -m 400 -o 101 -g 101 "./data/.lego/certificates"/{sso.base23.de.crt,sso.base23.de.issuer.crt,sso.base23.de.key} "./data/nginx/certs"
 | 
					install -m 400 -o 101 -g 101 "./data/.lego/certificates"/{_.base23.de.crt,_.base23.de.issuer.crt,_.base23.de.key} "./data/nginx/certs"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
docker compose restart nginx
 | 
					docker compose restart nginx
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -42,6 +42,13 @@ if [[ ! -f ./.env ]]; then
 | 
				
			||||||
	echo "" >> ./.env
 | 
						echo "" >> ./.env
 | 
				
			||||||
fi
 | 
					fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Check if lego.env exists and exit if it is
 | 
				
			||||||
 | 
					if [[ ! -f ./lego.env ]]; then
 | 
				
			||||||
 | 
						echo "# Lego - Let's Encrypt certificate tool" >> ./lego.env
 | 
				
			||||||
 | 
						prompt_password HETZNER_API_KEY; echo "HETZNER_API_KEY=${RETURNED_PASSWORD}" >> ./lego.env; unset RETURNED_PASSWORD
 | 
				
			||||||
 | 
						echo "" >> ./.env
 | 
				
			||||||
 | 
					fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Check if ssh key already exists, otherwise generate one
 | 
					# Check if ssh key already exists, otherwise generate one
 | 
				
			||||||
[[ ! -d ./data/restic/ssh/ ]] && mkdir -p ./data/restic/ssh/
 | 
					[[ ! -d ./data/restic/ssh/ ]] && mkdir -p ./data/restic/ssh/
 | 
				
			||||||
[[ ! -f ./data/restic/ssh/id_ed25519 ]] && ssh-keygen -t ed25519 -C "sso.base23.de" -f ./data/restic/ssh/id_ed25519
 | 
					[[ ! -f ./data/restic/ssh/id_ed25519 ]] && ssh-keygen -t ed25519 -C "sso.base23.de" -f ./data/restic/ssh/id_ed25519
 | 
				
			||||||
| 
						 | 
					@ -59,24 +66,26 @@ if [[ ! -d ./data/.lego ]]; then
 | 
				
			||||||
		--path ./data/.lego \
 | 
							--path ./data/.lego \
 | 
				
			||||||
		--accept-tos \
 | 
							--accept-tos \
 | 
				
			||||||
		--email="acme@base23.de" \
 | 
							--email="acme@base23.de" \
 | 
				
			||||||
		--domains="sso.base23.de" \
 | 
							--domains="*.base23.de" \
 | 
				
			||||||
		--http run \
 | 
							--dns hetzner \
 | 
				
			||||||
		&& install -m 400 -o 101 -g 101 "./data/.lego/certificates"/{sso.base23.de.crt,sso.base23.de.issuer.crt,sso.base23.de.key} "./data/nginx/certs"
 | 
							run \
 | 
				
			||||||
 | 
							&& install -m 400 -o 101 -g 101 "./data/.lego/certificates"/{_.base23.de.crt,_.base23.de.issuer.crt,_.base23.de.key} "./data/nginx/certs"
 | 
				
			||||||
fi
 | 
					fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Setup directory for acme cheallenges
 | 
					# Setup directory for acme cheallenges
 | 
				
			||||||
[[ ! -d ./data/nginx/acme ]] && mkdir -p ./data/nginx/acme
 | 
					[[ ! -d ./data/nginx/acme ]] && mkdir -p ./data/nginx/acme
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Setup cronjob to automatically renew certificates
 | 
					# Setup cronjob to automatically renew certificates
 | 
				
			||||||
[[ ! -f /etc/systemd/system/lego-renew-sso-base23-de.service ]] && cat <<EOF > /etc/systemd/system/lego-renew-sso-base23-de.service && systemctl daemon-reload
 | 
					[[ ! -f /etc/systemd/system/lego-renew-wildcard-base23-de.service ]] && cat <<EOF > /etc/systemd/system/lego-renew-wildcard-base23-de.service && systemctl daemon-reload
 | 
				
			||||||
[Unit]
 | 
					[Unit]
 | 
				
			||||||
Description=SSL Certificate renewal for sso.base23.de with LEGO
 | 
					Description=SSL Certificate renewal for *.base23.de with LEGO
 | 
				
			||||||
Documentation=https://go-acme.github.io/lego/
 | 
					Documentation=https://go-acme.github.io/lego/
 | 
				
			||||||
Wants=network-online.target
 | 
					Wants=network-online.target
 | 
				
			||||||
After=network-online.target
 | 
					After=network-online.target
 | 
				
			||||||
 | 
					
 | 
				
			||||||
[Service]
 | 
					[Service]
 | 
				
			||||||
Type=oneshot
 | 
					Type=oneshot
 | 
				
			||||||
 | 
					EnvironmentFile=${AUTHENTIK_DOCKER_COMPOSE_PATH}/lego.env
 | 
				
			||||||
ExecStart=${AUTHENTIK_DOCKER_COMPOSE_PATH}/scripts/cert_renew.sh
 | 
					ExecStart=${AUTHENTIK_DOCKER_COMPOSE_PATH}/scripts/cert_renew.sh
 | 
				
			||||||
WorkingDirectory=${AUTHENTIK_DOCKER_COMPOSE_PATH}/
 | 
					WorkingDirectory=${AUTHENTIK_DOCKER_COMPOSE_PATH}/
 | 
				
			||||||
User=root
 | 
					User=root
 | 
				
			||||||
| 
						 | 
					@ -87,9 +96,9 @@ RemainAfterExit=no
 | 
				
			||||||
WantedBy=multi-user.target
 | 
					WantedBy=multi-user.target
 | 
				
			||||||
EOF
 | 
					EOF
 | 
				
			||||||
 | 
					
 | 
				
			||||||
[[ ! -f /etc/systemd/system/lego-renew-sso-base23-de.timer ]] && cat <<EOF > /etc/systemd/system/lego-renew-sso-base23-de.timer && systemctl daemon-reload && systemctl enable --now lego-renew-sso-base23-de.timer
 | 
					[[ ! -f /etc/systemd/system/lego-renew-wildcard-base23-de.timer ]] && cat <<EOF > /etc/systemd/system/lego-renew-wildcard-base23-de.timer && systemctl daemon-reload && systemctl enable --now lego-renew-wildcard-base23-de.timer
 | 
				
			||||||
[Unit]
 | 
					[Unit]
 | 
				
			||||||
Description=SSL Certificate renewal for sso.base23.de with LEGO Timer
 | 
					Description=SSL Certificate renewal for *.base23.de with LEGO Timer
 | 
				
			||||||
 | 
					
 | 
				
			||||||
[Timer]
 | 
					[Timer]
 | 
				
			||||||
OnCalendar=*-*-* 01:32:00
 | 
					OnCalendar=*-*-* 01:32:00
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue