Voyager is super easy to install. After creating your new Laravel application you can include the Voyager package with the following command:

composer require tcg/voyager

Next make sure to create a new database and add your database credentials to your .env file, you will also want to add your application URL in the APP_URL variable:


Finally, we can install Voyager. You can choose to install Voyager with dummy data or without the dummy data. The dummy data will include 1 admin account (if no users already exist), 1 demo page, 4 demo posts, 2 categories and 7 settings.

To install Voyager without dummy data simply run

php artisan voyager:install

If you prefer installing it with the dummy data run the following command:

php artisan voyager:install --with-dummy

Specified key was too long error If you see this error message you have an outdated version of MySQL, use the following solution:

And we're all good to go!

Start up a local development server with php artisan serve And, visit the URL http://localhost:8000/admin in your browser.

If you installed with the dummy data, a user has been created for you with the following login credentials:

email: password: password

Quick note A dummy user is only created if there are no current users in your database.

If you did not go with the dummy user, you may wish to assign admin privileges to an existing user. This can easily be done by running this command:

php artisan voyager:admin

If you wish to create a new admin user you can pass the --create flag, like so:

php artisan voyager:admin --create

And you will be prompted for the users name and password.


This section is meant for users who are installing Voyager on an already existing Laravel installation or for users who want to perform a manual install. If this is not the case, you should go back to the installation documentation or skip this section.

The first thing you should do is publish the assets that come with Voyager. You can do that by running the following commands:

php artisan vendor:publish --provider="TCG\Voyager\VoyagerServiceProvider"
php artisan vendor:publish --provider="Intervention\Image\ImageServiceProviderLaravelRecent"

Next, call php artisan migrate to migrate all Voyager table.

If you want to change migrations, for example to use a different table for users, don't migrate. Instead copy Voyagers migrations to database/migrations, make your changes, turn off the config option database.autoload_migrations and then migrate.

Now, open your User-Model (usually app/User.php) and make the class extend \TCG\Voyager\Models\User instead of Authenticatable.


class User extends \TCG\Voyager\Models\User
    // ...

The next step is to add Voyagers routes to your routes/web.php file:


Route::group(['prefix' => 'admin'], function () {

Now run php artisan db:seed --class=VoyagerDatabaseSeeder to seed some necessary data to your database, php artisan hook:setup to install the hooks system, and php artisan storage:link to create the storage symlink to your public folder.

After that, run composer dump-autoload to finish your installation!

Last updated