32 lines
739 B
Bash
32 lines
739 B
Bash
|
|
#!/bin/bash
|
||
|
|
set -e
|
||
|
|
|
||
|
|
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||
|
|
ROOT_DIR="$SCRIPT_DIR/.."
|
||
|
|
|
||
|
|
if [ -f "$ROOT_DIR/.env" ]; then
|
||
|
|
export $(grep -v '^#' "$ROOT_DIR/.env" | xargs)
|
||
|
|
fi
|
||
|
|
|
||
|
|
DOMAINS_FILE="$ROOT_DIR/domains.txt"
|
||
|
|
CERTS_DIR="$ROOT_DIR/nginx/certs"
|
||
|
|
|
||
|
|
if [ ! -f "$DOMAINS_FILE" ]; then
|
||
|
|
echo "Error: $DOMAINS_FILE not found" >&2
|
||
|
|
exit 1
|
||
|
|
fi
|
||
|
|
|
||
|
|
mapfile -t DOMAINS < <(grep -v '^$' "$DOMAINS_FILE")
|
||
|
|
|
||
|
|
if [ ${#DOMAINS[@]} -eq 0 ]; then
|
||
|
|
echo "Error: no domains found in $DOMAINS_FILE" >&2
|
||
|
|
exit 1
|
||
|
|
fi
|
||
|
|
|
||
|
|
mkcert \
|
||
|
|
-cert-file "$CERTS_DIR/default.crt.new" \
|
||
|
|
-key-file "$CERTS_DIR/default.key.new" \
|
||
|
|
"${DOMAINS[@]}"
|
||
|
|
|
||
|
|
mv "$CERTS_DIR/default.crt.new" "$CERTS_DIR/default.crt"
|
||
|
|
mv "$CERTS_DIR/default.key.new" "$CERTS_DIR/default.key"
|