#!/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"