Skip to content

Commit

Permalink
Add support for generating SSL certificates for multiple domains
Browse files Browse the repository at this point in the history
  • Loading branch information
YevhenZvieriev committed Jun 10, 2024
1 parent 4ed3c0c commit 32033e5
Showing 1 changed file with 16 additions and 7 deletions.
23 changes: 16 additions & 7 deletions compose/bin/setup-ssl
Original file line number Diff line number Diff line change
@@ -1,18 +1,27 @@
#!/usr/bin/env bash
[ -z "$1" ] && echo "Please specify a domain (ex. mydomain.test)" && exit
[ $# -eq 0 ] && echo "Please specify at least one domain (ex. mydomain.test)" && exit 1

# Generate certificate authority if not already setup
if ! bin/docker-compose exec -T -u root app cat /root/.local/share/mkcert/rootCA.pem | grep -q 'BEGIN CERTIFICATE'; then
bin/setup-ssl-ca
fi

# Generate the certificate for the specified domain
DOMAIN_WITHOUT_PORT=$(echo "$@" | cut -d ':' -f1)
bin/docker-compose exec -T -u root app mkcert -key-file nginx.key -cert-file nginx.crt "$DOMAIN_WITHOUT_PORT"
echo "Moving key and cert to /etc/nginx/certs/..."
bin/docker-compose exec -T -u root app chown app:app nginx.key nginx.crt
bin/docker-compose exec -T -u root app mv nginx.key nginx.crt /etc/nginx/certs/
for DOMAIN in "$@"; do
# Generate the certificate for the specified domain
DOMAIN_WITHOUT_PORT=$(echo "$DOMAIN" | cut -d ':' -f1)
bin/docker-compose exec -T -u root app mkcert -key-file nginx.key -cert-file nginx.crt "$DOMAIN_WITHOUT_PORT"

# Check if the certificates were created successfully
if bin/docker-compose exec -T -u root app test -f nginx.key && bin/docker-compose exec -T -u root app test -f nginx.crt; then
echo "Moving key and cert for $DOMAIN to /etc/nginx/certs/..."
bin/docker-compose exec -T -u root app chown app:app nginx.key nginx.crt
bin/docker-compose exec -T -u root app mv nginx.key nginx.crt /etc/nginx/certs/
else
echo "Error: Certificates for $DOMAIN were not created."
fi
done

# Restart nginx to apply the updates
echo "Restarting containers to apply updates..."
bin/restart

0 comments on commit 32033e5

Please sign in to comment.