Files
HiveGrid-Wireframes/hivegrid-cloud/scripts/update-geoip-db.sh
T

30 lines
1.0 KiB
Bash
Executable File

#!/usr/bin/env bash
#
# update-geoip-db.sh — lädt die aktuelle DB-IP Lite Country MMDB (CC-BY-4.0) nach GEOIP_DB_PATH.
# Für die lokale, EU-konforme Land-Auflösung ohne externen Transfer (AD-22, EXT-12).
#
# Monatlich ausführen (z.B. Coolify Scheduled Task oder system-cron). Die MMDB ist ein
# Deploy-Artefakt und gehört NICHT ins Git.
#
# Monat überschreibbar: ./scripts/update-geoip-db.sh 2026-05 (falls die Monatsdatei noch nicht released ist)
#
set -euo pipefail
DEST="${GEOIP_DB_PATH:-./data/geoip/dbip-country-lite.mmdb}"
MONTH="${1:-$(date +%Y-%m)}"
URL="https://download.db-ip.com/free/dbip-country-lite-${MONTH}.mmdb.gz"
mkdir -p "$(dirname "$DEST")"
tmp="$(mktemp)"
trap 'rm -f "$tmp"' EXIT
echo "Lade GeoIP-DB: $URL"
if ! curl -fSL "$URL" -o "$tmp"; then
echo "FEHLER: Download fehlgeschlagen. Ist die Monatsdatei für ${MONTH} schon veröffentlicht?" >&2
echo " Versuche den Vormonat: ./scripts/update-geoip-db.sh JJJJ-MM" >&2
exit 1
fi
gunzip -c "$tmp" > "$DEST"
echo "GeoIP-DB aktualisiert: $DEST"