scripts: caddy apply helper for koopa host Caddyfile
Backup, install from ~/koopa-caddy/Caddyfile, validate, reload. Live path on host: ~/koopa-caddy/apply.sh
This commit is contained in:
parent
fa20edf2e9
commit
730389b97d
2 changed files with 57 additions and 0 deletions
15
scripts/caddy/README.md
Normal file
15
scripts/caddy/README.md
Normal file
|
|
@ -0,0 +1,15 @@
|
||||||
|
# koopa Caddy apply
|
||||||
|
|
||||||
|
| File | Role |
|
||||||
|
|------|------|
|
||||||
|
| `Caddyfile` | Desired config (sync from admin-log `configs/caddy/Caddyfile`) |
|
||||||
|
| `apply.sh` | Backup live, install, validate, `systemctl reload caddy` |
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# as hernani (prompts for sudo password)
|
||||||
|
~/koopa-caddy/apply.sh
|
||||||
|
# or
|
||||||
|
sudo ~/koopa-caddy/apply.sh
|
||||||
|
```
|
||||||
|
|
||||||
|
Override source: `CADDYFILE_SRC=/path/to/Caddyfile ~/koopa-caddy/apply.sh`
|
||||||
42
scripts/caddy/apply.sh
Executable file
42
scripts/caddy/apply.sh
Executable file
|
|
@ -0,0 +1,42 @@
|
||||||
|
#!/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"
|
||||||
Loading…
Add table
Add a link
Reference in a new issue