Skip to content
  • Jonathon Reinhart's avatar
    e59ec8b2
    Run Laravel schedule in docker image using supervisord (#6606) · e59ec8b2
    Jonathon Reinhart authored
    * docker: Rename /entrypoint.sh to /startup.sh
    
    This script is not configured as the docker image ENTRYPOINT, thus it is
    misleading to name it so.
    
    * docker: Terminate supervisord if a process enters the FATAL state
    
    By terminating PID 1, this will also terminate the Docker container.
    
    * docker: Use supervisord to start up apache and cron
    
    Note that this uses `apache2ctl -DFOREGROUND` rather than manually
    sourcing /etc/apache2/envvars and running apache2, as recommended at
    https://advancedweb.hu/2018/07/03/supervisor_docker/.
    
    * docker: Add artisan schedule:run to crontab
    
    This also switches to executing /var/www/html/artisan directly.
    
    * docker: Run artisan schedule:run directly from supervisor
    
    This has the following benefits over using cron:
    - Cron doesn't need to be installed
    - Docker-provided environment variables are preserved
    - It's easy and explicit to run as the docker user
    e59ec8b2
    Run Laravel schedule in docker image using supervisord (#6606)
    Jonathon Reinhart authored
    * docker: Rename /entrypoint.sh to /startup.sh
    
    This script is not configured as the docker image ENTRYPOINT, thus it is
    misleading to name it so.
    
    * docker: Terminate supervisord if a process enters the FATAL state
    
    By terminating PID 1, this will also terminate the Docker container.
    
    * docker: Use supervisord to start up apache and cron
    
    Note that this uses `apache2ctl -DFOREGROUND` rather than manually
    sourcing /etc/apache2/envvars and running apache2, as recommended at
    https://advancedweb.hu/2018/07/03/supervisor_docker/.
    
    * docker: Add artisan schedule:run to crontab
    
    This also switches to executing /var/www/html/artisan directly.
    
    * docker: Run artisan schedule:run directly from supervisor
    
    This has the following benefits over using cron:
    - Cron doesn't need to be installed
    - Docker-provided environment variables are preserved
    - It's easy and explicit to run as the docker user
Loading