feat(logos): Provider-Kette, lokaler Cache und Markenfarben
- simple-icons als kompakter Index im Repository (3.459 Marken, 2 MB gzip),
erzeugt von scripts/vendor_simple_icons.py bzw. `make vendor-icons`
- logo.dev und Brandfetch als optionale Adapter, ohne Schlüssel übersprungen
- Favicon-Fallback und generierter Buchstaben-Avatar als Garantie
- Bei eindeutigem Offline-Treffer unterbleiben Anfragen nach außen komplett
- Cache im Dateisystem nach SHA-256, Auslieferung nur über /api/logos/{id}
mit immutable-Header und ETag
- Markenfarbe aus SVG-Fills bzw. per k-Means (k=4) über 64x64 Pixel, dazu eine
aufgehellte Variante mit mindestens 4,5:1 Kontrast auf dunklem Grund
- Kandidatensuche mit Vorauswahl, Auswahl, Upload und Zurücksetzen
- Bildtyp wird nur noch am Inhalt bestimmt, nicht an der gemeldeten Kopfzeile
- 60 neue Tests, insgesamt 208 grün
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014e7t8UpmoVNMtWivY5LiSH
This commit is contained in:
+16
-1
@@ -43,13 +43,28 @@ OIDC_SCOPES=openid profile email
|
||||
|
||||
# --- Logo-Service ------------------------------------------------------------
|
||||
# Verzeichnis für den lokalen Logo-Cache (im Container auf das Volume gemountet).
|
||||
# Logos werden ausschließlich von hier ausgeliefert – im Seitenaufruf entsteht
|
||||
# kein Zugriff auf fremde Dienste.
|
||||
LOGO_STORAGE_DIR=/data/logos
|
||||
# Optionale Provider. Ohne Key wird der jeweilige Adapter übersprungen.
|
||||
|
||||
# Der lokale simple-icons-Katalog deckt die meisten Marken ohne Netzzugriff ab.
|
||||
# Die folgenden Provider sind optional; ohne Schlüssel wird der jeweilige
|
||||
# Adapter stillschweigend übersprungen.
|
||||
|
||||
# logo.dev: veröffentlichbarer Token von https://www.logo.dev
|
||||
# Achtung: Auf dem kostenlosen Tarif verlangt logo.dev bei kommerzieller
|
||||
# Nutzung einen sichtbaren Rückverweis. Für private Nutzung entfällt das.
|
||||
LOGODEV_API_KEY=
|
||||
|
||||
# Brandfetch: API-Schlüssel der Brand API (https://docs.brandfetch.com).
|
||||
# Wird nur genutzt, wenn zur Firma eine Domain hinterlegt ist.
|
||||
BRANDFETCH_API_KEY=
|
||||
|
||||
LOGO_HTTP_TIMEOUT_SECONDS=5
|
||||
LOGO_HTTP_RETRIES=2
|
||||
LOGO_MAX_UPLOAD_BYTES=1048576
|
||||
# Sucht nach dem Anlegen einer Firma automatisch im Hintergrund nach einem Logo.
|
||||
LOGO_AUTO_RESOLVE=true
|
||||
|
||||
# --- Benachrichtigungen ------------------------------------------------------
|
||||
NOTIFICATIONS_ENABLED=true
|
||||
|
||||
Reference in New Issue
Block a user