Files
moneyfy/.env.example
T
moneyfyandClaude Opus 5 8edb69fe6a 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
2026-09-09 13:54:21 +02:00

89 lines
3.5 KiB
Bash
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# =============================================================================
# moneyfy Beispielkonfiguration
# Kopieren nach `.env` und anpassen. Niemals echte Secrets committen.
# =============================================================================
# --- Allgemein ---------------------------------------------------------------
ENVIRONMENT=production # development | production | test
DEBUG=false
TIMEZONE=Europe/Berlin # Durchgängige Zeitzone der Anwendung
HOLIDAY_REGION=DE-NW # Feiertagsregion für Werktagsverschiebungen
DEFAULT_CURRENCY=EUR
# Öffentliche Basis-URL, u. a. für Links in Benachrichtigungen
PUBLIC_BASE_URL=https://moneyfy.menzel.center
# Image-Tag, den docker-compose zieht (main, 0.1.0, latest, sha-abc1234)
TAG=latest
# --- Datenbank ---------------------------------------------------------------
POSTGRES_DB=moneyfy
POSTGRES_USER=moneyfy
POSTGRES_PASSWORD=bitte-aendern
# Vom Backend genutzte DSN. `postgresql://` wird automatisch auf asyncpg umgestellt.
DATABASE_URL=postgresql+asyncpg://moneyfy:bitte-aendern@moneyfy-db:5432/moneyfy
# --- Sicherheit --------------------------------------------------------------
# Signaturschlüssel für JWTs, mindestens 32 Zeichen.
# Erzeugen mit: openssl rand -hex 32
SECRET_KEY=bitte-aendern-mindestens-32-zeichen-lang
ACCESS_TOKEN_TTL_MINUTES=30
REFRESH_TOKEN_TTL_DAYS=14
COOKIE_SECURE=true # Hinter HTTPS-Proxy true, für lokales HTTP false
COOKIE_DOMAIN=
# Wird beim ersten Start angelegt (danach mit erzwungenem Passwortwechsel).
MONEYFY_ADMIN_USER=admin
MONEYFY_ADMIN_PASSWORD=bitte-aendern
# --- OIDC (vorbereitet, noch nicht implementiert) ----------------------------
OIDC_ENABLED=false
OIDC_ISSUER=
OIDC_CLIENT_ID=
OIDC_CLIENT_SECRET=
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
# 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
SCHEDULER_ENABLED=true
NOTIFICATION_HOUR=7 # Täglicher Lauf um 07:00 Europe/Berlin
NOTIFICATION_MINUTE=0
SMTP_HOST=
SMTP_PORT=587
SMTP_USER=
SMTP_PASSWORD=
SMTP_FROM=moneyfy@example.com
SMTP_USE_TLS=true # STARTTLS
SMTP_USE_SSL=false # Implizites TLS (Port 465)
# Komma-separierte Apprise-URLs, z. B. ntfy://host/topic,discord://...
APPRISE_URLS=
# --- CORS --------------------------------------------------------------------
# Nur für getrennte Frontend-Entwicklung nötig, z. B. http://localhost:5173
CORS_ORIGINS=