From 1b1cf2a891ff2d8bef3be6d6996ef94a654dfcf0 Mon Sep 17 00:00:00 2001 From: Nabeel Shahzad Date: Sun, 12 May 2019 10:51:06 -0500 Subject: [PATCH] Add redis; use alpine images --- composer.json | 3 + composer.lock | 225 +++++++++++++++++++++++++++++++++++++++++- config/opcache.php | 18 ++++ docker-compose.yml | 10 +- docker/php/Dockerfile | 9 +- 5 files changed, 256 insertions(+), 9 deletions(-) create mode 100644 config/opcache.php diff --git a/composer.json b/composer.json index dcf4050e..552cf92f 100755 --- a/composer.json +++ b/composer.json @@ -16,6 +16,7 @@ "composer/semver": "1.4.*", "akaunting/money": "1.0.*", "anhskohbo/no-captcha": "3.0.*", + "appstract/laravel-opcache": "^2.0", "arrilot/laravel-widgets": "3.13.*", "fzaninotto/faker": "^1.8", "guzzlehttp/guzzle": "6.3.*", @@ -28,6 +29,7 @@ "joshbrw/laravel-module-installer": "0.1.*", "laracasts/flash": "3.0.*", "laravel/framework": "5.8.*", + "laravel/helpers": "^1.0", "laravelcollective/html": "^5.8", "league/csv": "9.2.*", "league/geotools": "0.8.*", @@ -38,6 +40,7 @@ "nwidart/laravel-modules": "5.*", "php-units-of-measure/php-units-of-measure": "2.1.*", "pragmarx/version": "0.2.*", + "predis/predis": "^1.1", "prettus/l5-repository": "2.6.*", "santigarcor/laratrust": "5.2.*", "sebastiaanluca/laravel-helpers": "3.*", diff --git a/composer.lock b/composer.lock index c5f714b5..2eefc6ec 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "876193d327157c01998b33e3d095b7f4", + "content-hash": "ed94de0aeb7e741af9d56f1b364ddab0", "packages": [ { "name": "akaunting/money", @@ -126,6 +126,126 @@ ], "time": "2019-02-25T10:51:21+00:00" }, + { + "name": "appstract/laravel-opcache", + "version": "2.0.2", + "source": { + "type": "git", + "url": "https://github.com/appstract/laravel-opcache.git", + "reference": "ef41a0f5e6d717317d5434b39add6e17152b620b" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/appstract/laravel-opcache/zipball/ef41a0f5e6d717317d5434b39add6e17152b620b", + "reference": "ef41a0f5e6d717317d5434b39add6e17152b620b", + "shasum": "" + }, + "require": { + "appstract/lush-http": "^0.5", + "illuminate/console": ">=5.5", + "illuminate/filesystem": ">=5.5", + "illuminate/routing": ">=5.5", + "illuminate/support": ">=5.5", + "php": ">=5.6" + }, + "require-dev": { + "orchestra/testbench": "^3.3", + "phpunit/phpunit": "5.*" + }, + "type": "library", + "extra": { + "laravel": { + "providers": [ + "Appstract\\Opcache\\OpcacheServiceProvider" + ] + } + }, + "autoload": { + "psr-4": { + "Appstract\\Opcache\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Olav van Schie", + "email": "hello@appstract.team", + "homepage": "https://appstract.team", + "role": "Developer" + } + ], + "description": "OPcache helper for Laravel.", + "homepage": "https://github.com/appstract/laravel-opcache", + "keywords": [ + "Opcache", + "appstract", + "laravel", + "php" + ], + "time": "2018-07-19T12:41:58+00:00" + }, + { + "name": "appstract/lush-http", + "version": "0.5.4", + "source": { + "type": "git", + "url": "https://github.com/appstract/lush-http.git", + "reference": "771c501e1ea6a16b6c33917f595a04e5e37ad9b7" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/appstract/lush-http/zipball/771c501e1ea6a16b6c33917f595a04e5e37ad9b7", + "reference": "771c501e1ea6a16b6c33917f595a04e5e37ad9b7", + "shasum": "" + }, + "require": { + "illuminate/support": ">=5.4", + "php": ">=5.6" + }, + "require-dev": { + "phpunit/phpunit": "^5.7" + }, + "type": "library", + "extra": { + "laravel": { + "aliases": { + "Lush": "Appstract\\LushHttp\\LushFacade" + } + } + }, + "autoload": { + "psr-4": { + "Appstract\\LushHttp\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Olav van Schie", + "email": "hello@appstract.team", + "homepage": "https://appstract.team", + "role": "Developer" + } + ], + "description": "Smart Http Client for PHP.", + "homepage": "https://github.com/appstract/lush-http", + "keywords": [ + "appstract", + "client", + "curl", + "http", + "lush", + "lush-http", + "php" + ], + "time": "2018-05-28T08:35:31+00:00" + }, { "name": "arrilot/laravel-widgets", "version": "3.13.0", @@ -1953,6 +2073,59 @@ ], "time": "2019-05-07T14:37:11+00:00" }, + { + "name": "laravel/helpers", + "version": "v1.0.1", + "source": { + "type": "git", + "url": "https://github.com/laravel/helpers.git", + "reference": "7f47ef43aaa76335d74e604fd2fc57a0e6f5a59f" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/laravel/helpers/zipball/7f47ef43aaa76335d74e604fd2fc57a0e6f5a59f", + "reference": "7f47ef43aaa76335d74e604fd2fc57a0e6f5a59f", + "shasum": "" + }, + "require": { + "illuminate/support": "~5.8.0|~5.9.0", + "php": ">=7.1.3" + }, + "require-dev": { + "phpunit/phpunit": "^7.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0-dev" + } + }, + "autoload": { + "files": [ + "src/helpers.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Taylor Otwell", + "email": "taylor@laravel.com" + }, + { + "name": "Dries Vints", + "email": "dries.vints@gmail.com" + } + ], + "description": "Provides backwards compatibility for helpers in the latest Laravel release.", + "keywords": [ + "helpers", + "laravel" + ], + "time": "2019-04-18T21:20:57+00:00" + }, { "name": "laravelcollective/html", "version": "v5.8.0", @@ -3098,6 +3271,56 @@ ], "time": "2018-09-22T17:12:12+00:00" }, + { + "name": "predis/predis", + "version": "v1.1.1", + "source": { + "type": "git", + "url": "https://github.com/nrk/predis.git", + "reference": "f0210e38881631afeafb56ab43405a92cafd9fd1" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/nrk/predis/zipball/f0210e38881631afeafb56ab43405a92cafd9fd1", + "reference": "f0210e38881631afeafb56ab43405a92cafd9fd1", + "shasum": "" + }, + "require": { + "php": ">=5.3.9" + }, + "require-dev": { + "phpunit/phpunit": "~4.8" + }, + "suggest": { + "ext-curl": "Allows access to Webdis when paired with phpiredis", + "ext-phpiredis": "Allows faster serialization and deserialization of the Redis protocol" + }, + "type": "library", + "autoload": { + "psr-4": { + "Predis\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Daniele Alessandri", + "email": "suppakilla@gmail.com", + "homepage": "http://clorophilla.net" + } + ], + "description": "Flexible and feature-complete Redis client for PHP and HHVM", + "homepage": "http://github.com/nrk/predis", + "keywords": [ + "nosql", + "predis", + "redis" + ], + "time": "2016-06-16T16:22:20+00:00" + }, { "name": "prettus/l5-repository", "version": "2.6.32", diff --git a/config/opcache.php b/config/opcache.php new file mode 100644 index 00000000..84887f33 --- /dev/null +++ b/config/opcache.php @@ -0,0 +1,18 @@ + env('OPCACHE_URL', config('app.url')), + 'verify_ssl' => true, + 'headers' => [], + 'directories' => [ + base_path('app'), + base_path('bootstrap'), + base_path('public'), + base_path('resources/lang'), + base_path('routes'), + base_path('storage/framework/views'), + base_path('vendor/appstract'), + base_path('vendor/composer'), + base_path('vendor/laravel/framework'), + ], +]; diff --git a/docker-compose.yml b/docker-compose.yml index b2ed1ea8..73cf8dfc 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -7,22 +7,23 @@ services: context: ./docker/php environment: DB_HOST: mysql + REDIS_HOST: redis volumes: - ./:/var/www - ./docker/php/www.conf:/usr/local/etc/php-fpm.d/www.conf depends_on: + - nginx - mysql + - redis nginx: - image: nginx:1.13.8 + image: nginx:1.15.12-alpine command: /bin/bash -c "exec nginx -g 'daemon off;'" volumes: - ./:/var/www - ./docker/nginx/default.conf:/etc/nginx/conf.d/default.conf ports: - 80:80 - depends_on: - - app mysql: image: mysql:5.7.26 @@ -37,6 +38,9 @@ services: ports: - 3306:3306 + redis: + image: redis:5.0.4-alpine + # Use this to tail the logs so it's just all in a single window logs: image: busybox diff --git a/docker/php/Dockerfile b/docker/php/Dockerfile index 83b60382..07754f53 100644 --- a/docker/php/Dockerfile +++ b/docker/php/Dockerfile @@ -1,7 +1,8 @@ -FROM php:7.3-fpm +FROM php:7.3-fpm-alpine -RUN apt-get update -RUN apt-get install -y libgmp-dev +#RUN apt-get update +#RUN apt-get install -y libgmp-dev +RUN apk add gmp-dev # Copy any config files in COPY ext-opcache.ini $PHP_INI_DIR/conf.d/ @@ -9,8 +10,6 @@ COPY ext-opcache.ini $PHP_INI_DIR/conf.d/ RUN ln -sf /dev/stderr /var/log/fpm-error.log RUN docker-php-ext-install \ - mysqli \ - pdo \ pdo_mysql \ gmp \ opcache