Files
local-dns/scripts/add-service.sh

41 lines
802 B
Bash
Raw Normal View History

2026-02-13 01:47:50 +03:00
#!/bin/bash
set -e
2026-03-12 23:17:50 +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-03-12 23:17:50 +03:00
LOCAL_DOMAIN=${LOCAL_DOMAIN:-mikan}
2026-02-13 01:47:50 +03:00
2026-03-12 23:17:50 +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-03-12 23:17:50 +03:00
SERVICE_NAME=$1
shift
EXTRA_DOMAINS=("$@")
2026-02-13 01:47:50 +03:00
2026-03-12 23:17:50 +03:00
DOMAINS_FILE="$ROOT_DIR/domains.txt"
2026-02-13 01:47:50 +03:00
2026-03-12 23:17:50 +03:00
if [ ! -f "$DOMAINS_FILE" ]; then
touch "$DOMAINS_FILE"
2026-02-13 01:47:50 +03:00
fi
2026-03-12 23:17:50 +03:00
PRIMARY="${SERVICE_NAME}.${LOCAL_DOMAIN}"
ALIAS="${SERVICE_NAME}.local"
2026-02-13 01:47:50 +03:00
2026-03-12 23:17:50 +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-03-12 23:17:50 +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-03-12 23:17:50 +03:00
exec "$SCRIPT_DIR/regenerate-cert.sh"