Monolithic docker container to run your Laravel apps: MariaDB/Redis/Nginx/PHP7.0-Fpm
Larawell uses phusion/baseimage and shares same convictions about running multiple logical services in a single container.
- MariaDB
- Redis
- Nginx
- PHP7.0-Fpm
- NodeJs
- npm
- schedule:run
- queue:work
- composer
Both schedule:run (cron) and queue:work (service) are included and running properly by default. There is no other docker container for Laravel that offers working cron or queue, so if you plan to run full featured Laravel app this should be your container of choice.
Note: Larawell uses queue:work --daemon
instead of queue:listen
as later was causing high CPU spikes. docker stats
was reporting 10% CPU utlizaition on queue:listen
versus hovering around 0.5% with queue:work --daemon
.
Container is bundled with 7 helper bash scripts. Few of them are required for correct functioning and some can be enabled on user discretion.
- 01_mariadb_initialize.sh -
- 02_mariadb_secure.sh -
- 03_mariadb_prepare_database.sh -
- 04_laravel_install.sh -
- 05_laravel_migrate.sh -
- 06_laravel_seed.sh -
- 07_mariadb_import_dump.sh -
To build, run and daemonize you can docker-compose up -d --build
.
Have a look inside docker-compose.yml
you can enable redis and queue there, disabled by default.
To run artisan commands from host you can use partisan
tool inside larawell root.