# IP Geo API Krótko: - FastAPI zwracające dane geo dla adresu IP (MaxMind GeoLite2 lub IP2Location). - LRU cache, walidacja IPv4/IPv6, endpoint /reload chroniony BasicAuth. - Updater pobiera/aktualizuje bazę do /data. Uruchomienie: 1. Skopiuj `.env.example` -> `.env` i uzupełnij. 2. `docker-compose up --build -d` 3. API: `GET /ip/{ip}` lub `GET /ip`. Reload: `POST /reload` z BasicAuth (ADMIN_USER/ADMIN_PASS). Pliki: - app/: kod - scripts/: downloader + updater - data/: miejsce dla baz ## Bezpośredni URL do MMDB (np. GitHub Releases) Jeśli posiadasz pełny link do pliku `.mmdb` (np. z projektu P3TERX/GeoLite.mmdb Releases), ustaw `MAXMIND_DIRECT_DB_URL` w `.env`. Updater pobierze plik bez rozpakowywania archiwum. ## Automatyczne pobieranie z GitHub Releases Ustaw `MAXMIND_GITHUB_REPO` (domyślnie `P3TERX/GeoLite.mmdb`). Updater sprawdzi `releases/latest` i pobierze pierwszy asset `.mmdb`. Opcjonalnie dodaj `GITHUB_TOKEN` dla wyższych limitów GitHub API. Priorytet w updaterze: 1) GitHub Releases (latest) → `.mmdb` 2) `MAXMIND_DIRECT_DB_URL` 3) Oficjalne pobieranie MaxMind przez `MAXMIND_LICENSE_KEY` + `MAXMIND_DOWNLOAD_URL_TEMPLATE`