1st commit
This commit is contained in:
34
README.md
Normal file
34
README.md
Normal file
@@ -0,0 +1,34 @@
|
||||
# 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`
|
||||
|
Reference in New Issue
Block a user