Laravel · Deploy+
Hosting para Laravel, con deploy en cada push.
Deploy+v42 publicada
main · a91f3c2 · hace 3 min
- PHP 8.4 OPcache · Composer 2 ✓
- MySQL 8 tuapp_prod · 214 MB ✓
- Redis caché · sesiones · colas ✓
- Scheduler schedule:run · hace 12 s
- Colas default · 0 pendientes ✓
PHP 8.1 a 8.5
la versión que pida tu Laravel, por proyecto
Deploy+ incluido
desde GitHub, GitLab, Bitbucket o Gitea
Redis incluido
caché, sesiones y colas en memoria
Rollback en segundos
las últimas versiones siguen en el servidor
Requisitos
Lo que necesita una app Laravel, sin montar servidor.
- PHP 8.3 o superior · Laravel 12: 8.2 De la 5.4 a la 8.5, con la versión que quieras en cada proyecto.
- Extensiones ctype, curl, dom, fileinfo, filter, hash, mbstring, openssl, pcre, pdo, session, tokenizer, xml Disponibles en el selector de PHP, junto a intl, gd, redis o imagick.
- Dependencias Composer 2 En la terminal de tu cuenta y en el script de Deploy+.
- Assets Node y npm para Vite Node por NVM: Deploy+ lo instala antes si tu script lo usa.
- Base de datos MySQL 8, PostgreSQL o SQLite MySQL 8, y Deploy+ crea la base y escribe el .env al conectar el repositorio.
- Caché y colas Redis Incluido en todos los planes, sin coste.
- Scheduler cron cada minuto con schedule:run Cron por minuto desde cPanel.
- Despliegue Git y SSH Deploy+ con webhook firmado; SSH y Git en tu cuenta, al activarlo.
Requisitos según la documentación de Laravel.
Deploy+
El último tramo, resuelto.
Despliegue
Un push, una versión nueva, cero segundos de corte
Deploy #42 · main
perfil Laravel› git clone a91f3c2 1,8 s
› composer install --no-dev --optimize-autoloader 12,4 s
› npm ci && npm run build vite 21,0 s
› php artisan migrate --force 0,9 s
› php artisan optimize config · rutas · vistas 1,2 s
El perfil
Sabe dónde van public, storage y el .env
.env + storage
compartidos entre versiones; el .env lo editas desde el panel
Compartido entre versiones
~/deploy/tuapp/shared/ → releases/20260905-1012/
.enveditable
storage/del perfil
public/uploads/tuya
Scheduler y colas
Una línea de cron para el scheduler y las colas
Una línea de cron
cada minuto* * * * * php ~/tuapp/current/artisan schedule:run
routes/console.php
- queue:work --stop-when-empty cada minuto
- emails:resumen-diario 08:00
- model:prune 02:00
- siguiente ejecución
Rollback
Volver atrás tarda segundos
5 versiones
guardadas por defecto; tú decides cuántas
Historial de despliegues
5 versiones guardadasayer 18:30 · e07b9d4
la versión sigue en el servidor
El script
El script que recomendamos para Laravel.
Es el punto de partida del perfil Laravel. Corre en la versión nueva antes de publicarla: si un comando falla, no se publica.
- npm ci && npm run build
- solo si tu app compila assets con Vite; Deploy+ instala Node antes
- migrate --force
- las migraciones corren antes de publicar, contra la base de producción
- queue:restart
- los trabajadores que estén en marcha terminan su trabajo y recogen el código nuevo
Forge, VPS o hosting
¿Necesitas un servidor para tu Laravel?
-
El servidor
- Un VPS con Forge
- Lo administras tú; Forge lo configura
- Un VPS a mano
- Lo montas y lo administras tú
- Hostsuar
- Lo administramos nosotros
-
Parches y seguridad
- Un VPS con Forge
- A tu cargo
- Un VPS a mano
- A tu cargo
- Hostsuar
- A nuestro cargo, con antivirus y aislamiento
-
Despliegue
- Un VPS con Forge
- Forge, con tu script
- Un VPS a mano
- Tu propio script
- Hostsuar
- Deploy+ incluido, con rollback
-
Copias
- Un VPS con Forge
- Las que configures
- Un VPS a mano
- Las que configures
- Hostsuar
- 80 puntos de restauración incluidos
-
Horizon, Octane, Reverb
- Un VPS con Forge
- Sí
- Un VPS a mano
- Sí
- Hostsuar
- No: las colas, desde el scheduler
-
Soporte
- Un VPS con Forge
- El de la herramienta
- Un VPS a mano
- El tuyo
- Hostsuar
- Técnicos que trabajan con Laravel
Si tu app vive de Horizon, Octane o websockets con Reverb, te conviene un servidor propio. Para el resto, que es casi todo, administrar un servidor es trabajo que no hace falta.
Dudas
Laravel en un hosting, sin letra pequeña.
¿Puedo usar colas de Laravel en un hosting?
Sí. Con la conexión database o redis, el scheduler lanza cada minuto un queue:work --stop-when-empty que procesa lo pendiente y termina. Es lo que encaja en un hosting, donde no hay procesos permanentes. Si tus trabajos no pueden esperar ese minuto o tu cola mueve mucho volumen, te conviene un servidor propio.
¿Funcionan Horizon, Octane o Reverb?
No. Los tres necesitan un proceso que esté siempre en marcha, y eso no es lo que ofrece un hosting compartido. Las colas sin Horizon, Livewire, Inertia, Filament, Sanctum, Socialite o Scout funcionan sin nada especial.
¿Qué versión de PHP necesito?
Laravel 13 pide PHP 8.3 o superior y Laravel 12, PHP 8.2. Tienes de la 5.4 a la 8.5 y la eliges por dominio o por carpeta, así que una app antigua y una nueva conviven en la misma cuenta. En una web publicada con Deploy+, la versión se fija en el .htaccess de tu repositorio, para que viaje con el código en cada despliegue.
¿Puedo tener un entorno de pruebas?
Sí. Conecta el mismo repositorio dos veces: la rama main al dominio y, por ejemplo, develop a staging.tuapp.com, cada una con su .env y su base de datos. Cada push a una rama despliega solo en su sitio.
¿Tengo SSH y Composer?
Sí. Activas el acceso SSH desde las opciones del servicio en el área de clientes, y además tienes la terminal integrada de cPanel, con Git y Composer. Y desde Deploy+ puedes lanzar un comando de artisan sobre la versión publicada sin abrir ninguna terminal.
¿Y si vengo de Forge o de otro hosting?
Conectas el mismo repositorio y Deploy+ lo despliega igual; lo que hay que traer es la base de datos y lo que guardes en storage. Si vienes de otro proveedor, te ayudamos con el traslado.