Make config.php settings also available as environment variables (closes #118)

This commit is contained in:
Bernd Bestel 2018-12-23 16:45:16 +01:00
parent 04dacacd73
commit bdcd176f81
No known key found for this signature in database
GPG Key ID: 71BD34C0D4891300
2 changed files with 18 additions and 0 deletions

View File

@ -1,5 +1,19 @@
<?php
# Settings can also be overwritten in two ways
#
# First priority
# A .txt file with the same name as the setting in /data/settingoverrides
# the content of the file is used as the setting value
#
# Second priority
# An environment variable with the same name as the setting and prefix "GROCY_"
# so for example "GROCY_BASE_URL"
#
# Third priority
# The settings defined here below
# Either "production", "dev" or "prerelease"
Setting('MODE', 'production');

View File

@ -138,6 +138,10 @@ function Setting(string $name, $value)
{
define('GROCY_' . $name, file_get_contents($settingOverrideFile));
}
elseif (getenv('GROCY_' . $name) !== false) // An environment variable with the same name and prefix GROCY_ overwrites the given setting
{
define('GROCY_' . $name, getenv('GROCY_' . $name));
}
else
{
define('GROCY_' . $name, $value);