Files
local-dns/scripts/01-init-ca.sh

38 lines
775 B
Bash
Raw Permalink Normal View History

2026-02-13 21:58:35 +03:00
#!/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
LOCAL_DOMAIN=${LOCAL_DOMAIN:-mikan}
CA_DIR="$ROOT_DIR/ca"
CERTS_DIR="$ROOT_DIR/nginx/certs"
DOMAINS_FILE="$ROOT_DIR/domains.txt"
mkdir -p "$CA_DIR" "$CERTS_DIR"
if [ ! -f "$DOMAINS_FILE" ]; then
touch "$DOMAINS_FILE"
fi
if [ ! -f "$CA_DIR/rootCA.pem" ]; then
mkcert -install
cp "$(mkcert -CAROOT)/rootCA.pem" "$CA_DIR/rootCA.pem"
cp "$(mkcert -CAROOT)/rootCA-key.pem" "$CA_DIR/rootCA-key.pem"
cat > "$DOMAINS_FILE" <<EOF
$LOCAL_DOMAIN
welcome.$LOCAL_DOMAIN
localhost
127.0.0.1
::1
*.services.$LOCAL_DOMAIN
*.services.local
EOF
fi
exec "$SCRIPT_DIR/regenerate-cert.sh"