Configuration

Published file: config/electrik.php.

Branding (app-level white-label)

'name' => env('ELECTRIK_NAME', 'Electrik'),

'branding' => [
    'logo_url' => env('ELECTRIK_LOGO_URL'),
    'logo_dark_url' => env('ELECTRIK_LOGO_DARK_URL'),
    'primary' => env('ELECTRIK_BRAND_PRIMARY'), // CSS color for --slate-primary
    'show_powered_by' => filter_var(env('ELECTRIK_SHOW_POWERED_BY', true), FILTER_VALIDATE_BOOL),
],

Per-team branding (logo + primary color) is set in Teams → Settings and overrides the app primary for that team's shell.

Auth

'auth' => [
    'home' => env('ELECTRIK_HOME', '/dashboard'),
    'registration' => env('ELECTRIK_REGISTRATION', true),
    'email_verification' => env('ELECTRIK_EMAIL_VERIFICATION', true),
    'socialite' => [
        'providers' => /* ELECTRIK_SOCIALITE_PROVIDERS, default google,github */,
    ],
    'magic_link' => [
        'enabled' => env('ELECTRIK_MAGIC_LINK', true),
        'expire_minutes' => env('ELECTRIK_MAGIC_LINK_EXPIRE', 15),
    ],
    'login_alerts' => env('ELECTRIK_LOGIN_ALERTS', true),
],

Supported Socialite keys: google, github, apple, microsoft. Apple/Microsoft need optional Composer packages — see Social login & magic link.

Operators

'operators' => [
    'emails' => /* ELECTRIK_OPERATOR_EMAILS comma list */,
],

Only listed emails can open /ops. See Operator console.

Locales

'locales' => ['en', 'es', 'fr', 'ar', 'hi'],

User Profile language wins; guests use APP_LOCALE. See Internationalization.

Teams

'teams' => [
    'roles' => ['owner', 'admin', 'member'],
    'invite_expires_days' => (int) env('ELECTRIK_INVITE_EXPIRES_DAYS', 7),
],

Permissions catalog

permissions.catalog and permissions.role_permissions define Spatie team-scoped permissions. Sync after changes:

php artisan electrik:permissions:sync

API tokens

'api_tokens' => [
    'default_expiration_days' => env('ELECTRIK_API_TOKEN_EXPIRATION_DAYS', '90'),
    'abilities' => [ '*' => 'Full access', 'read' => 'Read', /* ... */ ],
],

Billing

'billing' => [
    'driver' => env('ELECTRIK_BILLING_DRIVER', 'stripe'), // stripe only
    'subscription_name' => env('ELECTRIK_DEFAULT_SUBSCRIPTION_NAME', 'electrik'),
    'cc_required_for_free_plan' => env('ELECTRIK_CC_REQUIRED_FOR_FREE_PLAN', false),
    'require_subscription' => filter_var(env('ELECTRIK_REQUIRE_SUBSCRIPTION', false), FILTER_VALIDATE_BOOL),
    'plan_features' => [
        'default' => ['custom_roles' => false, 'max_members' => 5],
        'by_price_id' => [ /* 'price_xxx' => [...] */ ],
    ],
],

Cashier stores the subscription type in the type column (value defaults to electrik). See Billing and Plan features & seats.

Sample resources

'sample' => [
    'projects' => env('ELECTRIK_SAMPLE_PROJECTS', true),
],

When enabled (default), Electrik registers the sample Studio micro-app: /clients, /projects, and project task boards. Set ELECTRIK_SAMPLE_PROJECTS=false once you ship your own models.

Last updated . · Legal