mirror of
https://github.com/eduardogsilva/wireguard_webadmin.git
synced 2026-03-15 13:36:18 +00:00
33 lines
990 B
Bash
33 lines
990 B
Bash
#!/bin/bash
|
|
|
|
set -eu
|
|
|
|
SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
|
|
PYTHON="${SCRIPT_DIR}/.venv/bin/python3"
|
|
JSON_DIR="${JSON_DIR:-/caddy_json_export}"
|
|
CADDYFILE_PATH="${CADDYFILE_PATH:-/etc/caddy/Caddyfile}"
|
|
|
|
echo "==> Generating wireguard_webadmin.json..."
|
|
"$PYTHON" "${SCRIPT_DIR}/export_wireguard_webadmin_config.py"
|
|
|
|
echo "==> Processing config files..."
|
|
"$PYTHON" "${SCRIPT_DIR}/process_config.py"
|
|
|
|
echo "==> Starting Caddy..."
|
|
caddy run --config "$CADDYFILE_PATH" --adapter caddyfile &
|
|
CADDY_PID=$!
|
|
|
|
sleep 2
|
|
|
|
echo "==> Watching ${JSON_DIR} for config changes..."
|
|
while true; do
|
|
inotifywait -qq -e close_write,moved_to,create "${JSON_DIR}/" --include '.*\.json$' 2>/dev/null || true
|
|
sleep 1
|
|
|
|
echo "==> Config change detected, reprocessing..."
|
|
"$PYTHON" "${SCRIPT_DIR}/process_config.py"
|
|
|
|
echo "==> Reloading Caddy..."
|
|
caddy reload --config "$CADDYFILE_PATH" --adapter caddyfile 2>/dev/null || echo "Warning: Caddy reload failed, will retry on next change."
|
|
done
|