2023-07-01 12:26:43 +00:00
|
|
|
#!/bin/sh
|
|
|
|
|
|
2025-12-15 14:09:46 +00:00
|
|
|
if [ -z "$GEODATA_DIR" ]; then
|
|
|
|
|
echo "ERROR: GEODATA_DIR environment variable is not set"
|
|
|
|
|
exit 1
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
if [ -z "$MAX_GEODATA_DIR_WAIT" ]; then
|
|
|
|
|
echo "WARNING: MAX_GEODATA_DIR_WAIT environment variable is not set, using default MAX_GEODATA_DIR_WAIT=300"
|
|
|
|
|
MAX_GEODATA_DIR_WAIT=300
|
|
|
|
|
fi
|
|
|
|
|
|
2025-11-24 23:10:02 +00:00
|
|
|
FINISH_FILE="$GEODATA_DIR/cron-job-finished.txt"
|
|
|
|
|
|
2025-12-03 17:33:43 +00:00
|
|
|
ELAPSED=0
|
|
|
|
|
INTERVAL=10
|
|
|
|
|
|
2025-12-15 12:30:20 +00:00
|
|
|
while [ ! -f "$FINISH_FILE" ] && [ "$ELAPSED" -lt "$MAX_GEODATA_DIR_WAIT" ]; do
|
|
|
|
|
echo "Waiting for geodata initialization... ($ELAPSED/$MAX_GEODATA_DIR_WAIT seconds)"
|
2025-12-03 17:33:43 +00:00
|
|
|
sleep $INTERVAL
|
|
|
|
|
ELAPSED=$((ELAPSED + INTERVAL))
|
2025-11-24 23:10:02 +00:00
|
|
|
done
|
|
|
|
|
|
2025-12-03 17:33:43 +00:00
|
|
|
if [ ! -f "$FINISH_FILE" ]; then
|
2025-12-15 12:30:20 +00:00
|
|
|
echo "ERROR: Geodata initialization timed out after $MAX_GEODATA_DIR_WAIT seconds"
|
2025-12-03 17:33:43 +00:00
|
|
|
echo "Container startup aborted."
|
|
|
|
|
exit 1
|
|
|
|
|
fi
|
|
|
|
|
|
2023-07-01 12:26:43 +00:00
|
|
|
# Start fail2ban
|
2025-11-23 14:16:16 +00:00
|
|
|
[ "$XUI_ENABLE_FAIL2BAN" = "true" ] && fail2ban-client -x start
|
2023-07-01 12:26:43 +00:00
|
|
|
|
|
|
|
|
# Run x-ui
|
|
|
|
|
exec /app/x-ui
|