Files
server/config/system.php.example
T
2026-07-25 20:28:14 -04:00

79 lines
3.2 KiB
Plaintext

<?php
return [
// Application Configuration
'name' => 'Application Name',
'environment' => 'dev',
'debug' => true,
// Database Configuration
'database' => [
// MongoDB connection URI (include credentials if needed)
'uri' => 'mongodb://username:password@database-host:27017/?authSource=database&tls=true',
'database' => 'database',
// optional driver options
'options' => [],
'driverOptions' => [],
],
/**
* Cache Configuration
*
* Set the cache store classes for different cache types.
* Uncomment and adjust the class names as needed.
*
* Available Cache Stores:
* - Ephemeral Cache: Short-lived, in-memory or file-based cache for sessions, rate limits, etc.
* - Persistent Cache: Long-lived cache for routes, modules, compiled configs, etc.
* - Blob Cache: Large binary objects storage.
*
* Predefined cache types:
* file - File-based cache store
* redis - Redis-based cache store
* memcached - Memcached-based cache store
*/
//'cache.ephemeral' => 'file',
//'cache.persistent' => 'file',
//'cache.blob' => 'file',
// Logging Configuration
'log' => [
// Driver: 'file' | 'systemd' | 'syslog' | 'null'
// file - writes JSONL to a local file (see 'path' / 'channel' below)
// systemd - writes to stderr with <priority> prefix; journald/systemd parses this natively
// syslog - writes via PHP syslog() (see 'ident' / 'facility' below)
// null - discards all log messages (useful in tests / CI)
'driver' => 'file',
// Minimum PSR-3 log level to record.
// Messages below this severity are silently discarded.
// From most to least severe: emergency, alert, critical, error, warning, notice, info, debug
'level' => 'warning',
// Per-tenant log files.
// When true, messages are written to:
// {path}/tenant/{tenantIdentifier}/{channel}.jsonl
// once a tenant session is active. Pre-tenant messages (boot phase,
// unknown domain rejections, etc.) fall through to the global log file.
'per_tenant' => false,
// ── file driver options ────────────────────────────────────────────────
// Absolute path to the log directory. null = <project_root>/var/logs
'path' => null,
// Log channel — used as the filename without extension.
// 'app' → var/logs/app.jsonl (or var/logs/tenant/{id}/app.jsonl when per_tenant = true)
'channel' => 'app',
// ── syslog driver options ──────────────────────────────────────────────
// Identity tag passed to openlog(); visible in syslog and journalctl.
'ident' => 'application',
// openlog() facility constant. Common values: LOG_USER, LOG_LOCAL0 … LOG_LOCAL7
'facility' => LOG_USER,
],
// Security Configuration
// Generate a unique value for each deployment, for example: openssl rand -hex 32
'security.salt' => 'replace-with-a-random-secret',
];