Ancienne page Laravel avant la version 12, mais avec plein de packages
Plusieurs façons d'installer Laravel:
Ou “à la mano” :
composer create-project "laravel/laravel" mon-projet cd mon-projet composer update npm install
Pour continuer avec sail pour dockeriser les services web, db, redis,…
composer require laravel/sail --dev ./artisan sail:install ./artisan sail:publish ln -s ./vendor/bin/sail ./sail
sail:install demande quels services activer, il créé le docker-compose correspondants.sail:publish copie les configurations docker pour les customiser au besoin
Adapter le .env pour sélectionner les services db, session, queue, cache ainsi que le mapping de ports pour docker pour éviter les conflits: APP_PORT, FORWARD_DB_PORT
./sail up -d
## Install with sail
```bash
# curl -s "https://laravel.build/<project name>?with=mariadb,redis,selenium,mailpit&devcontainer" | bash
curl -s "https://laravel.build/mon-projet-app?with=mariadb,redis" | bash
latest: Pulling from laravelsail/php84-composer
Digest: sha256:a2716e93e577c80bca7551126056446c1e06cb141af652ee6932537158108400
Status: Image is up to date for laravelsail/php84-composer:latest
WARN TTY mode requires /dev/tty to be read/writable.
Creating a "laravel/laravel" project at "./financial-stocks-market-app"
Installing laravel/laravel (v12.9.0)
...
```
## edit .env
pour éviter conflit avec serveurs locaux, droits utilisateurs...
WWWGROUP=1001
WWWUSER=1001
APP_PORT=3000
FORWARD_DB_PORT=3308
DB_DATABASE=financial-stocks-market
DB_USERNAME=root
DB_PASSWORD=root
SESSION_DRIVER=redis
CACHE_STORE=redis
## util
ln -s vendor/bin/sail ./sail
## Config docker
Pour modifier la config docker
```
./sail up -d
./sail artisan sail:publish
./sail down
```
## Activer supervisord dans docker/8.4/supervisord.conf
[program:horizon]
command=/usr/bin/php /var/www/html/artisan horizon
autostart=true
autorestart=true
user=sail
redirect_stderr=true
stdout_logfile=/var/www/html/storage/logs/horizon.log
stopwaitsecs=360
## Reconstruire les containers dockers et relancer sail
./sail build
./sail up -d
## Horizon to view queue workers
./sail composer require laravel/horizon
./sail artisan horizon:install
## debugbar
./sail composer require barryvdh/laravel-debugbar --dev
## filament
./sail composer require filament/filament:"^4.0" --update-with-all-dependencies
./sail artisan filament:install --panels
## create database tables
./sail artisan migrate:fresh
## filamanent user
./sail artisan make:filament-user --name="SuperMan" --email="superman@internet.eu" --password="secret123"
## javascript stuff
./sail npm install
./sail npm run build
## Yeah!
- http://localhost:3000/
- http://localhost:3000/admin