koopa-admin-log/scripts/caddy/apply.sh
Hernâni Marques 730389b97d
scripts: caddy apply helper for koopa host Caddyfile
Backup, install from ~/koopa-caddy/Caddyfile, validate, reload.
Live path on host: ~/koopa-caddy/apply.sh
2026-07-10 15:37:42 +02:00

42 lines
1 KiB
Bash
Executable file

#!/usr/bin/env bash
# Apply koopa Caddyfile (git.hacktivism.ch, forgejo-ssh note :9200, ACME host list).
# Usage: sudo ~/koopa-caddy/apply.sh
# or: ~/koopa-caddy/apply.sh (will re-exec with sudo if needed)
set -euo pipefail
SRC="${CADDYFILE_SRC:-/home/hernani/koopa-caddy/Caddyfile}"
DST="/etc/caddy/Caddyfile"
BACKUP_DIR="/etc/caddy"
if [[ ! -f "$SRC" ]]; then
echo "error: source missing: $SRC" >&2
exit 1
fi
if [[ "$(id -u)" -ne 0 ]]; then
exec sudo -E "$0" "$@"
fi
ts=$(date +%Y%m%d-%H%M%S)
bak="${BACKUP_DIR}/Caddyfile.bak-${ts}"
cp -a "$DST" "$bak"
echo "backup: $bak"
cp "$SRC" "$DST"
chown root:caddy "$DST" 2>/dev/null || chown root:root "$DST"
chmod 644 "$DST"
echo "validate..."
if command -v caddy >/dev/null 2>&1; then
caddy validate --config "$DST"
else
echo "warn: caddy binary not in PATH; skipping validate" >&2
fi
echo "reload..."
systemctl reload caddy
systemctl is-active caddy
echo "spot-check:"
grep -n "git.hacktivism\|9200\|9024" "$DST" | head -10
echo "OK: $DST updated from $SRC"