Files
vans-diy-bastelbedarf/server/.env.example
T
qcigano ab3a5da892
Build & Deploy / deploy (push) Waiting to run
Sicherheits-, Stabilitaets- und Domainkorrekturen nach vollstaendiger Pruefung
- Absturzsicherheit: Express 4 faengt Fehler aus async-Handlern nicht ab, eine
  einzige fehlerhafte Anfrage konnte den ganzen Shop beenden - besonders heikel
  bei capture-order, wo das direkt nach der PayPal-Abbuchung passieren wuerde.
  Neu: lib/async-wrap.js um alle Handler, zentraler Fehler-Handler in index.js,
  .catch(next) in der Zugangsschranke, unhandledRejection/uncaughtException-Netz.
- Fehlerhaftes JSON lieferte bisher Express' HTML-Fehlerseite mit komplettem
  Stacktrace und Serverpfaden (weil NODE_ENV nicht gesetzt war). Jetzt saubere
  JSON-Antwort, NODE_ENV=production in .env.example ergaenzt.
- Sicherheits-Header und x-powered-by wie bei der DogFather-Seite.
- Falsche Domain .de statt .com korrigiert: astro.config.mjs (betraf alle
  Canonical-URLs und die komplette Sitemap), robots.txt, Layout.astro sowie den
  Verwaltungs-Link in jeder Bestellbenachrichtigung (war ein toter Link).
- Fehlende Uebersetzung nav.cart in EN/CH/FR ergaenzt: das Warenkorb-Symbol hatte
  in drei von vier Sprachen keinen Namen fuer Screenreader.
2026-08-05 22:33:49 +02:00

38 lines
1.2 KiB
Bash

# Vorlage — echte Werte kommen in eine eigene ".env"-Datei (wird nie eingecheckt/committed,
# siehe .gitignore), niemals hier direkt eintragen.
# Wo die SQLite-Datenbankdatei liegt (außerhalb des Programmcodes, siehe db.js)
DB_PATH=/var/lib/vandiy-shop/vandiy-shop.db
# Port, auf dem der Node-Server lokal lauscht (Caddy leitet von außen dorthin weiter)
PORT=4000
# Produktivbetrieb: sorgt u.a. dafuer, dass im Fehlerfall keine internen Details nach aussen gehen.
NODE_ENV=production
# Zugangscode-Schranke (ganze Seite) — selbst gewählte, zufällige Werte
SITE_ACCESS_SECRET=
SITE_ACCESS_CODE_QCIGA=
SITE_ACCESS_CODE_VANVAN=
# Zweite Schranke für /verwaltung/ (eigenes Signier-Geheimnis, geprüfter Code ist derselbe wie oben)
VERWALTUNG_SESSION_SECRET=
# Kundenkonto-Sitzungen (Google-/PayPal-Login)
CUSTOMER_SESSION_SECRET=
# Sobald der Shop für echte Kund:innen live gehen soll: auf "true" setzen
SITE_PUBLIC=false
# PayPal (Zahlung + "Log in with PayPal") — aus dem PayPal-Entwickler-Dashboard
PAYPAL_ENV=sandbox
PAYPAL_CLIENT_ID=
PAYPAL_CLIENT_SECRET=
# Google-Login — aus der Google Cloud Console
GOOGLE_CLIENT_ID=
GOOGLE_CLIENT_SECRET=
# E-Mail-Versand (Bestellbenachrichtigungen) — aus resend.com
RESEND_API_KEY=