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é en memoria ✓
- 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é en todos los planes; persistente desde Avanza
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é, colas y sesiones database por defecto desde Laravel 11 Colas y sesiones en tu MySQL o, desde Avanza, en Redis persistente; para la caché, Redis incluido en todos los planes.
- Scheduler cron cada minuto con schedule:run Deploy+ lo deja en tu cron al publicar, con el PHP de tu versión.
- 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
El scheduler por cron, las colas al momento
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.
Parte del que propone el perfil Laravel y le añade las migraciones. Corre en la versión nueva antes de publicarla: si un comando falla, no se publica. Después, Deploy+ reinicia tus workers persistentes con el código nuevo.
- 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
- optimize
- cachea configuración, rutas, vistas y eventos de la versión nueva; los workers persistentes los reinicia Deploy+ al publicarla
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
- Cualquier VPS
- 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
- Cualquier VPS
- Las que configures
- Hostsuar
- 80 puntos de restauración incluidos
-
Colas y Horizon
- Cualquier VPS
- Sí
- Hostsuar
- Sí, en marcha desde Avanza
-
WebSockets (Reverb)
- Cualquier VPS
- Sí
- Hostsuar
- Con un servicio compatible con Pusher; te ayudamos a conectarlo
-
Octane
- Cualquier VPS
- Sí
- Hostsuar
- No: PHP lo sirve LiteSpeed
-
Soporte
- Un VPS con Forge
- El de la herramienta
- Un VPS a mano
- El tuyo
- Hostsuar
- Técnicos que trabajan con Laravel
Lo que no encaja es lo que necesita su propio servidor delante: Octane, porque aquí PHP lo sirve LiteSpeed, y Reverb, un servidor que escucha en su propio puerto, algo a lo que no damos soporte. Para el tiempo real, Laravel habla de serie con Pusher y servicios compatibles. Workers de colas y Horizon se quedan en marcha como procesos persistentes desde Avanza: administrar un servidor para eso es trabajo que no hace falta.
Dudas
Laravel en un hosting, sin letra pequeña.
¿Puedo usar colas de Laravel en un hosting?
Sí, de dos formas. Desde el plan Avanza, un queue:work u Horizon se queda en marcha como proceso persistente: procesa cada trabajo al momento y, si se cae, vuelve a arrancar solo. Avanza admite 3 procesos, Max 5 y Elástico 8. En cualquier plan, el scheduler puede lanzar cada minuto un queue:work --stop-when-empty que procesa lo pendiente y termina. Todo cuenta dentro de los recursos de tu plan.
¿Funcionan Horizon, Reverb y Octane?
Horizon, sí, desde el plan Avanza: lo dejas en marcha como proceso persistente sobre un Redis persistente, los dos desde el área de clientes. Reverb, no en el propio hosting: es un servidor que escucha en su propio puerto, y no damos soporte a programas así. Para los WebSockets conectas tu app a un servicio compatible con Pusher, como Pusher Channels o Ably, que Laravel soporta de serie, y te ayudamos a conectarlo. Octane, no: aquí PHP lo sirve LiteSpeed, y Octane necesita su propio servidor de aplicación (Swoole, RoadRunner o FrankenPHP). 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.
Guías relacionadas en nuestra documentación
- Instalar Laravel en el hosting Leer guía →
- Deploy automático desde GitHub con rollback Leer guía →
- Procesos persistentes: workers de colas y Horizon Leer guía →
- Redis persistente para colas, sesiones y Horizon Leer guía →
- WebSockets en Laravel: Reverb, Pusher y alternativas Leer guía →
- LiteSpeed Cache en Laravel Leer guía →
- Redis como caché de objetos Leer guía →
- Tareas cron en cPanel Leer guía →
- Composer en el hosting Leer guía →