95 lines
4.2 KiB
PHP
95 lines
4.2 KiB
PHP
<?php
|
||
/**
|
||
* DeskHub – Konfiguration
|
||
* Vor dem Produktiveinsatz alle Werte anpassen und diese Datei
|
||
* außerhalb des öffentlichen Web-Verzeichnisses sichern bzw. per
|
||
* .htaccess schützen (siehe mitgelieferte .htaccess).
|
||
*/
|
||
|
||
// Optional: App-Schlüssel für Verschlüsselung sensibler Einstellungen (SMTP/IMAP-Passwörter).
|
||
// Einmal setzen, danach NICHT mehr ändern (sonst sind gespeicherte Passwörter nicht mehr lesbar).
|
||
// Empfehlung: php -r "echo bin2hex(random_bytes(32));"
|
||
// define('APP_KEY', 'ihr-zufaelliger-schluessel-hier');
|
||
|
||
return [
|
||
|
||
// Verschlüsselungsschlüssel für sensible Einstellungen (SMTP/IMAP/Discord/Telegram-Passwörter)
|
||
// Generieren: php -r "echo bin2hex(random_bytes(32));"
|
||
// PFLICHT für den Produktivbetrieb! Ohne diesen Key ist die Verschlüsselung nur schwach.
|
||
// Einmal setzen und NIEMALS mehr ändern – sonst sind gespeicherte Passwörter unlesbar.
|
||
'app_key' => '86f1c83be78378ecb8ddc0696cb365bbceaa70a022365a6158d31e6da911aeb9',
|
||
|
||
// Browser Push Notifications (VAPID)
|
||
// Keys werden beim ersten Start automatisch generiert und in der DB gespeichert.
|
||
// Optional: eigene Keys eintragen (php includes/push.php --generate-keys)
|
||
'push' => [
|
||
'public_key' => '', // leer lassen = automatisch
|
||
'private_key' => '', // leer lassen = automatisch
|
||
],
|
||
|
||
// Datenbankverbindung
|
||
'db' => [
|
||
// 'mysql' für den Produktivbetrieb, 'sqlite' NUR für lokale Tests
|
||
'driver' => 'mysql',
|
||
|
||
// --- MySQL-Einstellungen (nur relevant wenn driver = mysql) ---
|
||
'host' => 'localhost',
|
||
'name' => 'deskhub',
|
||
'user' => 'deskhub_user',
|
||
'pass' => '', // ← bitte MySQL-Passwort eintragen
|
||
|
||
// --- SQLite-Einstellungen (nur relevant wenn driver = sqlite) ---
|
||
'sqlite_path' => getenv('DESKHUB_SQLITE_PATH') ?: __DIR__ . '/../database/deskhub.sqlite',
|
||
],
|
||
|
||
// Allgemeine Website-Einstellungen
|
||
'site' => [
|
||
'name' => 'DeskHub Support',
|
||
'url' => 'http://localhost:8000',
|
||
'admin_email' => 'support@example.com',
|
||
'timezone' => 'Europe/Berlin',
|
||
|
||
// Reverse-Proxy (hier Cloudflare): Nur Anfragen von diesen Adressen dürfen die Besucher-IP
|
||
// und HTTPS über X-Forwarded-* melden. Aktuelle Liste: https://www.cloudflare.com/ips/
|
||
'trusted_proxies' => [
|
||
'173.245.48.0/20', '103.21.244.0/22', '103.22.200.0/22', '103.31.4.0/22',
|
||
'141.101.64.0/18', '108.162.192.0/18', '190.93.240.0/20', '188.114.96.0/20',
|
||
'197.234.240.0/22', '198.41.128.0/17', '162.158.0.0/15', '104.16.0.0/13',
|
||
'104.24.0.0/14', '172.64.0.0/13', '131.0.72.0/22',
|
||
'2400:cb00::/32', '2606:4700::/32', '2803:f800::/32', '2405:b500::/32',
|
||
'2405:8100::/32', '2a06:98c0::/29', '2c0f:f248::/32',
|
||
],
|
||
],
|
||
|
||
// Ausgehende E-Mails (Benachrichtigungen an Kunden/Mitarbeiter)
|
||
// Hinweis: nutzt die PHP-Funktion mail(). Auf den meisten Shared-Hosting-
|
||
// Paketen funktioniert das direkt. Für zuverlässigeren Versand kann hier
|
||
// später ein SMTP-Mailer (z.B. PHPMailer) eingebaut werden – siehe
|
||
// includes/mailer.php.
|
||
'mail' => [
|
||
'enabled' => false, // auf true setzen, sobald mail() auf dem Server funktioniert
|
||
'from_email' => 'support@example.com',
|
||
'from_name' => 'DeskHub Support',
|
||
],
|
||
|
||
// Eingehende E-Mails -> automatische Ticketerstellung (cron/fetch_emails.php)
|
||
// Zugangsdaten werden über Einstellungen → E-Mail in der DB gespeichert (verschlüsselt).
|
||
// Diese config.php-Werte dienen nur als Fallback falls kein DB-Wert gesetzt ist.
|
||
'imap' => [
|
||
'enabled' => false,
|
||
'mailbox' => '{imap.example.com:993/imap/ssl}INBOX',
|
||
'user' => '',
|
||
'pass' => '', // Leer lassen – über Admin-Einstellungen setzen
|
||
'default_department_id' => 1,
|
||
'default_priority_id' => 2,
|
||
],
|
||
|
||
// Datei-Uploads
|
||
'uploads' => [
|
||
'max_size_bytes' => 10 * 1024 * 1024, // 10 MB
|
||
'allowed_extensions' => ['png','jpg','jpeg','gif','pdf','txt','log','docx','xlsx','zip'],
|
||
'path' => __DIR__ . '/../uploads',
|
||
],
|
||
|
||
];
|