mirror of
https://github.com/aliasvault/aliasvault.git
synced 2026-01-20 12:01:47 -05:00
* Add LetsEncrypt scaffolding to docker compose setup (#367) * Update install.sh (#367) * Add certificate request logic (#367) * Update domain validation regex (#367) * Update install.sh (#367) * Update install.sh (#367) * Update nginx.conf for LetsEncrypt validation (#367) * Update nginx.conf (#367) * Add certbot volume mapping to nginx (#367) * Update nginx conf to template to use env vars (#367) * Update nginx certbot root (#367) * Update install.sh (#367) * Update nginx ssl letsencrypt paths (#367) * Update install.sh (#367) * Use conditional nginx.conf include instead of vars (#367) * Update install.sh so it doesn't restart docker stack but expects it to be running already (#367) * Update permissions (#367) * Update install.sh (#367) * Refactor and cleanup (#367)
33 lines
1.0 KiB
Bash
33 lines
1.0 KiB
Bash
#!/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;" |