Files
local-dns/scripts/add-service.sh
2026-03-12 23:17:50 +03:00

41 lines
802 B
Bash
Executable File

#!/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}
if [ $# -lt 1 ]; then
echo "Usage: $0 <service_name> [extra_domains...]"
exit 1
fi
SERVICE_NAME=$1
shift
EXTRA_DOMAINS=("$@")
DOMAINS_FILE="$ROOT_DIR/domains.txt"
if [ ! -f "$DOMAINS_FILE" ]; then
touch "$DOMAINS_FILE"
fi
PRIMARY="${SERVICE_NAME}.${LOCAL_DOMAIN}"
ALIAS="${SERVICE_NAME}.local"
{
echo "$PRIMARY"
echo "$ALIAS"
for domain in "${EXTRA_DOMAINS[@]}"; do
echo "$domain"
done
} >> "$DOMAINS_FILE"
sort -u "$DOMAINS_FILE" | grep -v '^$' > "$DOMAINS_FILE.tmp" && mv "$DOMAINS_FILE.tmp" "$DOMAINS_FILE"
exec "$SCRIPT_DIR/regenerate-cert.sh"