diff --git a/README.md b/README.md index bbedce7..c2e4fc6 100644 --- a/README.md +++ b/README.md @@ -18,4 +18,106 @@ Docker image for a php-fpm container crafted to run Laravel or any php based app * BCMath PHP Extension * Memcached * Laravel Cron Job +* Laravel Schedule * Laravel Envoy +* Supervisord + +## Simple docker-compose usage: + +```yml +version: '3' +services: + php-fpm: + image: jkaninda/laravel-php-fpm: or latest + container_name: php-fpm + restart: unless-stopped + volumes: + #Project root + - ./:/var/www/ + networks: + - default #if you're using networks between containers + +``` +## Laravel `artisan` command usage: +### Open php-fpm +```bash +docker-compose exec php-fpm /bin/bash + +``` + +### Laravel migration +```bash +php atisan migrate + +``` +## Example Laravel-php-fpm with nginx: +```yml +version: '3' +services: + php-fpm: + image: jkaninda/laravel-php-fpm: or latest + container_name: php-fpm + restart: unless-stopped + volumes: + #Project root + - ./:/var/www/ + networks: + - default #if you're using networks between containers + #Nginx server + nginx-server: + image: nginx:alpine + container_name: nginx-server + restart: unless-stopped + ports: + - 80:80 + - 443:443 + volumes: + - ./:/var/www + - nginx/conf.d/:/etc/nginx/conf.d/ + networks: + - default + +``` +## Simple Nginx config file content + +```conf + +server { + listen 80; + index index.php index.html; + error_log /var/log/nginx/error.log; + access_log /var/log/nginx/access.log; + ##Root directory + root /var/www/public; + location ~ \.php$ { + try_files $uri =404; + fastcgi_split_path_info ^(.+\.php)(/.+)$; + ## PHP FPM ( php-fpm:9000 ) + fastcgi_pass php-fpm:9000; + fastcgi_index index.php; + include fastcgi_params; + fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; + fastcgi_param PATH_INFO $fastcgi_path_info; + + } + client_max_body_size 15M; + server_tokens off; + + # Hide PHP headers + fastcgi_hide_header X-Powered-By; + fastcgi_hide_header X-CF-Powered-By; + fastcgi_hide_header X-Runtime; + + location / { + try_files $uri $uri/ /index.php?$query_string; + gzip_static on; + } +} + +``` +## Docker run +```bash + docker-compose up -d + +``` + diff --git a/worker/supervisord.conf b/worker/supervisord.conf index 0dfa81a..73f153e 100644 --- a/worker/supervisord.conf +++ b/worker/supervisord.conf @@ -1,5 +1,6 @@ [supervisord] nodaemon=true +user=root [program:php-fpm] command=/usr/local/sbin/php-fpm @@ -11,7 +12,7 @@ stdout_logfile=/var/log/php-fpm_consumer.out.log user=root priority=100 -[program:app-scheduler] +[program:Laravel-scheduler] process_name=%(program_name)s_%(process_num)02d command=/bin/sh -c "while [ true ]; do (php /var/www/html/artisan schedule:run --verbose --no-interaction &); sleep 60; done" autostart=true @@ -20,7 +21,7 @@ numprocs=1 user=root redirect_stderr=true -[program:app-worker] +[program:Laravel-worker] process_name=%(program_name)s_%(process_num)02d command=php /var/www/artisan queue:work --sleep=3 --tries=3 autostart=true