#!/usr/bin/env bash set -euo pipefail BASE="/opt/homelab" GENERATOR="$BASE/scripts/generate_caddy.py" WRAPPER="$BASE/Caddyfile.wrapper" TARGET_CADDYFILE="/etc/caddy/Caddyfile" BACKUP_CADDYFILE="/etc/caddy/Caddyfile.bak" GENERATED_DIR="$BASE/generated/caddy" echo "[1/5] Ensuring generated directory exists..." mkdir -p "$GENERATED_DIR" echo "[2/5] Generating Caddy fragments..." python3 "$GENERATOR" echo "[3/5] Installing wrapper Caddyfile..." if [[ -f "$TARGET_CADDYFILE" ]]; then cp "$TARGET_CADDYFILE" "$BACKUP_CADDYFILE" fi cp "$WRAPPER" "$TARGET_CADDYFILE" echo "[4/5] Validating Caddy config..." caddy validate --config "$TARGET_CADDYFILE" echo "[5/5] Reloading Caddy..." systemctl reload caddy echo "[Done] Caddy deployed successfully."