d3718da1f8
Passkey-Login analog zu werte-next: auf der Login-Seite "Mit Passkey anmelden", Verwaltung der eigenen Passkeys im neuen Tab Einstellungen. Das Passwort bleibt als Alternative bestehen. - lib/webauthn.ts, lib/passkeys.ts sowie API-Routen unter /api/passkey - proxy.ts: /api/passkey/authenticate ohne Session erreichbar - TabLayout: dritter Tab Einstellungen (Index-Tabs statt Route wie werte) - RP-Konfiguration ueber AUSGABEN_RP_*, da sich die .env auf dem Server mit anderen Apps teilt, die RP_ID/RP_ORIGIN bereits belegen - Eigene Tabelle ausgaben_passkeys aus demselben Grund: werte-next nutzt in der gemeinsamen Datenbank RXF bereits die Tabelle passkeys - eslint.config.mjs auf die Flat-Config von eslint-config-next umgestellt Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
26 lines
881 B
YAML
26 lines
881 B
YAML
# Docker Compose für lokale Entwicklung auf Esprimo (ohne Traefik)
|
|
services:
|
|
ausgaben-app:
|
|
build:
|
|
context: .
|
|
args:
|
|
BUILD_DATE: ${BUILD_DATE:-$(date +%d.%m.%Y)}
|
|
container_name: ausgaben-next-app
|
|
restart: unless-stopped
|
|
ports:
|
|
- "0.0.0.0:3005:3000"
|
|
environment:
|
|
- NODE_ENV=production
|
|
- DB_HOST=${DB_HOST}
|
|
- DB_USER=${DB_USER}
|
|
- DB_PASS=${DB_PASS}
|
|
- DB_NAME=${DB_NAME}
|
|
- AUTH_USERS=${AUTH_USERS}
|
|
- AUTH_SECRET=${AUTH_SECRET}
|
|
# Passkeys (WebAuthn) — WebAuthn braucht HTTPS oder localhost.
|
|
# App-eigene Namen (AUSGABEN_RP_*) wie in docker-compose.prod.yml, damit
|
|
# eine geteilte .env mit anderen Apps nicht kollidiert.
|
|
- RP_ID=${AUSGABEN_RP_ID:-localhost}
|
|
- RP_ORIGIN=${AUSGABEN_RP_ORIGIN:-http://localhost:3005}
|
|
- RP_NAME=${AUSGABEN_RP_NAME:-Ausgaben-Log}
|