41 lines
1.1 KiB
Bash
41 lines
1.1 KiB
Bash
#!/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
|