Custom Installation
These instructions are for if you want to create your own Laravel app instead of use the example app.
Option A: With Laravel Sail (easier)
If you don't want to install a full web stack on your host, you can just install Docker Desktop and then run these commands to create a containerized app using Laravel Sail:
curl -s "https://laravel.build/tollerus-app?with=mariadb" | bash
cd tollerus-app
./vendor/bin/sail up -d
./vendor/bin/sail composer require laravel/jetstream petermarkley/tollerus
./vendor/bin/sail artisan jetstream:install livewire
./vendor/bin/sail artisan tollerus:install
./vendor/bin/sail npm install
./vendor/bin/sail npm run build
./vendor/bin/sail artisan migrate --seed
Option B: On Host Device
If you are managing your host device directly, follow the instructions here:
laravel new example-app
cd example-app
You'll probably want user authentication, so choose one of the Laravel starter kits and it will build that for you. Livewire is recommended with Tollerus, but any one should work.
Make sure to edit the .env file as needed, for example to give Laravel the proper database access.
Then:
composer require petermarkley/tollerus
php artisan tollerus:install
php artisan migrate --seed
TIP
Before you run artisan migrate, take a look inside config/tollerus.php for any options that you want to change--especially database options that may be difficult to change later on!
All done!
You can now start your web server and visit /tollerus/admin in your host app (or whatever your admin_route_prefix config key is set to), and start conlanging!
If you used a fresh install and ran migrate --seed then you can log in with:
- Email
test@example.com - Password
password
Troubleshooting
Tollerus assumes you want only logged-in users to access admin pages. If you get a Route [login] not defined error, that means there's no login page, and therefore no way for a user to log in.
(If you hit a Base table or view not found: 1146 Table 'sessions' doesn't exist error, that means you haven't run a migration and there's no database table for Laravel to even check if the current user is logged in or not.)
Option A ✅ recommended
Install one of Laravel's starter kits to create a user system:
composer require laravel/jetstream
php artisan jetstream:install livewire
npm install
npm run build
php artisan migrate --seed
Or if your app is inside a Laravel Sail container:
./vendor/bin/sail composer require laravel/jetstream
./vendor/bin/sail artisan jetstream:install livewire
./vendor/bin/sail npm install
./vendor/bin/sail npm run build
./vendor/bin/sail artisan migrate --seed
Option B ⚠️ not recommended
If you don't mind your admin interface being exposed to unauthenticated users, you can find this config key in config/tollerus.php:
'admin_middleware' => ['web','auth'],
and remove the auth middleware:
'admin_middleware' => ['web'],
CAUTION
Removing auth from admin routes is not recommended in a production environment or anywhere that's accessible to the open web.