With the installation of Voyager you will find a new configuration file located at
config/voyager.php. In this file you can find various options to change the configuration of your Voyager installation.
Below we will take a deep dive into the configuration file and give a detailed description of each configuration set.
'user' => [
'add_default_role_on_register' => true,
'default_role' => 'user',
'admin_permission' => 'browse_admin',
'namespace' => App\User::class,
'redirect' => '/admin'
add_default_role_on_register: Specify whether you would like to add the default role to any new user that is created. default_role: You can also specify what the default_role is of the user. admin_permission: The permission needed to view the admin dashboard. namespace: The namespace of your apps User Class. redirect: Redirect path after the user logged in.
'controllers' => [
'namespace' => 'TCG\\Voyager\\Http\\Controllers',
You can specify the default
controllernamespace of Voyager. If you ever wish to override any of the core functionality of Voyager you can do so by duplicating the Voyager controllers and specifying the location of your custom controllers.
'models' => [
//'namespace' => 'App\\',
You can specify the namespace or location of your models. This is used when creating the Models from the database section of Voyager. If not defined the default application namespace will be used.
'assets_path' => '/vendor/tcg/voyager/assets',
You may wish to specify a different asset path. If your site lives in a subfolder you may need to include that directory to the beginning of the path. This may also be used in case you wish to duplicate the published assets and customize your own.
'storage' => [
'disk' => 'public',
By default Voyager is going to use the
publiclocal storage. You can additionally use any driver inside of your
config/filesystems.php. This means you can use S3, Google Cloud Storage, or any other file storage system you would like.
'database' => [
'tables' => [
'hidden' => ['migrations', 'data_rows', 'data_types', 'menu_items', 'password_resets', 'permission_role', 'personal_access_tokens', 'settings'],
'autoload_migrations' => true,
You may wish to hide some database tables in the Voyager database section. In the database config you can choose which tables would like to hide.
autoload_migrationsallows you to exclude Voyagers migration-files from loading when running
php artisan migrate.
'multilingual' => [
'enabled' => false,
'default' => 'en',
'locales' => [
You can specify whether or not you want to enable mutliple languages. You can then specify your default language and all the support languages (locales)
'dashboard' => [
'navbar_items' => [
'Profile' => [
'route' => 'voyager.profile',
'classes' => 'class-full-of-rum',
'icon_class' => 'voyager-person',
'Home' => [
'route' => '/',
'icon_class' => 'voyager-home',
'target_blank' => true,
'Logout' => [
'route' => 'voyager.logout',
'icon_class' => 'voyager-power',
'widgets' => [
In the dashboard config you can add navbar_items, make the data_tables responsive, and manage your dashboard widgets.
navbar_items Include a new route in the main user navbar dropdown by including a 'route', 'icon_class', and 'target_blank'.
data_tables If you set 'responsive' to true the datatables will be responsive.
widgets Here you can manage the widgets that live on your dashboard. You can take a look at an example widget class by viewing the current widgets inside of
'primary_color' => '#22A7F0',
The default primary color for the Voyager admin dashboard is a light blue color. You can change that primary color by changing the value of this config.
'show_dev_tips' => true,
In the Voyager admin there are developer tips or notifications that will show you how to reference certain values from Voyager. You can choose to hide these notifications by setting this configuration value to false.
'additional_css' => [
You can add your own custom stylesheets that will be included in the Voyager admin dashboard. This means you could technically create a whole new theme for Voyager by adding your own custom stylesheet.
'additional_js' => [
'googlemaps' => [
'key' => env('GOOGLE_MAPS_KEY', ''),
'center' => [
'lat' => env('GOOGLE_MAPS_DEFAULT_CENTER_LAT', '32.715738'),
'lng' => env('GOOGLE_MAPS_DEFAULT_CENTER_LNG', '-117.161084'),
'zoom' => env('GOOGLE_MAPS_DEFAULT_ZOOM', 11),
There is a new data type called coordinates that allow you to add a google map as a datatype. The user can then drag and drop a pin in the Google Maps to save a longitude and latitude value in the database.
In this config you can set the default Google Maps Keys and center location. This can also be added to your .env file.
To allow/disallow mimetypes to be uploaded through the media-manager you can define an array
'allowed_mimetypes' => [
The user can only upload files with the given mimetypes. If you want to allow all types to be uploaded you can use the following:
'allowed_mimetypes' => '*',