Files
kaffeekasse-saas/env.local.example.php
T
clemensandClaude Opus 5 1d53b66e3f Wasserzeichen fuer den kostenlosen Tarif
Mandanten im Tarif "free" (bis 10 Teilnehmer) zeigen unten rechts eine
kleine Marke mit Logo und Adresse der Kaffeeliste; zahlende Mandanten
behalten ihre Oberflaeche ohne fremdes Logo.

Die Sichtbarkeit haengt allein an tenant_billing.plan_code und wird als
reine Leseabfrage geprueft - billing_fetch_or_init() waere ein Schreibzugriff
im Seitenaufbau. Laesst sich der Tarif nicht lesen, bleibt die Marke aus.
Das Logo ist ein Inline-SVG, das Linkziel kommt aus APP_MARKETING_URL bzw.
aus APP_HOST ohne App-Subdomain.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-21 00:14:17 +02:00

74 lines
2.9 KiB
PHP

<?php
/**
* Vorlage fuer die Produktionskonfiguration auf echtem Webhosting.
*
* Kopieren nach `env.local.php` (ohne ".example") direkt auf dem Webspace
* per SFTP - NICHT einchecken, die Datei enthaelt echte Zugangsdaten.
* `env.local.php` steht in .gitignore.
*
* Wird automatisch von app/bootstrap.php geladen, sobald die Datei
* existiert (lokal beim Dev-Server ueblicherweise nicht vorhanden -
* dort kommen die Werte weiterhin aus `source .env.local`).
*/
putenv('APP_ENV=prod');
// Zeitzone der Anwendung. Wird sowohl fuer PHP als auch fuer die DB-Session
// verwendet, damit in PHP berechnete Zeitstempel und MySQL NOW() dieselbe Uhr
// sehen (Token-Ablaeufe, Hinweis-Gueltigkeiten usw.). Standard: Europe/Berlin.
putenv('APP_TIMEZONE=Europe/Berlin');
// Eigene App-Domain. Nur Traffic mit genau diesem Host-Header bekommt das
// Dashboard/Login/etc.; jeder andere Host (z. B. kaffeeliste.de) zeigt
// stattdessen die Landingpage. Siehe index.php.
putenv('APP_HOST=app.kaffeeliste.de');
// Ziel des Wasserzeichens im kostenlosen Tarif (unten rechts in der App).
// Ohne Angabe wird die Marketing-Domain aus APP_HOST abgeleitet, indem die
// App-Subdomain wegfaellt - hier also https://kaffeeliste.de.
putenv('APP_MARKETING_URL=https://kaffeeliste.de');
putenv('APP_DB_DRIVER=mysql');
putenv('DB_HOST=');
putenv('DB_PORT=3306');
putenv('DB_NAME=');
putenv('DB_USER=');
putenv('DB_PASS=');
// Muss ausserhalb des oeffentlichen Webroots oder zumindest per .htaccess
// gesperrt sein - siehe Deployment-Hinweise.
putenv('APP_SESSION_PATH=' . __DIR__ . '/var/sessions');
putenv('APP_MAIL_TRANSPORT=mail');
putenv('APP_MAIL_FROM=noreply@kaffeeliste.de');
putenv('APP_MAIL_FROM_NAME=Kaffeeliste');
putenv('STRIPE_SECRET_KEY=');
putenv('STRIPE_PUBLISHABLE_KEY=');
putenv('STRIPE_WEBHOOK_SECRET=');
putenv('DOLIBARR_URL=https://verwaltung.ctb-it.de');
putenv('DOLIBARR_API_KEY=');
// Automatische Verbuchung weitergeleiteter PayPal-Zahlungsmails.
// PAYPAL_INBOX_BASE ist die zentrale Sammeladresse; jeder Mandant bekommt
// daraus per Plus-Adressierung eine eigene Variante (zahlungen+<token>@...),
// die im Backend unter "PayPal-Zahlungen" angezeigt wird. Das Postfach muss
// Plus-Adressierung an dieselbe Mailbox zustellen (Catch-All).
// Die Zugangsdaten sind bewusst Server-/Betreiber-Einstellungen und NICHT
// pro Mandant konfigurierbar. Abruf per Cron:
// php scripts/fetch-paypal-payments.php
putenv('PAYPAL_INBOX_BASE=zahlungen@kaffeeliste.de');
putenv('PAYPAL_IMAP_HOST=');
putenv('PAYPAL_IMAP_PORT=993');
putenv('PAYPAL_IMAP_FLAGS=/imap/ssl');
putenv('PAYPAL_IMAP_USER=');
putenv('PAYPAL_IMAP_PASS=');
putenv('PAYPAL_IMAP_MAILBOX=INBOX');
// Hinweis: Den frueheren Login-Bypass ueber DEV_AUTH_EMAIL gibt es nicht mehr -
// die Anmeldung laeuft immer ueber login.php, auch lokal. Die Variable wird nur
// noch von scripts/init-mysql-dev.php gelesen, um beim Aufsetzen einer
// Entwicklungsdatenbank den ersten Benutzer anzulegen.