# Installation
# Requirements
- PHP ^8.0
- Laravel 8|9
- MySQL 5.7+ / PostgreSQL 9.2+
- exif PHP extension (on most systems it will be installed by default)
- intl PHP extension (on most systems it will be installed by default)
- GD PHP extension (used for image manipulation)
# Install Lunar
# Composer Require Package
composer require lunarphp/lunar
# Add the LunarUser
Trait
Some parts of the core rely on the User
model having certain relationships set up. We've bundled these into a trait which you must add to any models that represent users in your database.
use Lunar\Base\Traits\LunarUser;
// ...
class User extends Authenticatable
{
use LunarUser;
// ...
}
# Add Scout engine to ENV
Add the following line to your .env
file.
SCOUT_DRIVER=database_index
# Run the Artisan Installer
php artisan lunar:install
This will take you through a set of questions to configure your Lunar install. The process includes...
- Creating a default admin user (if required)
- Seeding initial data
- Inviting you to star our repo on GitHub ⭐
Success 🎉
You are now installed! You can access the admin hub at http://<yoursite>/hub
# Advanced Installation Options
Before you run the Lunar installer command, you may wish to customise some of the set-up.
# Publish Configuration
php artisan vendor:publish --tag=lunar
# Table Prefix
Lunar uses table prefixes to avoid conflicts with your app's tables. You can change this in the configuration.
# User ID Field Type
Lunar assumes your User ID field is a "BIGINT". If you are using an "INT" or "UUID", you will want to update the configuration in config/lunar/database.php
to set the correct field type before running the migrations.
# Publish Migrations
You can optionally publish Lunar's migrations so they're added to your Laravel app.
php artisan vendor:publish --tag=lunar.migrations