Directus (Postgres, hinter NPM) wird die zentrale Datenquelle für Kunden, Aufträge, Produkte, Preise und Gutscheine; das skrift-backend bleibt reine Generierungs-Engine. - Docker/directus: docker-compose (Directus 11 + Postgres), Bootstrap-Skript legt Collections, Rollen/Policies/Rechte und Seed idempotent an. - Extension skrift-auth: passwortloser Login per E-Mail-Code (Codes nur als Hash, Ablauf, Versuchslimit) sowie Kontoanlage aus dem Checkout. - Extension skrift-orders: kontrollierter Bestell-Endpunkt für Gäste und eingeloggte Kunden; Preis wird immer serverseitig berechnet (editierbare Formel via sicherem Interpreter, Werte aus price_items). - skrift-backend: neuer Endpunkt /api/order/from-directus erzeugt SVGs aus einem Directus-Auftrag und schreibt Status + artifact_path zurück. Dafür wurde die Kernlogik aus generateOrder als runGeneration herausgelöst (Verhalten unverändert); generateOrder ist jetzt ein HTTP-Wrapper. - compose: NPM-Netz ergänzt, API_TOKEN/DIRECTUS_* werden durchgereicht. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
34 lines
1.4 KiB
Plaintext
34 lines
1.4 KiB
Plaintext
# Directus – kopiere zu .env und fülle die Werte aus. .env NICHT committen.
|
||
|
||
# ── Postgres ────────────────────────────────────────────────
|
||
DB_DATABASE=skrift
|
||
DB_USER=directus
|
||
DB_PASSWORD=CHANGE-ME-strong-db-password
|
||
|
||
# ── Directus ────────────────────────────────────────────────
|
||
# SECRET: langer Zufallswert, z. B. openssl rand -hex 32
|
||
DIRECTUS_SECRET=CHANGE-ME-64-hex-random
|
||
PUBLIC_URL=https://admin.skrift.de
|
||
|
||
# Erster Admin (nur beim ersten Start relevant)
|
||
ADMIN_EMAIL=admin@skrift.de
|
||
ADMIN_PASSWORD=CHANGE-ME-strong-admin-password
|
||
|
||
# CORS: URL des Frontends (Portal/Konfigurator). Kommagetrennt möglich.
|
||
CORS_ORIGIN=https://app.skrift.de
|
||
|
||
# ── E-Mail (SMTP) — für passwortlosen Login-Code + Benachrichtigungen ──
|
||
# WICHTIG: PORT und SECURE müssen zusammenpassen, sonst schlägt die Verbindung
|
||
# mit "SSL routines: wrong version number" fehl:
|
||
# Port 587 → STARTTLS → EMAIL_SMTP_SECURE=false
|
||
# Port 465 → implizites TLS → EMAIL_SMTP_SECURE=true
|
||
EMAIL_FROM=noreply@skrift.de
|
||
EMAIL_SMTP_HOST=
|
||
EMAIL_SMTP_PORT=587
|
||
EMAIL_SMTP_USER=
|
||
EMAIL_SMTP_PASSWORD=
|
||
EMAIL_SMTP_SECURE=false
|
||
|
||
# Nur falls der Mailserver ein selbstsigniertes Zertifikat nutzt:
|
||
# EMAIL_SMTP_TLS_REJECT_UNAUTHORIZED=false
|