| 
									
										
										
										
											2024-06-28 17:37:52 +08:00
										 |  |  | #!/bin/bash
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-07-01 01:11:33 +08:00
										 |  |  | if [ "${NGINX_HTTPS_ENABLED}" = "true" ]; then | 
					
						
							| 
									
										
										
										
											2024-07-31 14:21:56 +09:00
										 |  |  |     # Check if the certificate and key files for the specified domain exist | 
					
						
							|  |  |  |     if [ -n "${CERTBOT_DOMAIN}" ] && \
 | 
					
						
							|  |  |  |        [ -f "/etc/letsencrypt/live/${CERTBOT_DOMAIN}/${NGINX_SSL_CERT_FILENAME}" ] && \
 | 
					
						
							|  |  |  |        [ -f "/etc/letsencrypt/live/${CERTBOT_DOMAIN}/${NGINX_SSL_CERT_KEY_FILENAME}" ]; then | 
					
						
							|  |  |  |         SSL_CERTIFICATE_PATH="/etc/letsencrypt/live/${CERTBOT_DOMAIN}/${NGINX_SSL_CERT_FILENAME}" | 
					
						
							|  |  |  |         SSL_CERTIFICATE_KEY_PATH="/etc/letsencrypt/live/${CERTBOT_DOMAIN}/${NGINX_SSL_CERT_KEY_FILENAME}" | 
					
						
							|  |  |  |     else | 
					
						
							|  |  |  |         SSL_CERTIFICATE_PATH="/etc/ssl/${NGINX_SSL_CERT_FILENAME}" | 
					
						
							|  |  |  |         SSL_CERTIFICATE_KEY_PATH="/etc/ssl/${NGINX_SSL_CERT_KEY_FILENAME}" | 
					
						
							|  |  |  |     fi | 
					
						
							|  |  |  |     export SSL_CERTIFICATE_PATH | 
					
						
							|  |  |  |     export SSL_CERTIFICATE_KEY_PATH | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-06-28 17:37:52 +08:00
										 |  |  |     # set the HTTPS_CONFIG environment variable to the content of the https.conf.template | 
					
						
							|  |  |  |     HTTPS_CONFIG=$(envsubst < /etc/nginx/https.conf.template) | 
					
						
							|  |  |  |     export HTTPS_CONFIG | 
					
						
							|  |  |  |     # Substitute the HTTPS_CONFIG in the default.conf.template with content from https.conf.template | 
					
						
							|  |  |  |     envsubst '${HTTPS_CONFIG}' < /etc/nginx/conf.d/default.conf.template > /etc/nginx/conf.d/default.conf | 
					
						
							|  |  |  | fi | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-07-31 14:21:56 +09:00
										 |  |  | if [ "${NGINX_ENABLE_CERTBOT_CHALLENGE}" = "true" ]; then | 
					
						
							|  |  |  |     ACME_CHALLENGE_LOCATION='location /.well-known/acme-challenge/ { root /var/www/html; }' | 
					
						
							|  |  |  | else | 
					
						
							|  |  |  |     ACME_CHALLENGE_LOCATION='' | 
					
						
							|  |  |  | fi | 
					
						
							|  |  |  | export ACME_CHALLENGE_LOCATION | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-06-28 17:37:52 +08:00
										 |  |  | env_vars=$(printenv | cut -d= -f1 | sed 's/^/$/g' | paste -sd, -) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | envsubst "$env_vars" < /etc/nginx/nginx.conf.template > /etc/nginx/nginx.conf | 
					
						
							|  |  |  | envsubst "$env_vars" < /etc/nginx/proxy.conf.template > /etc/nginx/proxy.conf | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | envsubst < /etc/nginx/conf.d/default.conf.template > /etc/nginx/conf.d/default.conf | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | # Start Nginx using the default entrypoint | 
					
						
							|  |  |  | exec nginx -g 'daemon off;' |