#!/bin/bash set -e SKILL_DIR="$(dirname "$(dirname "$0")")" CADDYFILE_PATH="${CADDYFILE_PATH:-$SKILL_DIR/Caddyfile}" CADDY_DATA_DIR="${CADDY_DATA_DIR:-/data/caddy}" SNIPPETS_DIR="$SKILL_DIR/snippets.d" MERGED_CONFIG="/tmp/Caddyfile.merged" # Merge base Caddyfile with snippets from other skills merge_config() { if [ ! -f "$CADDYFILE_PATH" ]; then echo "Error: Caddyfile not found at $CADDYFILE_PATH" exit 1 fi # Start with base config cat "$CADDYFILE_PATH" > "$MERGED_CONFIG" # Append snippets from other skills if [ -d "$SNIPPETS_DIR" ] && [ "$(ls -A "$SNIPPETS_DIR" 2>/dev/null)" ]; then echo "" >> "$MERGED_CONFIG" echo "# === Auto-imported from skills ===" >> "$MERGED_CONFIG" for snippet in "$SNIPPETS_DIR"/*.caddy; do if [ -f "$snippet" ]; then echo "" >> "$MERGED_CONFIG" cat "$snippet" >> "$MERGED_CONFIG" echo "Imported: $(basename "$snippet")" fi done fi echo "Merged config written to: $MERGED_CONFIG" } merge_config echo "Starting Caddy..." exec caddy run --config "$MERGED_CONFIG" --adapter caddyfile