Files
moneyfy/.env.example
T
moneyfyandClaude Opus 5 b586d27b77 feat(api): Core-API mit Authentifizierung, CRUD und Monatsreport
- Anmeldung über Argon2id und JWT in httpOnly-Cookies, Refresh mit echter
  Rotation über die neue Tabelle refresh_token
- AuthProvider-Protokoll als Vorbereitung für OIDC, Administrator-Anlage beim
  Erststart mit erzwungenem Passwortwechsel
- CRUD für Konten, Kategorien (zweistufiger Baum), Firmen, Recurrences,
  Preisversionen, Buchungen, Budgets, Vorlagen und Sparziele
- Fälligkeiten mit Overlay-Logik: abrufen, bestätigen, auslassen, zurücksetzen
- Kontosalden zum Stichtag, Monatsübersicht mit Plan-Ist-Vergleich
- SECRET_KEY jetzt mindestens 32 Zeichen; Platzhalter in Produktion abgelehnt
- 61 neue Integrationstests, insgesamt 148 grün

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014e7t8UpmoVNMtWivY5LiSH
2026-09-09 13:40:37 +02:00

74 lines
2.8 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).
LOGO_STORAGE_DIR=/data/logos
# Optionale Provider. Ohne Key wird der jeweilige Adapter übersprungen.
LOGODEV_API_KEY=
BRANDFETCH_API_KEY=
LOGO_HTTP_TIMEOUT_SECONDS=5
LOGO_HTTP_RETRIES=2
LOGO_MAX_UPLOAD_BYTES=1048576
# --- 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=