Instalación
Requisitos
- PHP ^8.5
- Laravel ^13.0
Instalar el paquete
Arrel es software propietario distribuido desde un repositorio privado; hace falta una licencia válida para usarlo en producción (véase Pricing).
Como el repositorio es privado, Composer necesita saber de dónde puede descargarlo y cómo autenticarse. Añádelo a composer.json:
{
"repositories": [
{
"type": "vcs",
"url": "https://github.com/arrelphp/arrel"
}
]
}E instala el paquete:
composer require arrel/arrelAutenticación con el repositorio privado
Composer se autentica con un token de GitHub con permiso de lectura sobre el repositorio. En local, composer config --global github-oauth.github.com <token> lo guarda en ~/.composer/auth.json.
En un servidor (por ejemplo, Forge) y en CI, el token también se guarda en un auth.json, o se inyecta con la variable de entorno COMPOSER_AUTH:
COMPOSER_AUTH='{"github-oauth":{"github.com":"<token>"}}' composer installUsa un token de alcance mínimo (solo lectura del repositorio de Arrel) y con fecha de caducidad, y no lo dejes nunca dentro del repositorio de la aplicación.
El ServiceProvider se registra automáticamente vía extra.laravel.providers en composer.json (no hace falta añadirlo a mano). Al arrancar, publica:
- El archivo de configuración
config/arrel.php, que puedes publicar conphp artisan vendor:publish --tag=arrel-config. - Las rutas web y API de Arrel (
/{prefix}/{panel}/...y/arrel/api/{panel}/...). - Las traducciones del paquete, bajo el namespace
arrel::. - Un singleton de
PanelRegistry, donde registrarás tus Panels.
Publicar los assets compilados
El frontend de Arrel (Vue, precompilado) se distribuye dentro del paquete y hay que publicarlo en el directorio public/ de tu aplicación:
php artisan arrel:assetsEsto copia dist/ a public/vendor/arrel y escribe allí un archivo .hash. Cada respuesta HTML del panel (resources/views/panel.blade.php) incluye ese hash como query string (arrel.css?v=..., arrel.js?v=...), y AssetsManifest::ensureFresh() falla ruidosamente en modo debug si detecta que los assets publicados no coinciden con los del paquete instalado, para evitar servir JS obsoleto sin darte cuenta tras un composer update.
Vuelve a ejecutar php artisan arrel:assets cada vez que actualices la versión de arrel/arrel.
Verificar la instalación
Una vez publicados los assets y registrado un Panel, abre /arrel/{id-del-panel} en el navegador. Deberías ver la pantalla de inicio de sesión. Si no la ves, comprueba que sanctum.stateful contiene el dominio en el que estás trabajando.
Limpieza de uploads temporales
Los campos File/Image suben primero a un directorio temporal (arrel-temp, disco local) antes de moverse a su ubicación final cuando se guarda el formulario (véase Campos). Programa este comando para que limpie los que se quedan huérfanos:
php artisan arrel:prune-uploadsBorra cualquier archivo de arrel-temp con más de 24 horas. Un buen lugar para programarlo es el routes/console.php de tu aplicación, con el scheduler de Laravel:
Schedule::command('arrel:prune-uploads')->daily();Siguiente paso
Con el paquete instalado, el siguiente paso es configurar un Panel: decidir qué Resources, páginas y widgets viven en él, e incrustarlo en una ruta de tu aplicación.