Getting Started
Getting Started
Requirements
- PHP 8.2+, with these extensions: BCMath, Ctype, cURL, DOM, Fileinfo, Filter, Hash, Mbstring,
OpenSSL, PCRE, PDO, Session, Tokenizer, XML — the standard set Laravel 12 needs. If you’re using
the default SQLite database (see below), you’ll also need the
pdo_sqliteandsqlite3extensions specifically. - Composer 2
- Node.js 18+ and npm, to build the frontend assets (Vite + Tailwind)
- A database: SQLite is the default and requires no separate server —
composer setupworks out of the box with it. MySQL and PostgreSQL are also supported (seeconfig/database.php) if you’d rather pointDB_CONNECTIONat an existing server.
If composer setup fails partway through, it’s almost always a missing PHP extension — check the
error output for which one, install it, and re-run the command.
Local Development Setup:
- Create environment file:
cp .env.example .env - Run the all-in-one setup command:
composer setup- This installs PHP and JS dependencies, generates an app key, runs migrations, and builds frontend assets.
- Create your first user:
php artisan user:create admin@example.com "Admin User" password123 - Start the dev server:
php artisan serve
Alternative Docker Setup:
- Create environment file:
cp .env.example .env - Edit .env and set APP_KEY, APP_ENV=production, APP_DEBUG=false
- Build and start containers:
docker compose up -d --build(ordocker-composefor Docker V1) - Run migrations and create first user:
docker compose exec app php artisan migrate --forcedocker compose exec app php artisan user:create admin@example.com "Admin User" password123