#!/bin/sh # Create SSL directory if it doesn't exist mkdir -p /etc/nginx/ssl # Generate self-signed SSL certificate if not exists if [ ! -f /etc/nginx/ssl/cert.pem ] || [ ! -f /etc/nginx/ssl/key.pem ]; then echo "Generating new SSL certificate..." openssl req -x509 -nodes -days 365 -newkey rsa:2048 \ -keyout /etc/nginx/ssl/key.pem \ -out /etc/nginx/ssl/cert.pem \ -subj "/C=US/ST=State/L=City/O=Organization/CN=localhost" # Set proper permissions chmod 644 /etc/nginx/ssl/cert.pem chmod 600 /etc/nginx/ssl/key.pem fi # Create the appropriate SSL configuration based on LETSENCRYPT_ENABLED if [ "${LETSENCRYPT_ENABLED}" = "true" ]; then cat > /etc/nginx/ssl.conf << EOF ssl_certificate /etc/nginx/ssl-letsencrypt/live/${HOSTNAME}/fullchain.pem; ssl_certificate_key /etc/nginx/ssl-letsencrypt/live/${HOSTNAME}/privkey.pem; EOF else cat > /etc/nginx/ssl.conf << EOF ssl_certificate /etc/nginx/ssl/cert.pem; ssl_certificate_key /etc/nginx/ssl/key.pem; EOF fi # Start nginx nginx -g "daemon off;"