Guía

Producción y despliegue

Prepara los valores de entorno, deja que Lemonade use su config cache de producción y despliega solo los artefactos que el runtime necesita.

El modo producción empieza en el entorno

El comportamiento de producción depende principalmente de APP_ENV, APP_DEBUG y valores de aplicación como APP_BASE_URL. development y testing cargan configuración directamente desde las fuentes. production, prod y otros entornos no orientados al desarrollo se comportan como runtimes de producción y pueden usar la config cache compilada.

example.php
APP_ENV=production
APP_DEBUG=0
APP_BASE_URL=https://example.com

Cómo funciona la config cache compilada

Los archivos YAML y los valores de entorno resueltos siguen siendo la fuente de verdad. En modo producción, ConfigLoader primero intenta ApplicationConfigCache::loadIfFresh(). Si la cache no existe, está desactualizada o ha cambiado una fuente monitorizada, el framework vuelve a cargar la configuración y escribe una cache nueva automáticamente. Actualmente no hacen falta comandos separados config:cache ni config:clear.

example.php
production HTTP request or CLI command
-> ConfigLoader::loadApplication(...)
-> ApplicationConfigCache::loadIfFresh(...)
-> on cache miss: load source config and write a fresh compiled cache

Directorios de runtime con escritura

Una aplicación desplegada necesita poder escribir en storage/ para la config cache compilada, logs, sesiones y uploads cuando esas funciones están activas. Mantén los archivos generados bajo storage/, no los incluyas en commits y no los trates como fuente de verdad.

example.php
storage/cache/framework/config/
storage/logs/
storage/sessions/
storage/uploads/

Checklist práctico de despliegue

  • Antes del despliegue: prepara valores de entorno y secrets, despliega la configuración YAML y genera un autoloader de Composer optimizado.
  • Durante el despliegue: publica el código y verifica los directorios escribibles bajo storage/.
  • Después del despliegue: deja que el primer request HTTP de producción o comando CLI cree la config cache, verifica el logging y ejecuta workers vendor/bin/lemonade o comandos programados solo si la aplicación realmente los usa.
  • Consulta Infraestructura para el storage de runtime y Errores y depuración para el diagnóstico.
example.php
composer install --no-dev --optimize-autoloader
vendor/bin/lemonade about

# Optional when the app uses queue workers
vendor/bin/lemonade queue:install
vendor/bin/lemonade queue:work default database