Laravel
Despliega Laravel con MySQL o Postgres, APP_KEY, workers de queue, Horizon y el scheduler.
Paso a paso: Desplegar Laravel en DigitalOcean · Desplegar Laravel en Hetzner · Desplegar Laravel en Vultr · Desplegar Laravel en OVHcloud · Desplegar Laravel en Scaleway · Desplegar Laravel en UpCloud
- Release:
php artisan migrate --force. - Variables:
DB_HOST,DB_PORT,DB_DATABASE,DB_USERNAME,DB_PASSWORDyAPP_URLde tu.env.examplese conectan a la base de datos provisionada y a la URL de la app.APP_KEYse genera en el formatobase64:propio de Laravel. - Workers:
php artisan queue:work, ophp artisan horizoncuandolaravel/horizonestá instalado. - Octane: con
laravel/octaneencomposer.jsony sin Dockerfile, el proceso web ejecutaphp artisan octane:start --server=frankenphp --host=0.0.0.0 --port=$PORTautomáticamente. - Reverb: con
laravel/reverbencomposer.json, se agrega por ti un workerreverbque ejecutaphp artisan reverb:start.
Workers de queue y el scheduler, como procesos
queue (u horizon), reverb y un proceso scheduler son la misma imagen que web, iniciada con un comando artisan distinto — un mismo código y un mismo build, varios tipos de proceso, cada uno escalado por su cuenta.
web: php artisan octane:start --server=frankenphp --host=0.0.0.0 --port=$PORT
queue: php artisan queue:work
scheduler: php artisan schedule:work
Railyard agrega queue (u horizon cuando está instalado) automáticamente; también se ofrece un proceso scheduler que ejecuta schedule:work en cuanto routes/console.php o bootstrap/app.php programan algo. Prefiere en cambio el Cron propio de Railyard y haz que ejecute php artisan schedule:run en un intervalo fijo — ambas opciones funcionan, ya que schedule:run solo dispara las tareas que realmente están pendientes. Agrega más procesos desde la pestaña Workers, o escala lo que ya existe desde la CLI:
railyard scale my-app queue=2
Backend de queue y cache
QUEUE_CONNECTION, CACHE_STORE, SESSION_DRIVER o BROADCAST_CONNECTION definido como redis en tu .env.example (o el propio laravel/horizon) provisiona Redis e inyecta sus variables de conexión automáticamente — sin complemento que agregar a mano. La base de datos sigue la misma regla: DB_CONNECTION=pgsql o mysql en .env.example decide qué motor se provisiona.
Configuración y secretos
Cada variable que la configuración de Laravel lee con env() es una variable normal en Variables, o se define con railyard env:set my-app KEY=VALUE — nunca incrustada en la imagen, así el mismo build corre sin cambios desde staging hasta producción: paridad dev/prod, no una reconstrucción por entorno. APP_KEY se genera una sola vez en el propio formato base64: de Laravel y se cifra; las claves de terceros nunca se inventan. Apunta a una base de datos o Redis que corra como su propio servicio en el canvas con ${{redis.RAILYARD_PRIVATE_URL}} — resuelto por entorno. Consulta Variables y secretos.
Despliégalo
- Desde un repositorio: pega la URL de Git, o elígelo del selector una vez que conectes GitHub — Railyard lee
composer.jsony.env.example, completaartisan migrate, el worker de queue y la base de datos provisionada, y despliega con cada push. - Desde la CLI:
railyard create my-app https://github.com/me/my-app --addons mysql,redis, orailyard git:remote && git push railyard maindesde dentro del repositorio. - Con un clic: agrega el botón de despliegue a tu README, o publícalo en el catálogo de plantillas para que cualquiera pueda lanzarlo con sus complementos y variables ya completados.