2026-02-13 01:47:50 +03:00
|
|
|
#!/bin/bash
|
|
|
|
|
set -e
|
|
|
|
|
|
2026-02-13 21:58:35 +03:00
|
|
|
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)
|
2026-02-13 01:47:50 +03:00
|
|
|
fi
|
|
|
|
|
|
2026-02-13 21:58:35 +03:00
|
|
|
LOCAL_DOMAIN=${LOCAL_DOMAIN:-mikan}
|
2026-02-13 01:47:50 +03:00
|
|
|
|
2026-02-13 21:58:35 +03:00
|
|
|
if [ $# -lt 1 ]; then
|
|
|
|
|
echo "Usage: $0 <service_name> [extra_domains...]"
|
2026-02-13 01:47:50 +03:00
|
|
|
exit 1
|
|
|
|
|
fi
|
|
|
|
|
|
2026-02-13 21:58:35 +03:00
|
|
|
SERVICE_NAME=$1
|
|
|
|
|
shift
|
|
|
|
|
EXTRA_DOMAINS=("$@")
|
2026-02-13 01:47:50 +03:00
|
|
|
|
2026-02-13 21:58:35 +03:00
|
|
|
DOMAINS_FILE="$ROOT_DIR/domains.txt"
|
2026-02-13 01:47:50 +03:00
|
|
|
|
2026-02-13 21:58:35 +03:00
|
|
|
if [ ! -f "$DOMAINS_FILE" ]; then
|
|
|
|
|
touch "$DOMAINS_FILE"
|
2026-02-13 01:47:50 +03:00
|
|
|
fi
|
|
|
|
|
|
2026-02-13 21:58:35 +03:00
|
|
|
PRIMARY="${SERVICE_NAME}.${LOCAL_DOMAIN}"
|
|
|
|
|
ALIAS="${SERVICE_NAME}.local"
|
2026-02-13 01:47:50 +03:00
|
|
|
|
2026-02-13 21:58:35 +03:00
|
|
|
{
|
|
|
|
|
echo "$PRIMARY"
|
|
|
|
|
echo "$ALIAS"
|
|
|
|
|
for domain in "${EXTRA_DOMAINS[@]}"; do
|
|
|
|
|
echo "$domain"
|
|
|
|
|
done
|
|
|
|
|
} >> "$DOMAINS_FILE"
|
2026-02-13 01:47:50 +03:00
|
|
|
|
2026-02-13 21:58:35 +03:00
|
|
|
sort -u "$DOMAINS_FILE" | grep -v '^$' > "$DOMAINS_FILE.tmp" && mv "$DOMAINS_FILE.tmp" "$DOMAINS_FILE"
|
2026-02-13 01:47:50 +03:00
|
|
|
|
2026-02-13 21:58:35 +03:00
|
|
|
exec "$SCRIPT_DIR/regenerate-cert.sh"
|