mirror of
https://github.com/InvoiceShelf/InvoiceShelf.git
synced 2026-08-03 22:52:13 +00:00
fix(config): make the application timezone configurable (#703)
Fixes InvoiceShelf/docker#64 — recurring invoices and scheduled tasks running on the wrong timezone. Two bugs compounded so that no supported value had any effect: config/app.php had no timezone key at all, so Laravel's own fallback won — and that fallback is a literal 'UTC' string, not an env() lookup (vendor/laravel/framework/config/app.php). APP_TIMEZONE has therefore been inert since the config was slimmed, despite being shipped in .env.example. inject.sh wrote a bare TIMEZONE key into .env, which nothing reads, so setting the documented container variable also did nothing. It now writes APP_TIMEZONE, and accepts either name so existing compose files keep working without edits. Verified against a built image: TIMEZONE=Europe/Berlin now yields APP_TIMEZONE=Europe/Berlin in .env and config('app.timezone') == Europe/Berlin, where before both spellings left it on UTC.
This commit is contained in:
committed by
GitHub
parent
ae035498c6
commit
3b2aa1ca2e
@@ -4,6 +4,20 @@ use Illuminate\Support\Facades\Facade;
|
||||
|
||||
return [
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Application Timezone
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| The default timezone for date and date-time functions. Laravel's own
|
||||
| fallback is the literal string 'UTC' rather than an env() lookup, so
|
||||
| without this key APP_TIMEZONE has no effect at all and scheduled tasks
|
||||
| and recurring invoices always run on UTC.
|
||||
|
|
||||
*/
|
||||
|
||||
'timezone' => env('APP_TIMEZONE', 'UTC'),
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Class Aliases
|
||||
|
||||
@@ -48,8 +48,13 @@ elif [ "$DB_PASSWORD_FILE" != '' ]; then
|
||||
value=$(<$DB_PASSWORD_FILE)
|
||||
replace_or_insert "DB_PASSWORD" "$value"
|
||||
fi
|
||||
if [ "$TIMEZONE" != '' ]; then
|
||||
replace_or_insert "TIMEZONE" "$TIMEZONE"
|
||||
# Laravel reads APP_TIMEZONE. This previously wrote a bare TIMEZONE key, which
|
||||
# nothing consumed, so setting the variable silently did nothing. Accept both
|
||||
# names so existing compose files keep working.
|
||||
if [ "$APP_TIMEZONE" != '' ]; then
|
||||
replace_or_insert "APP_TIMEZONE" "$APP_TIMEZONE"
|
||||
elif [ "$TIMEZONE" != '' ]; then
|
||||
replace_or_insert "APP_TIMEZONE" "$TIMEZONE"
|
||||
fi
|
||||
if [ "$CACHE_STORE" != '' ]; then
|
||||
replace_or_insert "CACHE_STORE" "$CACHE_STORE"
|
||||
|
||||
Reference in New Issue
Block a user