Files
deskhub/DeskHub-Webseite/config/config.php
T
2026-10-19 18:05:55 +00:00

95 lines
4.2 KiB
PHP
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<?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',
],
];