mirror of
https://github.com/opensourcepos/opensourcepos.git
synced 2026-05-14 10:43:56 -04:00
Allow configuring allowed hostnames via ALLOWED_HOSTNAMES environment variable as an alternative to app.allowedHostnames in .env file. This is more convenient for Docker/Compose deployments where environment variables are set directly in compose files. The ALLOWED_HOSTNAMES variable takes precedence over app.allowedHostnames if both are set, allowing deployment-specific overrides. Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent) Co-authored-by: Ollama <ollama@steganos.dev> Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
85 lines
3.1 KiB
Plaintext
85 lines
3.1 KiB
Plaintext
#--------------------------------------------------------------------
|
|
# ENVIRONMENT
|
|
#--------------------------------------------------------------------
|
|
|
|
CI_ENVIRONMENT = production
|
|
|
|
#--------------------------------------------------------------------
|
|
# SECURITY: ALLOWED HOSTNAMES
|
|
#--------------------------------------------------------------------
|
|
# CRITICAL: Whitelist of allowed hostnames to prevent Host Header
|
|
# Injection attacks (GHSA-jchf-7hr6-h4f3).
|
|
#
|
|
# REQUIRED IN PRODUCTION: Application will fail to start if not configured.
|
|
# In development, falls back to 'localhost' with an error log.
|
|
#
|
|
# Configure with comma-separated list of domains/subdomains:
|
|
# app.allowedHostnames = 'yourdomain.com,www.yourdomain.com'
|
|
#
|
|
# Or via environment variable (useful for Docker/Compose):
|
|
# ALLOWED_HOSTNAMES=yourdomain.com,www.yourdomain.com
|
|
#
|
|
# For local development:
|
|
# app.allowedHostnames = 'localhost'
|
|
#
|
|
# Note: Do not include protocol (http/https) or port numbers.
|
|
app.allowedHostnames = ''
|
|
|
|
#--------------------------------------------------------------------
|
|
# DATABASE
|
|
#--------------------------------------------------------------------
|
|
|
|
database.default.hostname = 'localhost'
|
|
database.default.database = 'ospos'
|
|
database.default.username = 'admin'
|
|
database.default.password = 'pointofsale'
|
|
database.default.DBDriver = 'MySQLi'
|
|
database.default.DBPrefix = 'ospos_'
|
|
|
|
database.development.hostname = 'localhost'
|
|
database.development.database = 'ospos'
|
|
database.development.username = 'admin'
|
|
database.development.password = 'pointofsale'
|
|
database.development.DBDriver = 'MySQLi'
|
|
database.development.DBPrefix = 'ospos_'
|
|
|
|
database.tests.hostname = 'localhost'
|
|
database.tests.database = 'ospos'
|
|
database.tests.username = 'admin'
|
|
database.tests.password = 'pointofsale'
|
|
database.tests.DBDriver = 'MySQLi'
|
|
database.tests.DBPrefix = 'ospos_'
|
|
|
|
#--------------------------------------------------------------------
|
|
# ENCRYPTION
|
|
#--------------------------------------------------------------------
|
|
|
|
encryption.key = ''
|
|
|
|
#--------------------------------------------------------------------
|
|
# LOGGER
|
|
# - 0 = Disables logging, Error logging TURNED OFF
|
|
# - 1 = Emergency Messages - System is unusable
|
|
# - 2 = Alert Messages - Action Must Be Taken Immediately
|
|
# - 3 = Critical Messages - Application component unavailable, unexpected exception.
|
|
# - 4 = Runtime Errors - Don't need immediate action, but should be monitored.
|
|
# - 5 = Warnings - Exceptional occurrences that are not errors.
|
|
# - 6 = Notices - Normal but significant events.
|
|
# - 7 = Info - Interesting events, like user logging in, etc.
|
|
# - 8 = Debug - Detailed debug information.
|
|
# - 9 = All Messages
|
|
#--------------------------------------------------------------------
|
|
|
|
logger.threshold = 0
|
|
app.db_log_enabled = false
|
|
|
|
#--------------------------------------------------------------------
|
|
# HONEYPOT
|
|
#--------------------------------------------------------------------
|
|
|
|
honeypot.hidden = true
|
|
honeypot.label = 'Fill This Field'
|
|
honeypot.name = 'honeypot'
|
|
honeypot.template = '<label>{label}</label><input type="text" name="{name}" value="">'
|
|
honeypot.container = '<div style="display:none">{template}</div>'
|