Add redis; use alpine images

This commit is contained in:
Nabeel Shahzad 2019-05-12 10:51:06 -05:00
parent 047a72f3da
commit 1b1cf2a891
5 changed files with 256 additions and 9 deletions

View File

@ -16,6 +16,7 @@
"composer/semver": "1.4.*", "composer/semver": "1.4.*",
"akaunting/money": "1.0.*", "akaunting/money": "1.0.*",
"anhskohbo/no-captcha": "3.0.*", "anhskohbo/no-captcha": "3.0.*",
"appstract/laravel-opcache": "^2.0",
"arrilot/laravel-widgets": "3.13.*", "arrilot/laravel-widgets": "3.13.*",
"fzaninotto/faker": "^1.8", "fzaninotto/faker": "^1.8",
"guzzlehttp/guzzle": "6.3.*", "guzzlehttp/guzzle": "6.3.*",
@ -28,6 +29,7 @@
"joshbrw/laravel-module-installer": "0.1.*", "joshbrw/laravel-module-installer": "0.1.*",
"laracasts/flash": "3.0.*", "laracasts/flash": "3.0.*",
"laravel/framework": "5.8.*", "laravel/framework": "5.8.*",
"laravel/helpers": "^1.0",
"laravelcollective/html": "^5.8", "laravelcollective/html": "^5.8",
"league/csv": "9.2.*", "league/csv": "9.2.*",
"league/geotools": "0.8.*", "league/geotools": "0.8.*",
@ -38,6 +40,7 @@
"nwidart/laravel-modules": "5.*", "nwidart/laravel-modules": "5.*",
"php-units-of-measure/php-units-of-measure": "2.1.*", "php-units-of-measure/php-units-of-measure": "2.1.*",
"pragmarx/version": "0.2.*", "pragmarx/version": "0.2.*",
"predis/predis": "^1.1",
"prettus/l5-repository": "2.6.*", "prettus/l5-repository": "2.6.*",
"santigarcor/laratrust": "5.2.*", "santigarcor/laratrust": "5.2.*",
"sebastiaanluca/laravel-helpers": "3.*", "sebastiaanluca/laravel-helpers": "3.*",

225
composer.lock generated
View File

@ -4,7 +4,7 @@
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
"This file is @generated automatically" "This file is @generated automatically"
], ],
"content-hash": "876193d327157c01998b33e3d095b7f4", "content-hash": "ed94de0aeb7e741af9d56f1b364ddab0",
"packages": [ "packages": [
{ {
"name": "akaunting/money", "name": "akaunting/money",
@ -126,6 +126,126 @@
], ],
"time": "2019-02-25T10:51:21+00:00" "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", "name": "arrilot/laravel-widgets",
"version": "3.13.0", "version": "3.13.0",
@ -1953,6 +2073,59 @@
], ],
"time": "2019-05-07T14:37:11+00:00" "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", "name": "laravelcollective/html",
"version": "v5.8.0", "version": "v5.8.0",
@ -3098,6 +3271,56 @@
], ],
"time": "2018-09-22T17:12:12+00:00" "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", "name": "prettus/l5-repository",
"version": "2.6.32", "version": "2.6.32",

18
config/opcache.php Normal file
View File

@ -0,0 +1,18 @@
<?php
return [
'url' => 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'),
],
];

View File

@ -7,22 +7,23 @@ services:
context: ./docker/php context: ./docker/php
environment: environment:
DB_HOST: mysql DB_HOST: mysql
REDIS_HOST: redis
volumes: volumes:
- ./:/var/www - ./:/var/www
- ./docker/php/www.conf:/usr/local/etc/php-fpm.d/www.conf - ./docker/php/www.conf:/usr/local/etc/php-fpm.d/www.conf
depends_on: depends_on:
- nginx
- mysql - mysql
- redis
nginx: nginx:
image: nginx:1.13.8 image: nginx:1.15.12-alpine
command: /bin/bash -c "exec nginx -g 'daemon off;'" command: /bin/bash -c "exec nginx -g 'daemon off;'"
volumes: volumes:
- ./:/var/www - ./:/var/www
- ./docker/nginx/default.conf:/etc/nginx/conf.d/default.conf - ./docker/nginx/default.conf:/etc/nginx/conf.d/default.conf
ports: ports:
- 80:80 - 80:80
depends_on:
- app
mysql: mysql:
image: mysql:5.7.26 image: mysql:5.7.26
@ -37,6 +38,9 @@ services:
ports: ports:
- 3306:3306 - 3306:3306
redis:
image: redis:5.0.4-alpine
# Use this to tail the logs so it's just all in a single window # Use this to tail the logs so it's just all in a single window
logs: logs:
image: busybox image: busybox

View File

@ -1,7 +1,8 @@
FROM php:7.3-fpm FROM php:7.3-fpm-alpine
RUN apt-get update #RUN apt-get update
RUN apt-get install -y libgmp-dev #RUN apt-get install -y libgmp-dev
RUN apk add gmp-dev
# Copy any config files in # Copy any config files in
COPY ext-opcache.ini $PHP_INI_DIR/conf.d/ 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 ln -sf /dev/stderr /var/log/fpm-error.log
RUN docker-php-ext-install \ RUN docker-php-ext-install \
mysqli \
pdo \
pdo_mysql \ pdo_mysql \
gmp \ gmp \
opcache opcache