Skip to content

App configuration ​

Business settings that are not secrets live in the configurations table, not in .env. The seeder and migrations create them with defaults. They are cached; saving a row through the model clears the cache.

Admins with manage-configuration change them at /admin/configuration. App\Services\Settings\AppConfiguration lists the fields that page can edit and validates them.

To change one from the command line, save it through the model so the cached copy is cleared:

bash
php artisan tinker --execute="App\Models\Configuration::where('key', 'app_currency')->first()->update(['value' => 'NGN']);"

If you edit the table directly, run php artisan cache:forget configuration::build afterwards.

Settings that matter for going live ​

KeyDefaultWhat it does
app_nameAPP_NAMEName shown in the app.
app_emailsupport@toneflix.com.ngSupport address.
app_currencyNGNThe currency of every price, balance and payout. It also decides which country Paystack pays out in; see Payment providers.
creator_share85Percent of each sale and tip that goes to the creator.
min_tip_amount100Smallest tip, in the app currency.
min_payout_amount1000Smallest withdrawal, in the app currency.
payout_hold_days7Days before earnings can be withdrawn.
payout_auto_approvefalseSend withdrawals without an admin approving each one.
verify_emailfalseAsk new users to confirm their email.
verify_phonefalseAsk new users to confirm their phone.
reference_prefixTFC-Prefix of payment references.
allowed_audio_exts.wav, .flac, .aiff, ...Audio file types people can upload.

Settings for realtime, sounds, AI and payout providers are also stored here, but each has its own admin page: /admin/realtime, /admin/sounds, /admin/ai and Payouts > Providers.

premium_* and free_* keys are left over from before plans. The plans migration copied them into the plans table, and they are no longer read.