Configuration keys¶
Configuration keys that the published packages define or read, with their defaults.
Set them in the array returned by app/config.php; nested keys are written with colons
here and as nested arrays in PHP (session:storage is ['session' => ['storage' => …]]).
A key that a package reads without listing it in its own config.php shows the default
from the reading code; — means the code passes no default and treats the key as absent.
{BASE_PATH} stands for the project root. Generated by tools/gen_reference.py from the
packages' config.php files and config() calls; see each guide for the effect.
naf/framework¶
Version v0.2.13 · Fundamentals
| Key | Default | Defined in |
|---|---|---|
guard:ipBlacklist |
— | code |
guard:userAgentBlacklist |
— | code |
naf/alexa¶
Version v0.1.1 · Alexa+ MCP server
| Key | Default | Defined in |
|---|---|---|
alexa:account_linking |
false |
config.php |
alexa:listing |
[] |
config.php |
alexa:redirect_uris |
[] |
config.php |
alexa:user_scopes |
["mcp:tools"] |
config.php |
mcp:auth:discovery_scope |
'mcp:service' |
config.php |
mcp:auth:driver |
'oauth' |
config.php |
mcp:auth:enabled |
true |
config.php |
mcp:oauth:authorization_servers |
["ENV:PUBLIC_URL"] |
config.php |
mcp:oauth:resource |
'ENV:ALEXA_MCP_RESOURCE' |
config.php |
mcp:oauth:scopes_supported |
["mcp:tools"] |
config.php |
mcp:transport:streaming |
false |
code |
oauth_server:audience |
'ENV:ALEXA_MCP_RESOURCE' |
config.php |
oauth_server:name |
'ENV:ALEXA_NAME' |
config.php |
oauth_server:scopes:mcp:service:label |
'Discover tools and access public data' |
config.php |
oauth_server:scopes:mcp:service:permission |
NULL |
config.php |
oauth_server:scopes:mcp:tools:label |
'Use your account through Alexa' |
config.php |
oauth_server:scopes:mcp:tools:permission |
'mcp:tools' |
config.php |
public_url |
'ENV:PUBLIC_URL' |
config.php |
naf/auth¶
Version v0.2.4 · Authentication and permissions
| Key | Default | Defined in |
|---|---|---|
auth:database:identifier_field |
'id' |
config.php |
auth:database:identity_factory |
NULL |
config.php |
auth:database:password_field |
'password' |
config.php |
auth:database:table |
'users' |
config.php |
auth:database:username_field |
'username' |
config.php |
auth:orm:identifier_field |
'id' |
config.php |
auth:orm:password_field |
'password' |
config.php |
auth:orm:repository |
NULL |
config.php |
auth:orm:username_field |
'username' |
config.php |
auth:policies |
[] |
config.php |
auth:providers |
[] |
config.php |
auth:session |
NULL |
config.php |
auth:session_reset_keys |
["_csrf"] |
config.php |
auth:users:identifier_field |
'id' |
config.php |
auth:users:model |
NULL |
config.php |
auth:users:password_field |
'password' |
config.php |
auth:users:store |
'orm' |
config.php |
auth:users:username_field |
'username' |
config.php |
naf/board¶
Version v0.1.9 · Nafinity
| Key | Default | Defined in |
|---|---|---|
app:name |
'Nafinity' |
code |
app:url |
'' |
code |
board_mail |
[] |
code |
database:driver |
— | code |
ldap:connection |
— | code |
ldap:directory |
— | code |
ldap:enabled |
false |
code |
mail |
[] |
code |
mail:transport |
— | code |
nafinity:exports:key |
— | code |
nafinity:mail_enabled |
false |
code |
nafinity:mail_from |
'' |
code |
nafinity:remember_days |
computed in code | code |
storage:disks:attachments:root |
computed in code | code |
websocket:url |
'' |
code |
naf/client¶
Version v0.2.3 · HTTP client
| Key | Default | Defined in |
|---|---|---|
client |
— | code |
naf/cms¶
Version v0.0.3 · NafCMS
| Key | Default | Defined in |
|---|---|---|
ai:embedding_model |
'' |
config.php |
ai:enabled |
'0' |
config.php |
ai:instructions |
'' |
config.php |
ai:model |
'llama3.1:8b' |
config.php |
ai:routing_debug |
false |
config.php |
ai:type |
'local' |
config.php |
ai:url |
'http://localhost:11434' |
config.php |
app:env |
'ENV:APP_ENV' |
config.php |
app:name |
'NafCMS' |
config.php |
app:short_name |
'NX' |
config.php |
app:url |
'ENV:APP_URL' |
config.php |
cms:admin:accent_colors:articles |
'#3f7fbd' |
config.php |
cms:admin:accent_colors:content |
'#3f7fbd' |
config.php |
cms:admin:accent_colors:dashboard |
'#ff3b30' |
config.php |
cms:admin:accent_colors:media |
'#14b8a6' |
config.php |
cms:admin:accent_colors:roles |
'#f59e0b' |
config.php |
cms:admin:accent_colors:settings |
'#8b5cf6' |
config.php |
cms:admin:accent_colors:users |
'#0ea5e9' |
config.php |
cms:admin:navigation |
[] |
code |
cms:languages |
["en","de"] |
config.php |
cms:media:allowed_extensions:csv |
["text/csv","text/plain","application/vnd.ms-excel"] |
config.php |
cms:media:allowed_extensions:docx |
["application/vnd.openxmlformats-officedocument.wordprocessingml.document","a… |
config.php |
cms:media:allowed_extensions:gif |
["image/gif"] |
config.php |
cms:media:allowed_extensions:jpeg |
["image/jpeg"] |
config.php |
cms:media:allowed_extensions:jpg |
["image/jpeg"] |
config.php |
cms:media:allowed_extensions:pdf |
["application/pdf"] |
config.php |
cms:media:allowed_extensions:png |
["image/png"] |
config.php |
cms:media:allowed_extensions:pptx |
["application/vnd.openxmlformats-officedocument.presentationml.presentation",… |
config.php |
cms:media:allowed_extensions:txt |
["text/plain"] |
config.php |
cms:media:allowed_extensions:webp |
["image/webp"] |
config.php |
cms:media:allowed_extensions:xlsx |
["application/vnd.openxmlformats-officedocument.spreadsheetml.sheet","applica… |
config.php |
cms:media:allowed_extensions:zip |
["application/zip","application/x-zip-compressed"] |
config.php |
cms:media:max_upload_size |
26214400 |
config.php |
cms:media:public_path |
computed in code | code |
cms:media:public_url |
'/media' |
config.php |
cms:media:storage_path |
'{BASE_PATH}/storage/media' |
config.php |
cms:outbound_http:ollama:allowed_ports |
[11434] |
config.php |
cms:outbound_http:ollama:max_response_bytes |
1048576 |
config.php |
cms:outbound_http:webhooks:allow_development_http |
false |
config.php |
cms:outbound_http:webhooks:development_hosts |
[] |
config.php |
cms:outbound_http:webhooks:max_response_bytes |
65536 |
config.php |
cms:outbound_http:webhooks:timeout |
8.0 |
config.php |
cms:runtime_path |
'storage/nafcms' |
config.php |
database:database |
'ENV:DB_DATABASE' |
config.php |
database:driver |
'ENV:DB_DRIVER' |
config.php |
database:host |
'ENV:DB_HOST' |
config.php |
database:password |
'ENV:DB_PASSWORD' |
config.php |
database:port |
'ENV:DB_PORT' |
config.php |
database:username |
'ENV:DB_USERNAME' |
config.php |
fallback_language |
'en' |
config.php |
language |
'en' |
config.php |
mcp:auth:driver |
'file' |
config.php |
mcp:auth:enabled |
true |
config.php |
mcp:auth:token_file |
'{BASE_PATH}/storage/mcp/tokens.json' |
config.php |
schedule:coalesce |
true |
config.php |
session:database_table |
'sessions' |
config.php |
session:storage |
'default' |
config.php |
session:trust_proxy_headers |
false |
config.php |
session:trusted_proxies |
[] |
config.php |
view:assets:publicPath |
'{BASE_PATH}/public' |
config.php |
view:assets:versionParameter |
'v' |
config.php |
view:assets:versioning |
true |
config.php |
view:paths |
["views","app/views"] |
config.php |
naf/database¶
Version v0.2.4 · Database
| Key | Default | Defined in |
|---|---|---|
database |
— | code |
database:migrationPaths |
— | code |
naf/form¶
Version v0.2.4 · Forms and validation
| Key | Default | Defined in |
|---|---|---|
csrf_exempt_routes |
[] |
code |
csrf_validation |
true |
code |
naf/i18n¶
Version v0.2.2 · Translations
| Key | Default | Defined in |
|---|---|---|
app:translationPath |
'/app/Resources/lang' |
code |
fallback_language |
computed in code | code |
language |
— | code |
naf/mail¶
Version v0.2.3 · Sending mail
| Key | Default | Defined in |
|---|---|---|
mail:from |
'' |
code |
mail:reply_to |
'' |
code |
mail:transport |
'Naf\Mail\Core\Transport\MailTransport' |
config.php |
naf/mcp¶
Version v0.2.7 · MCP tools
| Key | Default | Defined in |
|---|---|---|
csrf_exempt_routes:mcp_server_rpc |
true |
config.php |
mcp:auth:discovery_scope |
NULL |
config.php |
mcp:auth:driver |
'file' |
config.php |
mcp:auth:enabled |
true |
config.php |
mcp:auth:token_file |
'ENV:MCP_TOKEN_FILE' |
config.php |
mcp:oauth:authorization_servers |
[] |
config.php |
mcp:oauth:resource |
NULL |
config.php |
mcp:oauth:scopes_supported |
NULL |
config.php |
mcp:transport:allowed_origins |
[] |
config.php |
mcp:transport:max_request_bytes |
1048576 |
config.php |
mcp:transport:streaming |
false |
config.php |
public_url |
— | code |
naf/monitoring¶
Version v0.1.0 · Monitoring
| Key | Default | Defined in |
|---|---|---|
monitoring:batch_size |
256 |
config.php |
monitoring:exporter |
'Naf\Monitoring\Exporters\NullExporter' |
config.php |
monitoring:exporter_options |
[] |
config.php |
monitoring:http |
false |
config.php |
monitoring:labels |
[] |
config.php |
monitoring:log_exporter |
NULL |
config.php |
monitoring:log_exporter_options |
[] |
config.php |
monitoring:logging:count |
true |
config.php |
monitoring:logging:enabled |
false |
config.php |
monitoring:logging:min_level |
'warning' |
config.php |
monitoring:metrics |
[] |
config.php |
monitoring:on_error |
NULL |
config.php |
naf/oauth-client¶
Version v0.2.4 · OAuth client
| Key | Default | Defined in |
|---|---|---|
auth:logins |
[] |
code |
auth:providers |
[] |
code |
auth:users:model |
— | code |
oauth:accounts:auto_register |
false |
config.php |
oauth:accounts:create |
NULL |
config.php |
oauth:accounts:provider |
NULL |
config.php |
oauth:accounts:table |
'oauth_identities' |
config.php |
oauth:after_login |
'/' |
config.php |
oauth:cache_path |
NULL |
config.php |
oauth:error_route |
'/' |
config.php |
oauth:providers |
[] |
config.php |
oauth:routes |
true |
config.php |
oauth:tokens:key |
NULL |
config.php |
oauth:tokens:store |
false |
config.php |
oauth:tokens:table |
'oauth_provider_tokens' |
config.php |
public_url |
NULL |
config.php |
naf/oauth-server¶
Version v0.2.6 · OAuth authorization server
| Key | Default | Defined in |
|---|---|---|
csrf_exempt_routes:oauth.authorize.decide |
true |
config.php |
csrf_exempt_routes:oauth.introspect |
true |
config.php |
csrf_exempt_routes:oauth.revoke |
true |
config.php |
csrf_exempt_routes:oauth.token |
true |
config.php |
csrf_exempt_routes:oauth.userinfo.post |
true |
config.php |
oauth_server:access_token_ttl |
3600 |
config.php |
oauth_server:audience |
'' |
config.php |
oauth_server:claims |
NULL |
config.php |
oauth_server:code_ttl |
60 |
config.php |
oauth_server:consent_ttl |
600 |
config.php |
oauth_server:id_token_ttl |
3600 |
config.php |
oauth_server:key_path |
NULL |
config.php |
oauth_server:login_route |
NULL |
config.php |
oauth_server:name |
NULL |
config.php |
oauth_server:refresh_token_ttl |
2592000 |
config.php |
oauth_server:routes |
true |
config.php |
oauth_server:scopes |
[] |
config.php |
public_url |
NULL |
config.php |
naf/queue¶
Version v0.2.5 · Queues and workers
| Key | Default | Defined in |
|---|---|---|
queue:deadletterPath |
computed in code | code |
queue:heartbeat_file |
— | code |
queue:max_attempts |
3 |
code |
queue:path |
computed in code | code |
queue:retry_delay |
5 |
code |
naf/rbac¶
Version v0.1.4 · Roles and permissions
| Key | Default | Defined in |
|---|---|---|
rbac:layout |
NULL |
config.php |
rbac:lockout_permission |
'rbac.manage' |
config.php |
rbac:path |
'/admin/roles' |
config.php |
naf/schedule¶
Version v0.2.4 · Scheduled jobs
| Key | Default | Defined in |
|---|---|---|
schedule:heartbeat_file |
— | code |
schedule:queue:coalesce |
true |
code |
naf/session¶
Version v0.2.4 · Sessions
| Key | Default | Defined in |
|---|---|---|
session:cookie_domain |
NULL |
config.php |
session:database_table |
'sessions' |
config.php |
session:storage |
'default' |
config.php |
session:trust_proxy_headers |
false |
config.php |
session:trusted_proxies |
[] |
config.php |
naf/storage¶
Version v0.1.0 · File storage
| Key | Default | Defined in |
|---|---|---|
storage:default |
'local' |
config.php |
storage:disks:local:adapter |
'Naf\Storage\Adapters\LocalAdapter' |
config.php |
storage:disks:local:root |
'{BASE_PATH}/storage' |
config.php |
naf/view¶
Version v0.2.3 · Views and templates
| Key | Default | Defined in |
|---|---|---|
view:paths |
["views","app/views","src/views"] |
config.php |
naf/websocket¶
Version v0.1.1 · WebSocket notifications
| Key | Default | Defined in |
|---|---|---|
websocket:address |
'0.0.0.0:8091' |
config.php |
websocket:certificate |
'/etc/nginx/ssl/fullchain.pem' |
config.php |
websocket:control |
'/tmp/naf-websocket.sock' |
config.php |
websocket:enabled |
false |
config.php |
websocket:key |
'' |
config.php |
websocket:key_file |
'/etc/nginx/ssl/privkey.pem' |
config.php |
websocket:max_connections |
2000 |
config.php |
websocket:origins |
[] |
config.php |
websocket:token_lifetime |
60 |
config.php |
websocket:url |
'' |
config.php |