ArtisanPack UI
DocsCoreEnvironment variables

Environment variables

Core v1.3.1

ArtisanPack UI Core reads a handful of environment variables. None are required — every variable has a sensible default. Set them in your application's...

ArtisanPack UI Core reads a handful of environment variables. None are required — every variable has a sensible default. Set them in your application's .env to override the defaults per environment.

ARTISANPACK_LOG_CHANNEL

Type string
Default null ( falls back to Laravel's default log channel )
Consumed by LoggerFactory, Logger, every ArtisanPackLog::make() call
Config key artisanpack.core.logging.channel

Name of the Laravel log channel that every ArtisanPack UI package writes through. The channel must exist in your application's config/logging.php. Setting it routes informational, warning, error, and audit entries from every sibling package to the same channel so aggregated streams are easy to filter.

ARTISANPACK_AUDIT_ENABLED

Type bool
Default true
Consumed by Logger::audit() calls across every package
Config key artisanpack.core.logging.audit.enabled

Whether $log->audit() calls actually persist an entry and dispatch an AuditLogCreated event. Set to false to silently drop audit calls — useful in environments that should not record audit log noise ( local development, integration tests ).

The default config file currently hard-codes true; add the env binding if you want per-environment control:

'audit' => [
    'enabled' => env( 'ARTISANPACK_AUDIT_ENABLED', true ),
],

ARTISANPACK_MULTI_TENANT_ENABLED

Type bool
Default false
Consumed by SiteContext, and through it every package that scopes records per site
Config key artisanpack.core.multi_tenant.enabled

Whether site resolution is switched on. Left at false, an unconfigured application stays single-tenant and every package leaves its queries unscoped. Set it to true only once the resolvers list matches how your application determines the current site — see Site resolution.

Core merges the multi_tenant defaults in the service provider rather than relying on the published config, so this variable takes effect whether or not the application has run vendor:publish --tag=artisanpack-config. Without that, an operator could set it, see nothing happen, and run a multi-site install with every query unscoped.

Note that a site pinned explicitly through ArtisanPackSite::setSiteId() or ArtisanPackSite::forSite() applies even while this is false, because pinning is an explicit instruction from the calling code.

Other ArtisanPack UI packages

Sibling packages read their own environment variables under their own section of config/artisanpack.php ( e.g. artisanpack.security.*, artisanpack.media-library.* ). Refer to the respective package's documentation for their full env var inventory.

Stay in the Loop

Monthly tips, tutorials and package updates — plus a free Quick Start cheat sheet.

Subscribe
Edit this page on GitHub