Build nginx+php-fpm in one docker image, with predifined nginx config for Drupal, Laravel etc.
### quick drupal running.
docker run -d -p 8080:80 -v /path-to-your-drupal-code:/var/www/html -e APP=drupal sparkpos/docker-nginx-php:7.4-alpine
### quick drupal running.
docker run -d -p 8080:80 -v /path-to-your-drupal-code:/var/www/html -e APP=drupal -e DRUPAL_WEB_ROOT=web sparkpos/docker-nginx-php:7.4-alpine
### quick laravel running.
docker run -d -p 8080:80 -v /path-to-your-laravel-code:/var/www/html -e APP=laravel sparkpos/docker-nginx-php:7.4-alpine
Name | Description |
---|---|
APP | the type of app, current allowed value: drupal, laravel |
DRUPAL_WEB_ROOT | for drupal project that initialized via compose, the code is located in "web". using this flag to indicate. |
HTTP_HEADER_X_FRAME_OPTIONS | X-Frame-Options, default value: SAMEORIGIN; see here |
HTTP_HEADER_X_CONTENT_SECURITY_POLICY | Content-Security-Policy, default value: "default-src 'self';";see here |
MAX_FILE_UPLOAD_SIZE | Modify the upload file size, this will change both the nginx & php config. default value: 32M |
Name | Desciption | Default Value |
---|---|---|
NGINX_WORKER_PROCESSES | nginx worker_processes, allowed value: auto, 1, 2, 3 ...|auto | |
PHP_MEM_LIMIT | The php memory limit in php.ini. | 1024M |
PHP_FPM_PM | modify the php-fpm processing type, allowed values: static, ondemand, dynamic | dynamic |
PHP_FPM_PM_MAX_CHILDREN | modify the pm.max_children for php-fpm config. | 30 |
PHP_FPM_PM_PROCESS_IDLE_TIMEOUT | modify the pm.process_idle_timeout. this is availiable when pm = ondemand | 10s |
PHP_FPM_PM_START_SERVERS | modify the pm.start_servers. this is availiable when pm = dynamic | 10 |
PHP_FPM_PM_MIN_SPARE_SERVERS | modify the pm.min_spare_servers. this is availiable when pm = dynamic | 5 |
PHP_FPM_PM_MAX_SPARE_SERVERS | modify the pm.max_spare_servers. this is availiable when pm = dynamic | 10 |
PHP_FPM_STATUS_ENABLE | enable the fpm status path or not. the path is /status | |
TIMEOUT | modify the nginx.conf:proxy_read_timeout and php.ini:max_execution_time | 30 |
- provide default drupal cron, run daily.
- for custom cron command, using docker volumes for different perpose
- check here for more details.
/etc/periodic/min
/etc/periodic/15min
/etc/periodic/hourly
/etc/periodic/daily
/etc/periodic/weekly
/etc/periodic/monthly