mirror of
https://github.com/eduardogsilva/wireguard_webadmin.git
synced 2026-03-17 14:26:18 +00:00
45 lines
1023 B
Bash
45 lines
1023 B
Bash
#!/bin/sh
|
|
|
|
set -eu
|
|
|
|
CONFIG_PATH="/config/configuration.yml"
|
|
WAIT_INTERVAL=5
|
|
|
|
echo "==> Waiting for Authelia configuration file..."
|
|
while [ ! -f "$CONFIG_PATH" ]; do
|
|
sleep "$WAIT_INTERVAL"
|
|
done
|
|
echo "==> Configuration file found: ${CONFIG_PATH}"
|
|
|
|
echo "==> Starting Authelia..."
|
|
authelia --config "$CONFIG_PATH" &
|
|
AUTHELIA_PID=$!
|
|
|
|
sleep 3
|
|
|
|
echo "==> Watching ${CONFIG_PATH} for changes..."
|
|
|
|
# Function to safely get hash in minimal environments
|
|
get_hash() {
|
|
md5sum "$CONFIG_PATH" 2>/dev/null | awk '{print $1}' || echo "error"
|
|
}
|
|
|
|
LAST_HASH=$(get_hash)
|
|
|
|
while true; do
|
|
sleep 3
|
|
CURRENT_HASH=$(get_hash)
|
|
|
|
if [ "$LAST_HASH" != "$CURRENT_HASH" ]; then
|
|
echo "==> Configuration change detected, restarting Authelia..."
|
|
LAST_HASH="$CURRENT_HASH"
|
|
|
|
kill "$AUTHELIA_PID" 2>/dev/null || true
|
|
wait "$AUTHELIA_PID" 2>/dev/null || true
|
|
|
|
authelia --config "$CONFIG_PATH" &
|
|
AUTHELIA_PID=$!
|
|
echo "==> Authelia restarted with PID ${AUTHELIA_PID}"
|
|
fi
|
|
done
|