├── .gitignore
├── 2.0
├── apache
│ ├── .dockerignore
│ ├── Dockerfile
│ ├── Dockerfile.php7
│ ├── apache2.conf
│ ├── composer
│ ├── composer.json
│ └── composer.lock
├── hhvm
│ ├── .dockerignore
│ ├── Dockerfile
│ ├── composer
│ ├── composer.json
│ ├── composer.lock
│ └── nginx
│ │ ├── Dockerfile
│ │ └── nginx.conf
└── php-fpm
│ ├── .dockerignore
│ ├── Dockerfile
│ ├── Dockerfile.php7
│ ├── composer
│ ├── composer.json
│ ├── composer.lock
│ └── nginx
│ ├── Dockerfile
│ └── nginx.conf
└── README.md
/.gitignore:
--------------------------------------------------------------------------------
1 | *.swp
2 | docker-compose.yml
3 |
--------------------------------------------------------------------------------
/2.0/apache/.dockerignore:
--------------------------------------------------------------------------------
1 | Dockerfile
2 |
--------------------------------------------------------------------------------
/2.0/apache/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM php:5.6.18-apache
2 |
3 | MAINTAINER haertl.mike@gmail.com
4 |
5 | ENV PATH $PATH:/root/.composer/vendor/bin
6 |
7 | # PHP extensions come first, as they are less likely to change between Yii releases
8 | RUN apt-get update \
9 | && apt-get -y install \
10 | git \
11 | g++ \
12 | libicu-dev \
13 | libmcrypt-dev \
14 | zlib1g-dev \
15 | --no-install-recommends \
16 |
17 | # Enable mod_rewrite
18 | && a2enmod rewrite \
19 |
20 | # Install PHP extensions
21 | && docker-php-ext-install intl \
22 | && docker-php-ext-install pdo_mysql \
23 | && docker-php-ext-install mbstring \
24 | && docker-php-ext-install mcrypt \
25 | && docker-php-ext-install opcache \
26 | && docker-php-ext-install zip \
27 | && pecl install apcu-4.0.11 && echo extension=apcu.so > /usr/local/etc/php/conf.d/apcu.ini \
28 |
29 | && apt-get purge -y g++ \
30 | && apt-get autoremove -y \
31 | && rm -r /var/lib/apt/lists/* \
32 |
33 | # Fix write permissions with shared folders
34 | && usermod -u 1000 www-data
35 |
36 | # Next composer and global composer package, as their versions may change from time to time
37 | RUN curl -sS https://getcomposer.org/installer | php \
38 | && mv composer.phar /usr/local/bin/composer.phar \
39 | && composer.phar global require --no-progress "fxp/composer-asset-plugin:~1.4.2" \
40 | && composer.phar global require --no-progress "codeception/codeception=2.0.*" \
41 | && composer.phar global require --no-progress "codeception/specify=*" \
42 | && composer.phar global require --no-progress "codeception/verify=*"
43 |
44 |
45 | # Apache config and composer wrapper
46 | COPY apache2.conf /etc/apache2/apache2.conf
47 | COPY composer /usr/local/bin/composer
48 |
49 | WORKDIR /var/www/html
50 |
51 | # Composer packages are installed outside the app directory /var/www/html.
52 | # This way developers can mount the source code from their host directory
53 | # into /var/www/html and won't end up with an empty vendors/ directory.
54 | COPY composer.json /var/www/html/
55 | COPY composer.lock /var/www/html/
56 | RUN composer install --prefer-dist --no-progress \
57 | && rm composer.*
58 |
--------------------------------------------------------------------------------
/2.0/apache/Dockerfile.php7:
--------------------------------------------------------------------------------
1 | FROM php:7.0.8-apache
2 |
3 | MAINTAINER haertl.mike@gmail.com
4 |
5 | ENV PATH $PATH:/root/.composer/vendor/bin
6 |
7 | # PHP extensions come first, as they are less likely to change between Yii releases
8 | RUN apt-get update \
9 | && apt-get -y install \
10 | git \
11 | g++ \
12 | libicu-dev \
13 | libmcrypt-dev \
14 | zlib1g-dev \
15 | --no-install-recommends \
16 |
17 | # Enable mod_rewrite
18 | && a2enmod rewrite \
19 |
20 | # Install PHP extensions
21 | && docker-php-ext-install intl \
22 | && docker-php-ext-install pdo_mysql \
23 | && docker-php-ext-install mbstring \
24 | && docker-php-ext-install mcrypt \
25 | && docker-php-ext-install opcache \
26 | && docker-php-ext-install zip \
27 | && pecl install apcu-5.1.8 && echo extension=apcu.so > /usr/local/etc/php/conf.d/apcu.ini \
28 |
29 | && apt-get purge -y g++ \
30 | && apt-get autoremove -y \
31 | && rm -r /var/lib/apt/lists/* \
32 |
33 | # Fix write permissions with shared folders
34 | && usermod -u 1000 www-data
35 |
36 | # Next composer and global composer package, as their versions may change from time to time
37 | RUN curl -sS https://getcomposer.org/installer | php \
38 | && mv composer.phar /usr/local/bin/composer.phar \
39 | && composer.phar global require --no-progress "fxp/composer-asset-plugin:~1.4.2" \
40 | && composer.phar global require --no-progress "codeception/codeception=2.0.*" \
41 | && composer.phar global require --no-progress "codeception/specify=*" \
42 | && composer.phar global require --no-progress "codeception/verify=*"
43 |
44 |
45 | # Apache config and composer wrapper
46 | COPY apache2.conf /etc/apache2/apache2.conf
47 | COPY composer /usr/local/bin/composer
48 |
49 | WORKDIR /var/www/html
50 |
51 | # Composer packages are installed outside the app directory /var/www/html.
52 | # This way developers can mount the source code from their host directory
53 | # into /var/www/html and won't end up with an empty vendors/ directory.
54 | COPY composer.json /var/www/html/
55 | COPY composer.lock /var/www/html/
56 | RUN composer install --prefer-dist --no-progress \
57 | && rm composer.*
58 |
--------------------------------------------------------------------------------
/2.0/apache/apache2.conf:
--------------------------------------------------------------------------------
1 | # see http://sources.debian.net/src/apache2/2.4.10-1/debian/config-dir/apache2.conf
2 |
3 | Mutex file:/var/lock/apache2 default
4 | PidFile /var/run/apache2/apache2.pid
5 | Timeout 300
6 | KeepAlive On
7 | MaxKeepAliveRequests 100
8 | KeepAliveTimeout 5
9 | User www-data
10 | Group www-data
11 | HostnameLookups Off
12 | ErrorLog /proc/self/fd/2
13 | LogLevel warn
14 |
15 | IncludeOptional mods-enabled/*.load
16 | IncludeOptional mods-enabled/*.conf
17 |
18 | # ports.conf
19 | Listen 80
20 |
21 | Listen 443
22 |
23 |
24 | Listen 443
25 |
26 |
27 |
28 | Options FollowSymLinks
29 | AllowOverride None
30 | Require all denied
31 |
32 |
33 |
34 | Require all granted
35 | # use mod_rewrite for pretty URL support
36 | RewriteEngine on
37 | # If a directory or a file exists, use the request directly
38 | RewriteCond %{REQUEST_FILENAME} !-f
39 | RewriteCond %{REQUEST_FILENAME} !-d
40 | # Otherwise forward the request to index.php
41 | RewriteRule . index.php
42 |
43 |
44 | DocumentRoot /var/www/html/web
45 |
46 | AccessFileName .htaccess
47 |
48 | Require all denied
49 |
50 |
51 | LogFormat "%v:%p %h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" vhost_combined
52 | LogFormat "%h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" combined
53 | LogFormat "%h %l %u %t \"%r\" %>s %O" common
54 | LogFormat "%{Referer}i -> %U" referer
55 | LogFormat "%{User-agent}i" agent
56 |
57 | CustomLog /proc/self/fd/1 combined
58 |
59 |
60 | SetHandler application/x-httpd-php
61 |
62 |
63 | # Multiple DirectoryIndex directives within the same context will add
64 | # to the list of resources to look for rather than replace
65 | # https://httpd.apache.org/docs/current/mod/mod_dir.html#directoryindex
66 | DirectoryIndex disabled
67 | DirectoryIndex index.php index.html
68 |
--------------------------------------------------------------------------------
/2.0/apache/composer:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | if [ -n "$API_TOKEN" ]
4 | then
5 | php /usr/local/bin/composer.phar config -g github-oauth.github.com $API_TOKEN
6 | fi
7 |
8 | exec php /usr/local/bin/composer.phar "$@"
9 |
--------------------------------------------------------------------------------
/2.0/apache/composer.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "mikehaertl/yii2-dockerbase",
3 | "description": "A base docker image for yii2 based docker projects",
4 | "keywords": ["yii2", "framework", "docker"],
5 | "type": "project",
6 | "license": "MIT",
7 | "minimum-stability": "stable",
8 | "require": {
9 | "php": ">=5.4.0",
10 | "yiisoft/yii2": "2.0.13.1",
11 | "yiisoft/yii2-bootstrap": "~2.0.0",
12 | "yiisoft/yii2-jui": "~2.0.0",
13 | "yiisoft/yii2-swiftmailer": "~2.0.0",
14 | "vlucas/phpdotenv": "1.0.*",
15 | "codemix/yii2-streamlog": "1.1.0"
16 | },
17 | "require-dev": {
18 | "yiisoft/yii2-debug": "~2.0.0",
19 | "yiisoft/yii2-gii": "~2.0.0",
20 | "yiisoft/yii2-codeception": "~2.0.0",
21 | "yiisoft/yii2-faker": "~2.0.0"
22 | },
23 | "config": {
24 | "process-timeout": 1800,
25 | "vendor-dir": "/var/www/vendor"
26 | },
27 | "extra": {
28 | "asset-installer-paths": {
29 | "npm-asset-library": "/var/www/vendor/npm",
30 | "bower-asset-library": "/var/www/vendor/bower"
31 | }
32 | }
33 | }
34 |
--------------------------------------------------------------------------------
/2.0/apache/composer.lock:
--------------------------------------------------------------------------------
1 | {
2 | "_readme": [
3 | "This file locks the dependencies of your project to a known state",
4 | "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file",
5 | "This file is @generated automatically"
6 | ],
7 | "content-hash": "c5327b39307e2aeb84c7f5ab216e699a",
8 | "packages": [
9 | {
10 | "name": "bower-asset/bootstrap",
11 | "version": "v3.3.7",
12 | "source": {
13 | "type": "git",
14 | "url": "https://github.com/twbs/bootstrap.git",
15 | "reference": "0b9c4a4007c44201dce9a6cc1a38407005c26c86"
16 | },
17 | "dist": {
18 | "type": "zip",
19 | "url": "https://api.github.com/repos/twbs/bootstrap/zipball/0b9c4a4007c44201dce9a6cc1a38407005c26c86",
20 | "reference": "0b9c4a4007c44201dce9a6cc1a38407005c26c86",
21 | "shasum": ""
22 | },
23 | "require": {
24 | "bower-asset/jquery": ">=1.9.1,<4.0"
25 | },
26 | "type": "bower-asset-library",
27 | "extra": {
28 | "bower-asset-main": [
29 | "less/bootstrap.less",
30 | "dist/js/bootstrap.js"
31 | ],
32 | "bower-asset-ignore": [
33 | "/.*",
34 | "_config.yml",
35 | "CNAME",
36 | "composer.json",
37 | "CONTRIBUTING.md",
38 | "docs",
39 | "js/tests",
40 | "test-infra"
41 | ]
42 | },
43 | "license": [
44 | "MIT"
45 | ],
46 | "description": "The most popular front-end framework for developing responsive, mobile first projects on the web.",
47 | "keywords": [
48 | "css",
49 | "framework",
50 | "front-end",
51 | "js",
52 | "less",
53 | "mobile-first",
54 | "responsive",
55 | "web"
56 | ]
57 | },
58 | {
59 | "name": "bower-asset/inputmask",
60 | "version": "3.3.10",
61 | "source": {
62 | "type": "git",
63 | "url": "https://github.com/RobinHerbots/Inputmask.git",
64 | "reference": "14873e5775964275d13621cbe2b52e4448af3707"
65 | },
66 | "dist": {
67 | "type": "zip",
68 | "url": "https://api.github.com/repos/RobinHerbots/Inputmask/zipball/14873e5775964275d13621cbe2b52e4448af3707",
69 | "reference": "14873e5775964275d13621cbe2b52e4448af3707",
70 | "shasum": ""
71 | },
72 | "require": {
73 | "bower-asset/jquery": ">=1.7"
74 | },
75 | "type": "bower-asset-library",
76 | "extra": {
77 | "bower-asset-main": [
78 | "./dist/inputmask/inputmask.js",
79 | "./dist/inputmask/inputmask.extensions.js",
80 | "./dist/inputmask/inputmask.date.extensions.js",
81 | "./dist/inputmask/inputmask.numeric.extensions.js",
82 | "./dist/inputmask/inputmask.phone.extensions.js",
83 | "./dist/inputmask/jquery.inputmask.js",
84 | "./dist/inputmask/global/document.js",
85 | "./dist/inputmask/global/window.js",
86 | "./dist/inputmask/phone-codes/phone.js",
87 | "./dist/inputmask/phone-codes/phone-be.js",
88 | "./dist/inputmask/phone-codes/phone-nl.js",
89 | "./dist/inputmask/phone-codes/phone-ru.js",
90 | "./dist/inputmask/phone-codes/phone-uk.js",
91 | "./dist/inputmask/dependencyLibs/inputmask.dependencyLib.jqlite.js",
92 | "./dist/inputmask/dependencyLibs/inputmask.dependencyLib.jquery.js",
93 | "./dist/inputmask/dependencyLibs/inputmask.dependencyLib.js",
94 | "./dist/inputmask/bindings/inputmask.binding.js"
95 | ],
96 | "bower-asset-ignore": [
97 | "**/*",
98 | "!dist/*",
99 | "!dist/inputmask/*",
100 | "!dist/min/*",
101 | "!dist/min/inputmask/*"
102 | ]
103 | },
104 | "license": [
105 | "http://opensource.org/licenses/mit-license.php"
106 | ],
107 | "description": "Inputmask is a javascript library which creates an input mask. Inputmask can run against vanilla javascript, jQuery and jqlite.",
108 | "keywords": [
109 | "form",
110 | "input",
111 | "inputmask",
112 | "jquery",
113 | "mask",
114 | "plugins"
115 | ]
116 | },
117 | {
118 | "name": "bower-asset/jquery",
119 | "version": "3.2.1",
120 | "source": {
121 | "type": "git",
122 | "url": "https://github.com/jquery/jquery-dist.git",
123 | "reference": "77d2a51d0520d2ee44173afdf4e40a9201f5964e"
124 | },
125 | "dist": {
126 | "type": "zip",
127 | "url": "https://api.github.com/repos/jquery/jquery-dist/zipball/77d2a51d0520d2ee44173afdf4e40a9201f5964e",
128 | "reference": "77d2a51d0520d2ee44173afdf4e40a9201f5964e",
129 | "shasum": ""
130 | },
131 | "type": "bower-asset-library",
132 | "extra": {
133 | "bower-asset-main": "dist/jquery.js",
134 | "bower-asset-ignore": [
135 | "package.json"
136 | ]
137 | },
138 | "license": [
139 | "MIT"
140 | ],
141 | "keywords": [
142 | "browser",
143 | "javascript",
144 | "jquery",
145 | "library"
146 | ]
147 | },
148 | {
149 | "name": "bower-asset/jquery-ui",
150 | "version": "1.11.4",
151 | "source": {
152 | "type": "git",
153 | "url": "https://github.com/components/jqueryui.git",
154 | "reference": "c34f8dbf3ba57b3784b93f26119f436c0e8288e1"
155 | },
156 | "dist": {
157 | "type": "zip",
158 | "url": "https://api.github.com/repos/components/jqueryui/zipball/c34f8dbf3ba57b3784b93f26119f436c0e8288e1",
159 | "reference": "c34f8dbf3ba57b3784b93f26119f436c0e8288e1",
160 | "shasum": ""
161 | },
162 | "require": {
163 | "bower-asset/jquery": ">=1.6"
164 | },
165 | "type": "bower-asset-library",
166 | "extra": {
167 | "bower-asset-main": [
168 | "jquery-ui.js"
169 | ],
170 | "bower-asset-ignore": []
171 | }
172 | },
173 | {
174 | "name": "bower-asset/punycode",
175 | "version": "v1.3.2",
176 | "source": {
177 | "type": "git",
178 | "url": "https://github.com/bestiejs/punycode.js.git",
179 | "reference": "38c8d3131a82567bfef18da09f7f4db68c84f8a3"
180 | },
181 | "dist": {
182 | "type": "zip",
183 | "url": "https://api.github.com/repos/bestiejs/punycode.js/zipball/38c8d3131a82567bfef18da09f7f4db68c84f8a3",
184 | "reference": "38c8d3131a82567bfef18da09f7f4db68c84f8a3",
185 | "shasum": ""
186 | },
187 | "type": "bower-asset-library",
188 | "extra": {
189 | "bower-asset-main": "punycode.js",
190 | "bower-asset-ignore": [
191 | "coverage",
192 | "tests",
193 | ".*",
194 | "component.json",
195 | "Gruntfile.js",
196 | "node_modules",
197 | "package.json"
198 | ]
199 | }
200 | },
201 | {
202 | "name": "bower-asset/yii2-pjax",
203 | "version": "2.0.7.1",
204 | "source": {
205 | "type": "git",
206 | "url": "https://github.com/yiisoft/jquery-pjax.git",
207 | "reference": "aef7b953107264f00234902a3880eb50dafc48be"
208 | },
209 | "dist": {
210 | "type": "zip",
211 | "url": "https://api.github.com/repos/yiisoft/jquery-pjax/zipball/aef7b953107264f00234902a3880eb50dafc48be",
212 | "reference": "aef7b953107264f00234902a3880eb50dafc48be",
213 | "shasum": ""
214 | },
215 | "require": {
216 | "bower-asset/jquery": ">=1.8"
217 | },
218 | "type": "bower-asset-library",
219 | "extra": {
220 | "bower-asset-main": "./jquery.pjax.js",
221 | "bower-asset-ignore": [
222 | ".travis.yml",
223 | "Gemfile",
224 | "Gemfile.lock",
225 | "CONTRIBUTING.md",
226 | "vendor/",
227 | "script/",
228 | "test/"
229 | ]
230 | },
231 | "license": [
232 | "MIT"
233 | ]
234 | },
235 | {
236 | "name": "cebe/markdown",
237 | "version": "1.1.2",
238 | "source": {
239 | "type": "git",
240 | "url": "https://github.com/cebe/markdown.git",
241 | "reference": "25b28bae8a6f185b5030673af77b32e1163d5c6e"
242 | },
243 | "dist": {
244 | "type": "zip",
245 | "url": "https://api.github.com/repos/cebe/markdown/zipball/25b28bae8a6f185b5030673af77b32e1163d5c6e",
246 | "reference": "25b28bae8a6f185b5030673af77b32e1163d5c6e",
247 | "shasum": ""
248 | },
249 | "require": {
250 | "lib-pcre": "*",
251 | "php": ">=5.4.0"
252 | },
253 | "require-dev": {
254 | "cebe/indent": "*",
255 | "facebook/xhprof": "*@dev",
256 | "phpunit/phpunit": "4.1.*"
257 | },
258 | "bin": [
259 | "bin/markdown"
260 | ],
261 | "type": "library",
262 | "extra": {
263 | "branch-alias": {
264 | "dev-master": "1.1.x-dev"
265 | }
266 | },
267 | "autoload": {
268 | "psr-4": {
269 | "cebe\\markdown\\": ""
270 | }
271 | },
272 | "notification-url": "https://packagist.org/downloads/",
273 | "license": [
274 | "MIT"
275 | ],
276 | "authors": [
277 | {
278 | "name": "Carsten Brandt",
279 | "email": "mail@cebe.cc",
280 | "homepage": "http://cebe.cc/",
281 | "role": "Creator"
282 | }
283 | ],
284 | "description": "A super fast, highly extensible markdown parser for PHP",
285 | "homepage": "https://github.com/cebe/markdown#readme",
286 | "keywords": [
287 | "extensible",
288 | "fast",
289 | "gfm",
290 | "markdown",
291 | "markdown-extra"
292 | ],
293 | "time": "2017-07-16T21:13:23+00:00"
294 | },
295 | {
296 | "name": "codemix/yii2-streamlog",
297 | "version": "1.1.0",
298 | "source": {
299 | "type": "git",
300 | "url": "https://github.com/codemix/yii2-streamlog.git",
301 | "reference": "ba21038819d2c5190caa30f62f9c2408eb1b06d0"
302 | },
303 | "dist": {
304 | "type": "zip",
305 | "url": "https://api.github.com/repos/codemix/yii2-streamlog/zipball/ba21038819d2c5190caa30f62f9c2408eb1b06d0",
306 | "reference": "ba21038819d2c5190caa30f62f9c2408eb1b06d0",
307 | "shasum": ""
308 | },
309 | "type": "library",
310 | "autoload": {
311 | "psr-4": {
312 | "codemix\\streamlog\\": "src/"
313 | }
314 | },
315 | "notification-url": "https://packagist.org/downloads/",
316 | "license": [
317 | "MIT"
318 | ],
319 | "authors": [
320 | {
321 | "name": "Michael Härtl",
322 | "email": "haertl.mike@gmail.com"
323 | }
324 | ],
325 | "description": "A Yii 2 log target for streams in URL format",
326 | "keywords": [
327 | "log",
328 | "stdout",
329 | "stream",
330 | "yii2"
331 | ],
332 | "time": "2017-01-28T08:01:44+00:00"
333 | },
334 | {
335 | "name": "ezyang/htmlpurifier",
336 | "version": "v4.9.3",
337 | "source": {
338 | "type": "git",
339 | "url": "https://github.com/ezyang/htmlpurifier.git",
340 | "reference": "95e1bae3182efc0f3422896a3236e991049dac69"
341 | },
342 | "dist": {
343 | "type": "zip",
344 | "url": "https://api.github.com/repos/ezyang/htmlpurifier/zipball/95e1bae3182efc0f3422896a3236e991049dac69",
345 | "reference": "95e1bae3182efc0f3422896a3236e991049dac69",
346 | "shasum": ""
347 | },
348 | "require": {
349 | "php": ">=5.2"
350 | },
351 | "require-dev": {
352 | "simpletest/simpletest": "^1.1"
353 | },
354 | "type": "library",
355 | "autoload": {
356 | "psr-0": {
357 | "HTMLPurifier": "library/"
358 | },
359 | "files": [
360 | "library/HTMLPurifier.composer.php"
361 | ]
362 | },
363 | "notification-url": "https://packagist.org/downloads/",
364 | "license": [
365 | "LGPL"
366 | ],
367 | "authors": [
368 | {
369 | "name": "Edward Z. Yang",
370 | "email": "admin@htmlpurifier.org",
371 | "homepage": "http://ezyang.com"
372 | }
373 | ],
374 | "description": "Standards compliant HTML filter written in PHP",
375 | "homepage": "http://htmlpurifier.org/",
376 | "keywords": [
377 | "html"
378 | ],
379 | "time": "2017-06-03T02:28:16+00:00"
380 | },
381 | {
382 | "name": "swiftmailer/swiftmailer",
383 | "version": "v5.4.8",
384 | "source": {
385 | "type": "git",
386 | "url": "https://github.com/swiftmailer/swiftmailer.git",
387 | "reference": "9a06dc570a0367850280eefd3f1dc2da45aef517"
388 | },
389 | "dist": {
390 | "type": "zip",
391 | "url": "https://api.github.com/repos/swiftmailer/swiftmailer/zipball/9a06dc570a0367850280eefd3f1dc2da45aef517",
392 | "reference": "9a06dc570a0367850280eefd3f1dc2da45aef517",
393 | "shasum": ""
394 | },
395 | "require": {
396 | "php": ">=5.3.3"
397 | },
398 | "require-dev": {
399 | "mockery/mockery": "~0.9.1",
400 | "symfony/phpunit-bridge": "~3.2"
401 | },
402 | "type": "library",
403 | "extra": {
404 | "branch-alias": {
405 | "dev-master": "5.4-dev"
406 | }
407 | },
408 | "autoload": {
409 | "files": [
410 | "lib/swift_required.php"
411 | ]
412 | },
413 | "notification-url": "https://packagist.org/downloads/",
414 | "license": [
415 | "MIT"
416 | ],
417 | "authors": [
418 | {
419 | "name": "Chris Corbyn"
420 | },
421 | {
422 | "name": "Fabien Potencier",
423 | "email": "fabien@symfony.com"
424 | }
425 | ],
426 | "description": "Swiftmailer, free feature-rich PHP mailer",
427 | "homepage": "http://swiftmailer.org",
428 | "keywords": [
429 | "email",
430 | "mail",
431 | "mailer"
432 | ],
433 | "time": "2017-05-01T15:54:03+00:00"
434 | },
435 | {
436 | "name": "vlucas/phpdotenv",
437 | "version": "v1.0.9",
438 | "source": {
439 | "type": "git",
440 | "url": "https://github.com/vlucas/phpdotenv.git",
441 | "reference": "56c252d48dce336da97926591aed71805203815b"
442 | },
443 | "dist": {
444 | "type": "zip",
445 | "url": "https://api.github.com/repos/vlucas/phpdotenv/zipball/56c252d48dce336da97926591aed71805203815b",
446 | "reference": "56c252d48dce336da97926591aed71805203815b",
447 | "shasum": ""
448 | },
449 | "require": {
450 | "php": ">=5.3.2"
451 | },
452 | "require-dev": {
453 | "phpunit/phpunit": "~4.0"
454 | },
455 | "type": "library",
456 | "extra": {
457 | "branch-alias": {
458 | "dev-master": "1.0-dev"
459 | }
460 | },
461 | "autoload": {
462 | "psr-0": {
463 | "Dotenv": "src/"
464 | }
465 | },
466 | "notification-url": "https://packagist.org/downloads/",
467 | "license": [
468 | "BSD"
469 | ],
470 | "authors": [
471 | {
472 | "name": "Vance Lucas",
473 | "email": "vance@vancelucas.com",
474 | "homepage": "http://www.vancelucas.com"
475 | }
476 | ],
477 | "description": "Loads environment variables from `.env` to `getenv()`, `$_ENV` and `$_SERVER` automagically.",
478 | "homepage": "http://github.com/vlucas/phpdotenv",
479 | "keywords": [
480 | "dotenv",
481 | "env",
482 | "environment"
483 | ],
484 | "time": "2014-10-16T14:50:21+00:00"
485 | },
486 | {
487 | "name": "yiisoft/yii2",
488 | "version": "2.0.13.1",
489 | "source": {
490 | "type": "git",
491 | "url": "https://github.com/yiisoft/yii2-framework.git",
492 | "reference": "7af96d8da5ea3e9a5dd05d0e734b21c5726a6ddf"
493 | },
494 | "dist": {
495 | "type": "zip",
496 | "url": "https://api.github.com/repos/yiisoft/yii2-framework/zipball/7af96d8da5ea3e9a5dd05d0e734b21c5726a6ddf",
497 | "reference": "7af96d8da5ea3e9a5dd05d0e734b21c5726a6ddf",
498 | "shasum": ""
499 | },
500 | "require": {
501 | "bower-asset/inputmask": "~3.2.2 | ~3.3.5",
502 | "bower-asset/jquery": "3.2.*@stable | 3.1.*@stable | 2.2.*@stable | 2.1.*@stable | 1.11.*@stable | 1.12.*@stable",
503 | "bower-asset/punycode": "1.3.*",
504 | "bower-asset/yii2-pjax": "~2.0.1",
505 | "cebe/markdown": "~1.0.0 | ~1.1.0",
506 | "ext-ctype": "*",
507 | "ext-mbstring": "*",
508 | "ezyang/htmlpurifier": "~4.6",
509 | "lib-pcre": "*",
510 | "php": ">=5.4.0",
511 | "yiisoft/yii2-composer": "~2.0.4"
512 | },
513 | "bin": [
514 | "yii"
515 | ],
516 | "type": "library",
517 | "extra": {
518 | "branch-alias": {
519 | "dev-master": "2.0.x-dev"
520 | }
521 | },
522 | "autoload": {
523 | "psr-4": {
524 | "yii\\": ""
525 | }
526 | },
527 | "notification-url": "https://packagist.org/downloads/",
528 | "license": [
529 | "BSD-3-Clause"
530 | ],
531 | "authors": [
532 | {
533 | "name": "Qiang Xue",
534 | "email": "qiang.xue@gmail.com",
535 | "homepage": "http://www.yiiframework.com/",
536 | "role": "Founder and project lead"
537 | },
538 | {
539 | "name": "Alexander Makarov",
540 | "email": "sam@rmcreative.ru",
541 | "homepage": "http://rmcreative.ru/",
542 | "role": "Core framework development"
543 | },
544 | {
545 | "name": "Maurizio Domba",
546 | "homepage": "http://mdomba.info/",
547 | "role": "Core framework development"
548 | },
549 | {
550 | "name": "Carsten Brandt",
551 | "email": "mail@cebe.cc",
552 | "homepage": "http://cebe.cc/",
553 | "role": "Core framework development"
554 | },
555 | {
556 | "name": "Timur Ruziev",
557 | "email": "resurtm@gmail.com",
558 | "homepage": "http://resurtm.com/",
559 | "role": "Core framework development"
560 | },
561 | {
562 | "name": "Paul Klimov",
563 | "email": "klimov.paul@gmail.com",
564 | "role": "Core framework development"
565 | },
566 | {
567 | "name": "Dmitry Naumenko",
568 | "email": "d.naumenko.a@gmail.com",
569 | "role": "Core framework development"
570 | },
571 | {
572 | "name": "Boudewijn Vahrmeijer",
573 | "email": "info@dynasource.eu",
574 | "homepage": "http://dynasource.eu",
575 | "role": "Core framework development"
576 | }
577 | ],
578 | "description": "Yii PHP Framework Version 2",
579 | "homepage": "http://www.yiiframework.com/",
580 | "keywords": [
581 | "framework",
582 | "yii2"
583 | ],
584 | "time": "2017-11-14T11:08:21+00:00"
585 | },
586 | {
587 | "name": "yiisoft/yii2-bootstrap",
588 | "version": "2.0.7",
589 | "source": {
590 | "type": "git",
591 | "url": "https://github.com/yiisoft/yii2-bootstrap.git",
592 | "reference": "02a54d868343ed11d02f0f0f8cbbecb590e0cb3f"
593 | },
594 | "dist": {
595 | "type": "zip",
596 | "url": "https://api.github.com/repos/yiisoft/yii2-bootstrap/zipball/02a54d868343ed11d02f0f0f8cbbecb590e0cb3f",
597 | "reference": "02a54d868343ed11d02f0f0f8cbbecb590e0cb3f",
598 | "shasum": ""
599 | },
600 | "require": {
601 | "bower-asset/bootstrap": "3.3.* | 3.2.* | 3.1.*",
602 | "yiisoft/yii2": "~2.0.6"
603 | },
604 | "type": "yii2-extension",
605 | "extra": {
606 | "branch-alias": {
607 | "dev-master": "2.0.x-dev"
608 | }
609 | },
610 | "autoload": {
611 | "psr-4": {
612 | "yii\\bootstrap\\": ""
613 | }
614 | },
615 | "notification-url": "https://packagist.org/downloads/",
616 | "license": [
617 | "BSD-3-Clause"
618 | ],
619 | "authors": [
620 | {
621 | "name": "Qiang Xue",
622 | "email": "qiang.xue@gmail.com"
623 | }
624 | ],
625 | "description": "The Twitter Bootstrap extension for the Yii framework",
626 | "keywords": [
627 | "bootstrap",
628 | "yii2"
629 | ],
630 | "time": "2017-10-09T19:48:22+00:00"
631 | },
632 | {
633 | "name": "yiisoft/yii2-composer",
634 | "version": "2.0.5",
635 | "source": {
636 | "type": "git",
637 | "url": "https://github.com/yiisoft/yii2-composer.git",
638 | "reference": "3f4923c2bde6caf3f5b88cc22fdd5770f52f8df2"
639 | },
640 | "dist": {
641 | "type": "zip",
642 | "url": "https://api.github.com/repos/yiisoft/yii2-composer/zipball/3f4923c2bde6caf3f5b88cc22fdd5770f52f8df2",
643 | "reference": "3f4923c2bde6caf3f5b88cc22fdd5770f52f8df2",
644 | "shasum": ""
645 | },
646 | "require": {
647 | "composer-plugin-api": "^1.0"
648 | },
649 | "require-dev": {
650 | "composer/composer": "^1.0"
651 | },
652 | "type": "composer-plugin",
653 | "extra": {
654 | "class": "yii\\composer\\Plugin",
655 | "branch-alias": {
656 | "dev-master": "2.0.x-dev"
657 | }
658 | },
659 | "autoload": {
660 | "psr-4": {
661 | "yii\\composer\\": ""
662 | }
663 | },
664 | "notification-url": "https://packagist.org/downloads/",
665 | "license": [
666 | "BSD-3-Clause"
667 | ],
668 | "authors": [
669 | {
670 | "name": "Qiang Xue",
671 | "email": "qiang.xue@gmail.com"
672 | }
673 | ],
674 | "description": "The composer plugin for Yii extension installer",
675 | "keywords": [
676 | "composer",
677 | "extension installer",
678 | "yii2"
679 | ],
680 | "time": "2016-12-20T13:26:02+00:00"
681 | },
682 | {
683 | "name": "yiisoft/yii2-jui",
684 | "version": "2.0.6",
685 | "source": {
686 | "type": "git",
687 | "url": "https://github.com/yiisoft/yii2-jui.git",
688 | "reference": "843a2160cfe30f5c8b0cb2e9dbd8ee6bcf97e71d"
689 | },
690 | "dist": {
691 | "type": "zip",
692 | "url": "https://api.github.com/repos/yiisoft/yii2-jui/zipball/843a2160cfe30f5c8b0cb2e9dbd8ee6bcf97e71d",
693 | "reference": "843a2160cfe30f5c8b0cb2e9dbd8ee6bcf97e71d",
694 | "shasum": ""
695 | },
696 | "require": {
697 | "bower-asset/jquery-ui": "1.11.*@stable",
698 | "yiisoft/yii2": ">=2.0.4"
699 | },
700 | "type": "yii2-extension",
701 | "extra": {
702 | "branch-alias": {
703 | "dev-master": "2.0.x-dev"
704 | },
705 | "asset-installer-paths": {
706 | "npm-asset-library": "vendor/npm",
707 | "bower-asset-library": "vendor/bower"
708 | }
709 | },
710 | "autoload": {
711 | "psr-4": {
712 | "yii\\jui\\": ""
713 | }
714 | },
715 | "notification-url": "https://packagist.org/downloads/",
716 | "license": [
717 | "BSD-3-Clause"
718 | ],
719 | "authors": [
720 | {
721 | "name": "Qiang Xue",
722 | "email": "qiang.xue@gmail.com"
723 | }
724 | ],
725 | "description": "The Jquery UI extension for the Yii framework",
726 | "keywords": [
727 | "jQuery UI",
728 | "yii2"
729 | ],
730 | "time": "2016-07-22T22:26:59+00:00"
731 | },
732 | {
733 | "name": "yiisoft/yii2-swiftmailer",
734 | "version": "2.0.7",
735 | "source": {
736 | "type": "git",
737 | "url": "https://github.com/yiisoft/yii2-swiftmailer.git",
738 | "reference": "8a03a62cbcb82e7697d3002eb43a8d2637f566ec"
739 | },
740 | "dist": {
741 | "type": "zip",
742 | "url": "https://api.github.com/repos/yiisoft/yii2-swiftmailer/zipball/8a03a62cbcb82e7697d3002eb43a8d2637f566ec",
743 | "reference": "8a03a62cbcb82e7697d3002eb43a8d2637f566ec",
744 | "shasum": ""
745 | },
746 | "require": {
747 | "swiftmailer/swiftmailer": "~5.0",
748 | "yiisoft/yii2": "~2.0.4"
749 | },
750 | "type": "yii2-extension",
751 | "extra": {
752 | "branch-alias": {
753 | "dev-master": "2.0.x-dev"
754 | }
755 | },
756 | "autoload": {
757 | "psr-4": {
758 | "yii\\swiftmailer\\": ""
759 | }
760 | },
761 | "notification-url": "https://packagist.org/downloads/",
762 | "license": [
763 | "BSD-3-Clause"
764 | ],
765 | "authors": [
766 | {
767 | "name": "Paul Klimov",
768 | "email": "klimov.paul@gmail.com"
769 | }
770 | ],
771 | "description": "The SwiftMailer integration for the Yii framework",
772 | "keywords": [
773 | "email",
774 | "mail",
775 | "mailer",
776 | "swift",
777 | "swiftmailer",
778 | "yii2"
779 | ],
780 | "time": "2017-05-01T08:29:00+00:00"
781 | }
782 | ],
783 | "packages-dev": [
784 | {
785 | "name": "bower-asset/typeahead.js",
786 | "version": "v0.11.1",
787 | "source": {
788 | "type": "git",
789 | "url": "https://github.com/twitter/typeahead.js.git",
790 | "reference": "588440f66559714280628a4f9799f0c4eb880a4a"
791 | },
792 | "dist": {
793 | "type": "zip",
794 | "url": "https://api.github.com/repos/twitter/typeahead.js/zipball/588440f66559714280628a4f9799f0c4eb880a4a",
795 | "reference": "588440f66559714280628a4f9799f0c4eb880a4a",
796 | "shasum": ""
797 | },
798 | "require": {
799 | "bower-asset/jquery": ">=1.7"
800 | },
801 | "require-dev": {
802 | "bower-asset/jasmine-ajax": "~1.3.1",
803 | "bower-asset/jasmine-jquery": "~1.5.2",
804 | "bower-asset/jquery": "~1.7"
805 | },
806 | "type": "bower-asset-library",
807 | "extra": {
808 | "bower-asset-main": "dist/typeahead.bundle.js"
809 | }
810 | },
811 | {
812 | "name": "fzaninotto/faker",
813 | "version": "v1.7.1",
814 | "source": {
815 | "type": "git",
816 | "url": "https://github.com/fzaninotto/Faker.git",
817 | "reference": "d3ed4cc37051c1ca52d22d76b437d14809fc7e0d"
818 | },
819 | "dist": {
820 | "type": "zip",
821 | "url": "https://api.github.com/repos/fzaninotto/Faker/zipball/d3ed4cc37051c1ca52d22d76b437d14809fc7e0d",
822 | "reference": "d3ed4cc37051c1ca52d22d76b437d14809fc7e0d",
823 | "shasum": ""
824 | },
825 | "require": {
826 | "php": "^5.3.3 || ^7.0"
827 | },
828 | "require-dev": {
829 | "ext-intl": "*",
830 | "phpunit/phpunit": "^4.0 || ^5.0",
831 | "squizlabs/php_codesniffer": "^1.5"
832 | },
833 | "type": "library",
834 | "extra": {
835 | "branch-alias": {
836 | "dev-master": "1.8-dev"
837 | }
838 | },
839 | "autoload": {
840 | "psr-4": {
841 | "Faker\\": "src/Faker/"
842 | }
843 | },
844 | "notification-url": "https://packagist.org/downloads/",
845 | "license": [
846 | "MIT"
847 | ],
848 | "authors": [
849 | {
850 | "name": "François Zaninotto"
851 | }
852 | ],
853 | "description": "Faker is a PHP library that generates fake data for you.",
854 | "keywords": [
855 | "data",
856 | "faker",
857 | "fixtures"
858 | ],
859 | "time": "2017-08-15T16:48:10+00:00"
860 | },
861 | {
862 | "name": "phpspec/php-diff",
863 | "version": "v1.1.0",
864 | "source": {
865 | "type": "git",
866 | "url": "https://github.com/phpspec/php-diff.git",
867 | "reference": "0464787bfa7cd13576c5a1e318709768798bec6a"
868 | },
869 | "dist": {
870 | "type": "zip",
871 | "url": "https://api.github.com/repos/phpspec/php-diff/zipball/0464787bfa7cd13576c5a1e318709768798bec6a",
872 | "reference": "0464787bfa7cd13576c5a1e318709768798bec6a",
873 | "shasum": ""
874 | },
875 | "type": "library",
876 | "extra": {
877 | "branch-alias": {
878 | "dev-master": "1.0.x-dev"
879 | }
880 | },
881 | "autoload": {
882 | "psr-0": {
883 | "Diff": "lib/"
884 | }
885 | },
886 | "notification-url": "https://packagist.org/downloads/",
887 | "license": [
888 | "BSD-3-Clause"
889 | ],
890 | "authors": [
891 | {
892 | "name": "Chris Boulton",
893 | "homepage": "http://github.com/chrisboulton"
894 | }
895 | ],
896 | "description": "A comprehensive library for generating differences between two hashable objects (strings or arrays).",
897 | "time": "2016-04-07T12:29:16+00:00"
898 | },
899 | {
900 | "name": "yiisoft/yii2-codeception",
901 | "version": "2.0.6",
902 | "source": {
903 | "type": "git",
904 | "url": "https://github.com/yiisoft/yii2-codeception.git",
905 | "reference": "086c8c2d28736e7a484a7a8611b5cc84024e9fb3"
906 | },
907 | "dist": {
908 | "type": "zip",
909 | "url": "https://api.github.com/repos/yiisoft/yii2-codeception/zipball/086c8c2d28736e7a484a7a8611b5cc84024e9fb3",
910 | "reference": "086c8c2d28736e7a484a7a8611b5cc84024e9fb3",
911 | "shasum": ""
912 | },
913 | "require": {
914 | "yiisoft/yii2": ">=2.0.4"
915 | },
916 | "type": "yii2-extension",
917 | "extra": {
918 | "branch-alias": {
919 | "dev-master": "2.0.x-dev"
920 | }
921 | },
922 | "autoload": {
923 | "psr-4": {
924 | "yii\\codeception\\": ""
925 | }
926 | },
927 | "notification-url": "https://packagist.org/downloads/",
928 | "license": [
929 | "BSD-3-Clause"
930 | ],
931 | "authors": [
932 | {
933 | "name": "Mark Jebri",
934 | "email": "mark.github@yandex.ru"
935 | }
936 | ],
937 | "description": "The Codeception integration for the Yii framework",
938 | "keywords": [
939 | "codeception",
940 | "yii2"
941 | ],
942 | "abandoned": "codeception/codeception",
943 | "time": "2017-05-22T12:08:21+00:00"
944 | },
945 | {
946 | "name": "yiisoft/yii2-debug",
947 | "version": "2.0.12",
948 | "source": {
949 | "type": "git",
950 | "url": "https://github.com/yiisoft/yii2-debug.git",
951 | "reference": "93082f46d3568b4431a26f264e0d16a12c42bd50"
952 | },
953 | "dist": {
954 | "type": "zip",
955 | "url": "https://api.github.com/repos/yiisoft/yii2-debug/zipball/93082f46d3568b4431a26f264e0d16a12c42bd50",
956 | "reference": "93082f46d3568b4431a26f264e0d16a12c42bd50",
957 | "shasum": ""
958 | },
959 | "require": {
960 | "yiisoft/yii2": "~2.0.11",
961 | "yiisoft/yii2-bootstrap": "~2.0.0"
962 | },
963 | "type": "yii2-extension",
964 | "extra": {
965 | "branch-alias": {
966 | "dev-master": "2.0.x-dev"
967 | }
968 | },
969 | "autoload": {
970 | "psr-4": {
971 | "yii\\debug\\": ""
972 | }
973 | },
974 | "notification-url": "https://packagist.org/downloads/",
975 | "license": [
976 | "BSD-3-Clause"
977 | ],
978 | "authors": [
979 | {
980 | "name": "Qiang Xue",
981 | "email": "qiang.xue@gmail.com"
982 | }
983 | ],
984 | "description": "The debugger extension for the Yii framework",
985 | "keywords": [
986 | "debug",
987 | "debugger",
988 | "yii2"
989 | ],
990 | "time": "2017-10-09T20:30:01+00:00"
991 | },
992 | {
993 | "name": "yiisoft/yii2-faker",
994 | "version": "2.0.3",
995 | "source": {
996 | "type": "git",
997 | "url": "https://github.com/yiisoft/yii2-faker.git",
998 | "reference": "b88ca69ee226a3610b2c26c026c3203d7ac50f6c"
999 | },
1000 | "dist": {
1001 | "type": "zip",
1002 | "url": "https://api.github.com/repos/yiisoft/yii2-faker/zipball/b88ca69ee226a3610b2c26c026c3203d7ac50f6c",
1003 | "reference": "b88ca69ee226a3610b2c26c026c3203d7ac50f6c",
1004 | "shasum": ""
1005 | },
1006 | "require": {
1007 | "fzaninotto/faker": "*",
1008 | "yiisoft/yii2": "*"
1009 | },
1010 | "type": "yii2-extension",
1011 | "extra": {
1012 | "branch-alias": {
1013 | "dev-master": "2.0.x-dev"
1014 | }
1015 | },
1016 | "autoload": {
1017 | "psr-4": {
1018 | "yii\\faker\\": ""
1019 | }
1020 | },
1021 | "notification-url": "https://packagist.org/downloads/",
1022 | "license": [
1023 | "BSD-3-Clause"
1024 | ],
1025 | "authors": [
1026 | {
1027 | "name": "Mark Jebri",
1028 | "email": "mark.github@yandex.ru"
1029 | }
1030 | ],
1031 | "description": "Fixture generator. The Faker integration for the Yii framework.",
1032 | "keywords": [
1033 | "Fixture",
1034 | "faker",
1035 | "yii2"
1036 | ],
1037 | "time": "2015-03-01T06:22:44+00:00"
1038 | },
1039 | {
1040 | "name": "yiisoft/yii2-gii",
1041 | "version": "2.0.5",
1042 | "source": {
1043 | "type": "git",
1044 | "url": "https://github.com/yiisoft/yii2-gii.git",
1045 | "reference": "1bd6df6804ca077ec022587905a0d43eb286f507"
1046 | },
1047 | "dist": {
1048 | "type": "zip",
1049 | "url": "https://api.github.com/repos/yiisoft/yii2-gii/zipball/1bd6df6804ca077ec022587905a0d43eb286f507",
1050 | "reference": "1bd6df6804ca077ec022587905a0d43eb286f507",
1051 | "shasum": ""
1052 | },
1053 | "require": {
1054 | "bower-asset/typeahead.js": "0.10.* | ~0.11.0",
1055 | "phpspec/php-diff": ">=1.0.2",
1056 | "yiisoft/yii2": ">=2.0.4",
1057 | "yiisoft/yii2-bootstrap": "~2.0"
1058 | },
1059 | "type": "yii2-extension",
1060 | "extra": {
1061 | "branch-alias": {
1062 | "dev-master": "2.0.x-dev"
1063 | },
1064 | "asset-installer-paths": {
1065 | "npm-asset-library": "vendor/npm",
1066 | "bower-asset-library": "vendor/bower"
1067 | }
1068 | },
1069 | "autoload": {
1070 | "psr-4": {
1071 | "yii\\gii\\": ""
1072 | }
1073 | },
1074 | "notification-url": "https://packagist.org/downloads/",
1075 | "license": [
1076 | "BSD-3-Clause"
1077 | ],
1078 | "authors": [
1079 | {
1080 | "name": "Qiang Xue",
1081 | "email": "qiang.xue@gmail.com"
1082 | }
1083 | ],
1084 | "description": "The Gii extension for the Yii framework",
1085 | "keywords": [
1086 | "code generator",
1087 | "gii",
1088 | "yii2"
1089 | ],
1090 | "time": "2016-03-18T14:09:46+00:00"
1091 | }
1092 | ],
1093 | "aliases": [],
1094 | "minimum-stability": "stable",
1095 | "stability-flags": [],
1096 | "prefer-stable": false,
1097 | "prefer-lowest": false,
1098 | "platform": {
1099 | "php": ">=5.4.0"
1100 | },
1101 | "platform-dev": []
1102 | }
1103 |
--------------------------------------------------------------------------------
/2.0/hhvm/.dockerignore:
--------------------------------------------------------------------------------
1 | Dockerfile
2 |
--------------------------------------------------------------------------------
/2.0/hhvm/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM estebanmatias92/hhvm:3.8.1-fastcgi
2 |
3 | MAINTAINER haertl.mike@gmail.com
4 |
5 | ENV PATH $PATH:/root/.composer/vendor/bin
6 |
7 | # Install composer and prepare system
8 | RUN apt-get update \
9 | && apt-get -y install \
10 | curl \
11 | git \
12 | # We need PHP for composer because there's an issue with HHVM and yii2-composer which
13 | # breaks the creation of extensions.php (https://github.com/facebook/hhvm/issues/4797)
14 | php5-cli \
15 | --no-install-recommends \
16 | && rm -r /var/lib/apt/lists/* \
17 |
18 | && curl -sS https://getcomposer.org/installer | php \
19 | && mv composer.phar /usr/local/bin/composer.phar \
20 |
21 | && composer.phar global require --no-progress "fxp/composer-asset-plugin:~1.4.2" \
22 | && composer.phar global require --no-progress "codeception/codeception=2.0.*" \
23 | && composer.phar global require --no-progress "codeception/specify=*" \
24 | && composer.phar global require --no-progress "codeception/verify=*" \
25 |
26 | # Fix write permissions with shared folders
27 | && usermod -u 1000 www-data
28 |
29 | COPY composer /usr/local/bin/
30 |
31 | WORKDIR /var/www/html
32 |
33 | # Composer packages are installed outside the app directory /var/www/html.
34 | # This way developers can mount the source code from their host directory
35 | # into /var/www/html and won't end up with an empty vendors/ directory.
36 | COPY composer.json /var/www/html/
37 | COPY composer.lock /var/www/html/
38 | RUN composer install --prefer-dist --no-progress \
39 | && rm composer.*
40 |
--------------------------------------------------------------------------------
/2.0/hhvm/composer:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | if [ -n "$API_TOKEN" ]
4 | then
5 | php5 /usr/local/bin/composer.phar config -g github-oauth.github.com $API_TOKEN
6 | fi
7 |
8 | exec php5 /usr/local/bin/composer.phar "$@"
9 |
--------------------------------------------------------------------------------
/2.0/hhvm/composer.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "mikehaertl/yii2-dockerbase",
3 | "description": "A base docker image for yii2 based docker projects",
4 | "keywords": ["yii2", "framework", "docker"],
5 | "type": "project",
6 | "license": "MIT",
7 | "minimum-stability": "stable",
8 | "require": {
9 | "php": ">=5.4.0",
10 | "yiisoft/yii2": "2.0.13.1",
11 | "yiisoft/yii2-bootstrap": "~2.0.0",
12 | "yiisoft/yii2-jui": "~2.0.0",
13 | "yiisoft/yii2-swiftmailer": "~2.0.0",
14 | "vlucas/phpdotenv": "1.0.*",
15 | "codemix/yii2-streamlog": "1.1.0"
16 | },
17 | "require-dev": {
18 | "yiisoft/yii2-debug": "~2.0.0",
19 | "yiisoft/yii2-gii": "~2.0.0",
20 | "yiisoft/yii2-codeception": "~2.0.0",
21 | "yiisoft/yii2-faker": "~2.0.0"
22 | },
23 | "config": {
24 | "process-timeout": 1800,
25 | "vendor-dir": "/var/www/vendor"
26 | },
27 | "extra": {
28 | "asset-installer-paths": {
29 | "npm-asset-library": "/var/www/vendor/npm",
30 | "bower-asset-library": "/var/www/vendor/bower"
31 | }
32 | }
33 | }
34 |
--------------------------------------------------------------------------------
/2.0/hhvm/composer.lock:
--------------------------------------------------------------------------------
1 | {
2 | "_readme": [
3 | "This file locks the dependencies of your project to a known state",
4 | "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file",
5 | "This file is @generated automatically"
6 | ],
7 | "content-hash": "c5327b39307e2aeb84c7f5ab216e699a",
8 | "packages": [
9 | {
10 | "name": "bower-asset/bootstrap",
11 | "version": "v3.3.7",
12 | "source": {
13 | "type": "git",
14 | "url": "https://github.com/twbs/bootstrap.git",
15 | "reference": "0b9c4a4007c44201dce9a6cc1a38407005c26c86"
16 | },
17 | "dist": {
18 | "type": "zip",
19 | "url": "https://api.github.com/repos/twbs/bootstrap/zipball/0b9c4a4007c44201dce9a6cc1a38407005c26c86",
20 | "reference": "0b9c4a4007c44201dce9a6cc1a38407005c26c86",
21 | "shasum": ""
22 | },
23 | "require": {
24 | "bower-asset/jquery": ">=1.9.1,<4.0"
25 | },
26 | "type": "bower-asset-library",
27 | "extra": {
28 | "bower-asset-main": [
29 | "less/bootstrap.less",
30 | "dist/js/bootstrap.js"
31 | ],
32 | "bower-asset-ignore": [
33 | "/.*",
34 | "_config.yml",
35 | "CNAME",
36 | "composer.json",
37 | "CONTRIBUTING.md",
38 | "docs",
39 | "js/tests",
40 | "test-infra"
41 | ]
42 | },
43 | "license": [
44 | "MIT"
45 | ],
46 | "description": "The most popular front-end framework for developing responsive, mobile first projects on the web.",
47 | "keywords": [
48 | "css",
49 | "framework",
50 | "front-end",
51 | "js",
52 | "less",
53 | "mobile-first",
54 | "responsive",
55 | "web"
56 | ]
57 | },
58 | {
59 | "name": "bower-asset/inputmask",
60 | "version": "3.3.10",
61 | "source": {
62 | "type": "git",
63 | "url": "https://github.com/RobinHerbots/Inputmask.git",
64 | "reference": "14873e5775964275d13621cbe2b52e4448af3707"
65 | },
66 | "dist": {
67 | "type": "zip",
68 | "url": "https://api.github.com/repos/RobinHerbots/Inputmask/zipball/14873e5775964275d13621cbe2b52e4448af3707",
69 | "reference": "14873e5775964275d13621cbe2b52e4448af3707",
70 | "shasum": ""
71 | },
72 | "require": {
73 | "bower-asset/jquery": ">=1.7"
74 | },
75 | "type": "bower-asset-library",
76 | "extra": {
77 | "bower-asset-main": [
78 | "./dist/inputmask/inputmask.js",
79 | "./dist/inputmask/inputmask.extensions.js",
80 | "./dist/inputmask/inputmask.date.extensions.js",
81 | "./dist/inputmask/inputmask.numeric.extensions.js",
82 | "./dist/inputmask/inputmask.phone.extensions.js",
83 | "./dist/inputmask/jquery.inputmask.js",
84 | "./dist/inputmask/global/document.js",
85 | "./dist/inputmask/global/window.js",
86 | "./dist/inputmask/phone-codes/phone.js",
87 | "./dist/inputmask/phone-codes/phone-be.js",
88 | "./dist/inputmask/phone-codes/phone-nl.js",
89 | "./dist/inputmask/phone-codes/phone-ru.js",
90 | "./dist/inputmask/phone-codes/phone-uk.js",
91 | "./dist/inputmask/dependencyLibs/inputmask.dependencyLib.jqlite.js",
92 | "./dist/inputmask/dependencyLibs/inputmask.dependencyLib.jquery.js",
93 | "./dist/inputmask/dependencyLibs/inputmask.dependencyLib.js",
94 | "./dist/inputmask/bindings/inputmask.binding.js"
95 | ],
96 | "bower-asset-ignore": [
97 | "**/*",
98 | "!dist/*",
99 | "!dist/inputmask/*",
100 | "!dist/min/*",
101 | "!dist/min/inputmask/*"
102 | ]
103 | },
104 | "license": [
105 | "http://opensource.org/licenses/mit-license.php"
106 | ],
107 | "description": "Inputmask is a javascript library which creates an input mask. Inputmask can run against vanilla javascript, jQuery and jqlite.",
108 | "keywords": [
109 | "form",
110 | "input",
111 | "inputmask",
112 | "jquery",
113 | "mask",
114 | "plugins"
115 | ]
116 | },
117 | {
118 | "name": "bower-asset/jquery",
119 | "version": "3.2.1",
120 | "source": {
121 | "type": "git",
122 | "url": "https://github.com/jquery/jquery-dist.git",
123 | "reference": "77d2a51d0520d2ee44173afdf4e40a9201f5964e"
124 | },
125 | "dist": {
126 | "type": "zip",
127 | "url": "https://api.github.com/repos/jquery/jquery-dist/zipball/77d2a51d0520d2ee44173afdf4e40a9201f5964e",
128 | "reference": "77d2a51d0520d2ee44173afdf4e40a9201f5964e",
129 | "shasum": ""
130 | },
131 | "type": "bower-asset-library",
132 | "extra": {
133 | "bower-asset-main": "dist/jquery.js",
134 | "bower-asset-ignore": [
135 | "package.json"
136 | ]
137 | },
138 | "license": [
139 | "MIT"
140 | ],
141 | "keywords": [
142 | "browser",
143 | "javascript",
144 | "jquery",
145 | "library"
146 | ]
147 | },
148 | {
149 | "name": "bower-asset/jquery-ui",
150 | "version": "1.11.4",
151 | "source": {
152 | "type": "git",
153 | "url": "https://github.com/components/jqueryui.git",
154 | "reference": "c34f8dbf3ba57b3784b93f26119f436c0e8288e1"
155 | },
156 | "dist": {
157 | "type": "zip",
158 | "url": "https://api.github.com/repos/components/jqueryui/zipball/c34f8dbf3ba57b3784b93f26119f436c0e8288e1",
159 | "reference": "c34f8dbf3ba57b3784b93f26119f436c0e8288e1",
160 | "shasum": ""
161 | },
162 | "require": {
163 | "bower-asset/jquery": ">=1.6"
164 | },
165 | "type": "bower-asset-library",
166 | "extra": {
167 | "bower-asset-main": [
168 | "jquery-ui.js"
169 | ],
170 | "bower-asset-ignore": []
171 | }
172 | },
173 | {
174 | "name": "bower-asset/punycode",
175 | "version": "v1.3.2",
176 | "source": {
177 | "type": "git",
178 | "url": "https://github.com/bestiejs/punycode.js.git",
179 | "reference": "38c8d3131a82567bfef18da09f7f4db68c84f8a3"
180 | },
181 | "dist": {
182 | "type": "zip",
183 | "url": "https://api.github.com/repos/bestiejs/punycode.js/zipball/38c8d3131a82567bfef18da09f7f4db68c84f8a3",
184 | "reference": "38c8d3131a82567bfef18da09f7f4db68c84f8a3",
185 | "shasum": ""
186 | },
187 | "type": "bower-asset-library",
188 | "extra": {
189 | "bower-asset-main": "punycode.js",
190 | "bower-asset-ignore": [
191 | "coverage",
192 | "tests",
193 | ".*",
194 | "component.json",
195 | "Gruntfile.js",
196 | "node_modules",
197 | "package.json"
198 | ]
199 | }
200 | },
201 | {
202 | "name": "bower-asset/yii2-pjax",
203 | "version": "2.0.7.1",
204 | "source": {
205 | "type": "git",
206 | "url": "https://github.com/yiisoft/jquery-pjax.git",
207 | "reference": "aef7b953107264f00234902a3880eb50dafc48be"
208 | },
209 | "dist": {
210 | "type": "zip",
211 | "url": "https://api.github.com/repos/yiisoft/jquery-pjax/zipball/aef7b953107264f00234902a3880eb50dafc48be",
212 | "reference": "aef7b953107264f00234902a3880eb50dafc48be",
213 | "shasum": ""
214 | },
215 | "require": {
216 | "bower-asset/jquery": ">=1.8"
217 | },
218 | "type": "bower-asset-library",
219 | "extra": {
220 | "bower-asset-main": "./jquery.pjax.js",
221 | "bower-asset-ignore": [
222 | ".travis.yml",
223 | "Gemfile",
224 | "Gemfile.lock",
225 | "CONTRIBUTING.md",
226 | "vendor/",
227 | "script/",
228 | "test/"
229 | ]
230 | },
231 | "license": [
232 | "MIT"
233 | ]
234 | },
235 | {
236 | "name": "cebe/markdown",
237 | "version": "1.1.2",
238 | "source": {
239 | "type": "git",
240 | "url": "https://github.com/cebe/markdown.git",
241 | "reference": "25b28bae8a6f185b5030673af77b32e1163d5c6e"
242 | },
243 | "dist": {
244 | "type": "zip",
245 | "url": "https://api.github.com/repos/cebe/markdown/zipball/25b28bae8a6f185b5030673af77b32e1163d5c6e",
246 | "reference": "25b28bae8a6f185b5030673af77b32e1163d5c6e",
247 | "shasum": ""
248 | },
249 | "require": {
250 | "lib-pcre": "*",
251 | "php": ">=5.4.0"
252 | },
253 | "require-dev": {
254 | "cebe/indent": "*",
255 | "facebook/xhprof": "*@dev",
256 | "phpunit/phpunit": "4.1.*"
257 | },
258 | "bin": [
259 | "bin/markdown"
260 | ],
261 | "type": "library",
262 | "extra": {
263 | "branch-alias": {
264 | "dev-master": "1.1.x-dev"
265 | }
266 | },
267 | "autoload": {
268 | "psr-4": {
269 | "cebe\\markdown\\": ""
270 | }
271 | },
272 | "notification-url": "https://packagist.org/downloads/",
273 | "license": [
274 | "MIT"
275 | ],
276 | "authors": [
277 | {
278 | "name": "Carsten Brandt",
279 | "email": "mail@cebe.cc",
280 | "homepage": "http://cebe.cc/",
281 | "role": "Creator"
282 | }
283 | ],
284 | "description": "A super fast, highly extensible markdown parser for PHP",
285 | "homepage": "https://github.com/cebe/markdown#readme",
286 | "keywords": [
287 | "extensible",
288 | "fast",
289 | "gfm",
290 | "markdown",
291 | "markdown-extra"
292 | ],
293 | "time": "2017-07-16T21:13:23+00:00"
294 | },
295 | {
296 | "name": "codemix/yii2-streamlog",
297 | "version": "1.1.0",
298 | "source": {
299 | "type": "git",
300 | "url": "https://github.com/codemix/yii2-streamlog.git",
301 | "reference": "ba21038819d2c5190caa30f62f9c2408eb1b06d0"
302 | },
303 | "dist": {
304 | "type": "zip",
305 | "url": "https://api.github.com/repos/codemix/yii2-streamlog/zipball/ba21038819d2c5190caa30f62f9c2408eb1b06d0",
306 | "reference": "ba21038819d2c5190caa30f62f9c2408eb1b06d0",
307 | "shasum": ""
308 | },
309 | "type": "library",
310 | "autoload": {
311 | "psr-4": {
312 | "codemix\\streamlog\\": "src/"
313 | }
314 | },
315 | "notification-url": "https://packagist.org/downloads/",
316 | "license": [
317 | "MIT"
318 | ],
319 | "authors": [
320 | {
321 | "name": "Michael Härtl",
322 | "email": "haertl.mike@gmail.com"
323 | }
324 | ],
325 | "description": "A Yii 2 log target for streams in URL format",
326 | "keywords": [
327 | "log",
328 | "stdout",
329 | "stream",
330 | "yii2"
331 | ],
332 | "time": "2017-01-28T08:01:44+00:00"
333 | },
334 | {
335 | "name": "ezyang/htmlpurifier",
336 | "version": "v4.9.3",
337 | "source": {
338 | "type": "git",
339 | "url": "https://github.com/ezyang/htmlpurifier.git",
340 | "reference": "95e1bae3182efc0f3422896a3236e991049dac69"
341 | },
342 | "dist": {
343 | "type": "zip",
344 | "url": "https://api.github.com/repos/ezyang/htmlpurifier/zipball/95e1bae3182efc0f3422896a3236e991049dac69",
345 | "reference": "95e1bae3182efc0f3422896a3236e991049dac69",
346 | "shasum": ""
347 | },
348 | "require": {
349 | "php": ">=5.2"
350 | },
351 | "require-dev": {
352 | "simpletest/simpletest": "^1.1"
353 | },
354 | "type": "library",
355 | "autoload": {
356 | "psr-0": {
357 | "HTMLPurifier": "library/"
358 | },
359 | "files": [
360 | "library/HTMLPurifier.composer.php"
361 | ]
362 | },
363 | "notification-url": "https://packagist.org/downloads/",
364 | "license": [
365 | "LGPL"
366 | ],
367 | "authors": [
368 | {
369 | "name": "Edward Z. Yang",
370 | "email": "admin@htmlpurifier.org",
371 | "homepage": "http://ezyang.com"
372 | }
373 | ],
374 | "description": "Standards compliant HTML filter written in PHP",
375 | "homepage": "http://htmlpurifier.org/",
376 | "keywords": [
377 | "html"
378 | ],
379 | "time": "2017-06-03T02:28:16+00:00"
380 | },
381 | {
382 | "name": "swiftmailer/swiftmailer",
383 | "version": "v5.4.8",
384 | "source": {
385 | "type": "git",
386 | "url": "https://github.com/swiftmailer/swiftmailer.git",
387 | "reference": "9a06dc570a0367850280eefd3f1dc2da45aef517"
388 | },
389 | "dist": {
390 | "type": "zip",
391 | "url": "https://api.github.com/repos/swiftmailer/swiftmailer/zipball/9a06dc570a0367850280eefd3f1dc2da45aef517",
392 | "reference": "9a06dc570a0367850280eefd3f1dc2da45aef517",
393 | "shasum": ""
394 | },
395 | "require": {
396 | "php": ">=5.3.3"
397 | },
398 | "require-dev": {
399 | "mockery/mockery": "~0.9.1",
400 | "symfony/phpunit-bridge": "~3.2"
401 | },
402 | "type": "library",
403 | "extra": {
404 | "branch-alias": {
405 | "dev-master": "5.4-dev"
406 | }
407 | },
408 | "autoload": {
409 | "files": [
410 | "lib/swift_required.php"
411 | ]
412 | },
413 | "notification-url": "https://packagist.org/downloads/",
414 | "license": [
415 | "MIT"
416 | ],
417 | "authors": [
418 | {
419 | "name": "Chris Corbyn"
420 | },
421 | {
422 | "name": "Fabien Potencier",
423 | "email": "fabien@symfony.com"
424 | }
425 | ],
426 | "description": "Swiftmailer, free feature-rich PHP mailer",
427 | "homepage": "http://swiftmailer.org",
428 | "keywords": [
429 | "email",
430 | "mail",
431 | "mailer"
432 | ],
433 | "time": "2017-05-01T15:54:03+00:00"
434 | },
435 | {
436 | "name": "vlucas/phpdotenv",
437 | "version": "v1.0.9",
438 | "source": {
439 | "type": "git",
440 | "url": "https://github.com/vlucas/phpdotenv.git",
441 | "reference": "56c252d48dce336da97926591aed71805203815b"
442 | },
443 | "dist": {
444 | "type": "zip",
445 | "url": "https://api.github.com/repos/vlucas/phpdotenv/zipball/56c252d48dce336da97926591aed71805203815b",
446 | "reference": "56c252d48dce336da97926591aed71805203815b",
447 | "shasum": ""
448 | },
449 | "require": {
450 | "php": ">=5.3.2"
451 | },
452 | "require-dev": {
453 | "phpunit/phpunit": "~4.0"
454 | },
455 | "type": "library",
456 | "extra": {
457 | "branch-alias": {
458 | "dev-master": "1.0-dev"
459 | }
460 | },
461 | "autoload": {
462 | "psr-0": {
463 | "Dotenv": "src/"
464 | }
465 | },
466 | "notification-url": "https://packagist.org/downloads/",
467 | "license": [
468 | "BSD"
469 | ],
470 | "authors": [
471 | {
472 | "name": "Vance Lucas",
473 | "email": "vance@vancelucas.com",
474 | "homepage": "http://www.vancelucas.com"
475 | }
476 | ],
477 | "description": "Loads environment variables from `.env` to `getenv()`, `$_ENV` and `$_SERVER` automagically.",
478 | "homepage": "http://github.com/vlucas/phpdotenv",
479 | "keywords": [
480 | "dotenv",
481 | "env",
482 | "environment"
483 | ],
484 | "time": "2014-10-16T14:50:21+00:00"
485 | },
486 | {
487 | "name": "yiisoft/yii2",
488 | "version": "2.0.13.1",
489 | "source": {
490 | "type": "git",
491 | "url": "https://github.com/yiisoft/yii2-framework.git",
492 | "reference": "7af96d8da5ea3e9a5dd05d0e734b21c5726a6ddf"
493 | },
494 | "dist": {
495 | "type": "zip",
496 | "url": "https://api.github.com/repos/yiisoft/yii2-framework/zipball/7af96d8da5ea3e9a5dd05d0e734b21c5726a6ddf",
497 | "reference": "7af96d8da5ea3e9a5dd05d0e734b21c5726a6ddf",
498 | "shasum": ""
499 | },
500 | "require": {
501 | "bower-asset/inputmask": "~3.2.2 | ~3.3.5",
502 | "bower-asset/jquery": "3.2.*@stable | 3.1.*@stable | 2.2.*@stable | 2.1.*@stable | 1.11.*@stable | 1.12.*@stable",
503 | "bower-asset/punycode": "1.3.*",
504 | "bower-asset/yii2-pjax": "~2.0.1",
505 | "cebe/markdown": "~1.0.0 | ~1.1.0",
506 | "ext-ctype": "*",
507 | "ext-mbstring": "*",
508 | "ezyang/htmlpurifier": "~4.6",
509 | "lib-pcre": "*",
510 | "php": ">=5.4.0",
511 | "yiisoft/yii2-composer": "~2.0.4"
512 | },
513 | "bin": [
514 | "yii"
515 | ],
516 | "type": "library",
517 | "extra": {
518 | "branch-alias": {
519 | "dev-master": "2.0.x-dev"
520 | }
521 | },
522 | "autoload": {
523 | "psr-4": {
524 | "yii\\": ""
525 | }
526 | },
527 | "notification-url": "https://packagist.org/downloads/",
528 | "license": [
529 | "BSD-3-Clause"
530 | ],
531 | "authors": [
532 | {
533 | "name": "Qiang Xue",
534 | "email": "qiang.xue@gmail.com",
535 | "homepage": "http://www.yiiframework.com/",
536 | "role": "Founder and project lead"
537 | },
538 | {
539 | "name": "Alexander Makarov",
540 | "email": "sam@rmcreative.ru",
541 | "homepage": "http://rmcreative.ru/",
542 | "role": "Core framework development"
543 | },
544 | {
545 | "name": "Maurizio Domba",
546 | "homepage": "http://mdomba.info/",
547 | "role": "Core framework development"
548 | },
549 | {
550 | "name": "Carsten Brandt",
551 | "email": "mail@cebe.cc",
552 | "homepage": "http://cebe.cc/",
553 | "role": "Core framework development"
554 | },
555 | {
556 | "name": "Timur Ruziev",
557 | "email": "resurtm@gmail.com",
558 | "homepage": "http://resurtm.com/",
559 | "role": "Core framework development"
560 | },
561 | {
562 | "name": "Paul Klimov",
563 | "email": "klimov.paul@gmail.com",
564 | "role": "Core framework development"
565 | },
566 | {
567 | "name": "Dmitry Naumenko",
568 | "email": "d.naumenko.a@gmail.com",
569 | "role": "Core framework development"
570 | },
571 | {
572 | "name": "Boudewijn Vahrmeijer",
573 | "email": "info@dynasource.eu",
574 | "homepage": "http://dynasource.eu",
575 | "role": "Core framework development"
576 | }
577 | ],
578 | "description": "Yii PHP Framework Version 2",
579 | "homepage": "http://www.yiiframework.com/",
580 | "keywords": [
581 | "framework",
582 | "yii2"
583 | ],
584 | "time": "2017-11-14T11:08:21+00:00"
585 | },
586 | {
587 | "name": "yiisoft/yii2-bootstrap",
588 | "version": "2.0.7",
589 | "source": {
590 | "type": "git",
591 | "url": "https://github.com/yiisoft/yii2-bootstrap.git",
592 | "reference": "02a54d868343ed11d02f0f0f8cbbecb590e0cb3f"
593 | },
594 | "dist": {
595 | "type": "zip",
596 | "url": "https://api.github.com/repos/yiisoft/yii2-bootstrap/zipball/02a54d868343ed11d02f0f0f8cbbecb590e0cb3f",
597 | "reference": "02a54d868343ed11d02f0f0f8cbbecb590e0cb3f",
598 | "shasum": ""
599 | },
600 | "require": {
601 | "bower-asset/bootstrap": "3.3.* | 3.2.* | 3.1.*",
602 | "yiisoft/yii2": "~2.0.6"
603 | },
604 | "type": "yii2-extension",
605 | "extra": {
606 | "branch-alias": {
607 | "dev-master": "2.0.x-dev"
608 | }
609 | },
610 | "autoload": {
611 | "psr-4": {
612 | "yii\\bootstrap\\": ""
613 | }
614 | },
615 | "notification-url": "https://packagist.org/downloads/",
616 | "license": [
617 | "BSD-3-Clause"
618 | ],
619 | "authors": [
620 | {
621 | "name": "Qiang Xue",
622 | "email": "qiang.xue@gmail.com"
623 | }
624 | ],
625 | "description": "The Twitter Bootstrap extension for the Yii framework",
626 | "keywords": [
627 | "bootstrap",
628 | "yii2"
629 | ],
630 | "time": "2017-10-09T19:48:22+00:00"
631 | },
632 | {
633 | "name": "yiisoft/yii2-composer",
634 | "version": "2.0.5",
635 | "source": {
636 | "type": "git",
637 | "url": "https://github.com/yiisoft/yii2-composer.git",
638 | "reference": "3f4923c2bde6caf3f5b88cc22fdd5770f52f8df2"
639 | },
640 | "dist": {
641 | "type": "zip",
642 | "url": "https://api.github.com/repos/yiisoft/yii2-composer/zipball/3f4923c2bde6caf3f5b88cc22fdd5770f52f8df2",
643 | "reference": "3f4923c2bde6caf3f5b88cc22fdd5770f52f8df2",
644 | "shasum": ""
645 | },
646 | "require": {
647 | "composer-plugin-api": "^1.0"
648 | },
649 | "require-dev": {
650 | "composer/composer": "^1.0"
651 | },
652 | "type": "composer-plugin",
653 | "extra": {
654 | "class": "yii\\composer\\Plugin",
655 | "branch-alias": {
656 | "dev-master": "2.0.x-dev"
657 | }
658 | },
659 | "autoload": {
660 | "psr-4": {
661 | "yii\\composer\\": ""
662 | }
663 | },
664 | "notification-url": "https://packagist.org/downloads/",
665 | "license": [
666 | "BSD-3-Clause"
667 | ],
668 | "authors": [
669 | {
670 | "name": "Qiang Xue",
671 | "email": "qiang.xue@gmail.com"
672 | }
673 | ],
674 | "description": "The composer plugin for Yii extension installer",
675 | "keywords": [
676 | "composer",
677 | "extension installer",
678 | "yii2"
679 | ],
680 | "time": "2016-12-20T13:26:02+00:00"
681 | },
682 | {
683 | "name": "yiisoft/yii2-jui",
684 | "version": "2.0.6",
685 | "source": {
686 | "type": "git",
687 | "url": "https://github.com/yiisoft/yii2-jui.git",
688 | "reference": "843a2160cfe30f5c8b0cb2e9dbd8ee6bcf97e71d"
689 | },
690 | "dist": {
691 | "type": "zip",
692 | "url": "https://api.github.com/repos/yiisoft/yii2-jui/zipball/843a2160cfe30f5c8b0cb2e9dbd8ee6bcf97e71d",
693 | "reference": "843a2160cfe30f5c8b0cb2e9dbd8ee6bcf97e71d",
694 | "shasum": ""
695 | },
696 | "require": {
697 | "bower-asset/jquery-ui": "1.11.*@stable",
698 | "yiisoft/yii2": ">=2.0.4"
699 | },
700 | "type": "yii2-extension",
701 | "extra": {
702 | "branch-alias": {
703 | "dev-master": "2.0.x-dev"
704 | },
705 | "asset-installer-paths": {
706 | "npm-asset-library": "vendor/npm",
707 | "bower-asset-library": "vendor/bower"
708 | }
709 | },
710 | "autoload": {
711 | "psr-4": {
712 | "yii\\jui\\": ""
713 | }
714 | },
715 | "notification-url": "https://packagist.org/downloads/",
716 | "license": [
717 | "BSD-3-Clause"
718 | ],
719 | "authors": [
720 | {
721 | "name": "Qiang Xue",
722 | "email": "qiang.xue@gmail.com"
723 | }
724 | ],
725 | "description": "The Jquery UI extension for the Yii framework",
726 | "keywords": [
727 | "jQuery UI",
728 | "yii2"
729 | ],
730 | "time": "2016-07-22T22:26:59+00:00"
731 | },
732 | {
733 | "name": "yiisoft/yii2-swiftmailer",
734 | "version": "2.0.7",
735 | "source": {
736 | "type": "git",
737 | "url": "https://github.com/yiisoft/yii2-swiftmailer.git",
738 | "reference": "8a03a62cbcb82e7697d3002eb43a8d2637f566ec"
739 | },
740 | "dist": {
741 | "type": "zip",
742 | "url": "https://api.github.com/repos/yiisoft/yii2-swiftmailer/zipball/8a03a62cbcb82e7697d3002eb43a8d2637f566ec",
743 | "reference": "8a03a62cbcb82e7697d3002eb43a8d2637f566ec",
744 | "shasum": ""
745 | },
746 | "require": {
747 | "swiftmailer/swiftmailer": "~5.0",
748 | "yiisoft/yii2": "~2.0.4"
749 | },
750 | "type": "yii2-extension",
751 | "extra": {
752 | "branch-alias": {
753 | "dev-master": "2.0.x-dev"
754 | }
755 | },
756 | "autoload": {
757 | "psr-4": {
758 | "yii\\swiftmailer\\": ""
759 | }
760 | },
761 | "notification-url": "https://packagist.org/downloads/",
762 | "license": [
763 | "BSD-3-Clause"
764 | ],
765 | "authors": [
766 | {
767 | "name": "Paul Klimov",
768 | "email": "klimov.paul@gmail.com"
769 | }
770 | ],
771 | "description": "The SwiftMailer integration for the Yii framework",
772 | "keywords": [
773 | "email",
774 | "mail",
775 | "mailer",
776 | "swift",
777 | "swiftmailer",
778 | "yii2"
779 | ],
780 | "time": "2017-05-01T08:29:00+00:00"
781 | }
782 | ],
783 | "packages-dev": [
784 | {
785 | "name": "bower-asset/typeahead.js",
786 | "version": "v0.11.1",
787 | "source": {
788 | "type": "git",
789 | "url": "https://github.com/twitter/typeahead.js.git",
790 | "reference": "588440f66559714280628a4f9799f0c4eb880a4a"
791 | },
792 | "dist": {
793 | "type": "zip",
794 | "url": "https://api.github.com/repos/twitter/typeahead.js/zipball/588440f66559714280628a4f9799f0c4eb880a4a",
795 | "reference": "588440f66559714280628a4f9799f0c4eb880a4a",
796 | "shasum": ""
797 | },
798 | "require": {
799 | "bower-asset/jquery": ">=1.7"
800 | },
801 | "require-dev": {
802 | "bower-asset/jasmine-ajax": "~1.3.1",
803 | "bower-asset/jasmine-jquery": "~1.5.2",
804 | "bower-asset/jquery": "~1.7"
805 | },
806 | "type": "bower-asset-library",
807 | "extra": {
808 | "bower-asset-main": "dist/typeahead.bundle.js"
809 | }
810 | },
811 | {
812 | "name": "fzaninotto/faker",
813 | "version": "v1.7.1",
814 | "source": {
815 | "type": "git",
816 | "url": "https://github.com/fzaninotto/Faker.git",
817 | "reference": "d3ed4cc37051c1ca52d22d76b437d14809fc7e0d"
818 | },
819 | "dist": {
820 | "type": "zip",
821 | "url": "https://api.github.com/repos/fzaninotto/Faker/zipball/d3ed4cc37051c1ca52d22d76b437d14809fc7e0d",
822 | "reference": "d3ed4cc37051c1ca52d22d76b437d14809fc7e0d",
823 | "shasum": ""
824 | },
825 | "require": {
826 | "php": "^5.3.3 || ^7.0"
827 | },
828 | "require-dev": {
829 | "ext-intl": "*",
830 | "phpunit/phpunit": "^4.0 || ^5.0",
831 | "squizlabs/php_codesniffer": "^1.5"
832 | },
833 | "type": "library",
834 | "extra": {
835 | "branch-alias": {
836 | "dev-master": "1.8-dev"
837 | }
838 | },
839 | "autoload": {
840 | "psr-4": {
841 | "Faker\\": "src/Faker/"
842 | }
843 | },
844 | "notification-url": "https://packagist.org/downloads/",
845 | "license": [
846 | "MIT"
847 | ],
848 | "authors": [
849 | {
850 | "name": "François Zaninotto"
851 | }
852 | ],
853 | "description": "Faker is a PHP library that generates fake data for you.",
854 | "keywords": [
855 | "data",
856 | "faker",
857 | "fixtures"
858 | ],
859 | "time": "2017-08-15T16:48:10+00:00"
860 | },
861 | {
862 | "name": "phpspec/php-diff",
863 | "version": "v1.1.0",
864 | "source": {
865 | "type": "git",
866 | "url": "https://github.com/phpspec/php-diff.git",
867 | "reference": "0464787bfa7cd13576c5a1e318709768798bec6a"
868 | },
869 | "dist": {
870 | "type": "zip",
871 | "url": "https://api.github.com/repos/phpspec/php-diff/zipball/0464787bfa7cd13576c5a1e318709768798bec6a",
872 | "reference": "0464787bfa7cd13576c5a1e318709768798bec6a",
873 | "shasum": ""
874 | },
875 | "type": "library",
876 | "extra": {
877 | "branch-alias": {
878 | "dev-master": "1.0.x-dev"
879 | }
880 | },
881 | "autoload": {
882 | "psr-0": {
883 | "Diff": "lib/"
884 | }
885 | },
886 | "notification-url": "https://packagist.org/downloads/",
887 | "license": [
888 | "BSD-3-Clause"
889 | ],
890 | "authors": [
891 | {
892 | "name": "Chris Boulton",
893 | "homepage": "http://github.com/chrisboulton"
894 | }
895 | ],
896 | "description": "A comprehensive library for generating differences between two hashable objects (strings or arrays).",
897 | "time": "2016-04-07T12:29:16+00:00"
898 | },
899 | {
900 | "name": "yiisoft/yii2-codeception",
901 | "version": "2.0.6",
902 | "source": {
903 | "type": "git",
904 | "url": "https://github.com/yiisoft/yii2-codeception.git",
905 | "reference": "086c8c2d28736e7a484a7a8611b5cc84024e9fb3"
906 | },
907 | "dist": {
908 | "type": "zip",
909 | "url": "https://api.github.com/repos/yiisoft/yii2-codeception/zipball/086c8c2d28736e7a484a7a8611b5cc84024e9fb3",
910 | "reference": "086c8c2d28736e7a484a7a8611b5cc84024e9fb3",
911 | "shasum": ""
912 | },
913 | "require": {
914 | "yiisoft/yii2": ">=2.0.4"
915 | },
916 | "type": "yii2-extension",
917 | "extra": {
918 | "branch-alias": {
919 | "dev-master": "2.0.x-dev"
920 | }
921 | },
922 | "autoload": {
923 | "psr-4": {
924 | "yii\\codeception\\": ""
925 | }
926 | },
927 | "notification-url": "https://packagist.org/downloads/",
928 | "license": [
929 | "BSD-3-Clause"
930 | ],
931 | "authors": [
932 | {
933 | "name": "Mark Jebri",
934 | "email": "mark.github@yandex.ru"
935 | }
936 | ],
937 | "description": "The Codeception integration for the Yii framework",
938 | "keywords": [
939 | "codeception",
940 | "yii2"
941 | ],
942 | "abandoned": "codeception/codeception",
943 | "time": "2017-05-22T12:08:21+00:00"
944 | },
945 | {
946 | "name": "yiisoft/yii2-debug",
947 | "version": "2.0.12",
948 | "source": {
949 | "type": "git",
950 | "url": "https://github.com/yiisoft/yii2-debug.git",
951 | "reference": "93082f46d3568b4431a26f264e0d16a12c42bd50"
952 | },
953 | "dist": {
954 | "type": "zip",
955 | "url": "https://api.github.com/repos/yiisoft/yii2-debug/zipball/93082f46d3568b4431a26f264e0d16a12c42bd50",
956 | "reference": "93082f46d3568b4431a26f264e0d16a12c42bd50",
957 | "shasum": ""
958 | },
959 | "require": {
960 | "yiisoft/yii2": "~2.0.11",
961 | "yiisoft/yii2-bootstrap": "~2.0.0"
962 | },
963 | "type": "yii2-extension",
964 | "extra": {
965 | "branch-alias": {
966 | "dev-master": "2.0.x-dev"
967 | }
968 | },
969 | "autoload": {
970 | "psr-4": {
971 | "yii\\debug\\": ""
972 | }
973 | },
974 | "notification-url": "https://packagist.org/downloads/",
975 | "license": [
976 | "BSD-3-Clause"
977 | ],
978 | "authors": [
979 | {
980 | "name": "Qiang Xue",
981 | "email": "qiang.xue@gmail.com"
982 | }
983 | ],
984 | "description": "The debugger extension for the Yii framework",
985 | "keywords": [
986 | "debug",
987 | "debugger",
988 | "yii2"
989 | ],
990 | "time": "2017-10-09T20:30:01+00:00"
991 | },
992 | {
993 | "name": "yiisoft/yii2-faker",
994 | "version": "2.0.3",
995 | "source": {
996 | "type": "git",
997 | "url": "https://github.com/yiisoft/yii2-faker.git",
998 | "reference": "b88ca69ee226a3610b2c26c026c3203d7ac50f6c"
999 | },
1000 | "dist": {
1001 | "type": "zip",
1002 | "url": "https://api.github.com/repos/yiisoft/yii2-faker/zipball/b88ca69ee226a3610b2c26c026c3203d7ac50f6c",
1003 | "reference": "b88ca69ee226a3610b2c26c026c3203d7ac50f6c",
1004 | "shasum": ""
1005 | },
1006 | "require": {
1007 | "fzaninotto/faker": "*",
1008 | "yiisoft/yii2": "*"
1009 | },
1010 | "type": "yii2-extension",
1011 | "extra": {
1012 | "branch-alias": {
1013 | "dev-master": "2.0.x-dev"
1014 | }
1015 | },
1016 | "autoload": {
1017 | "psr-4": {
1018 | "yii\\faker\\": ""
1019 | }
1020 | },
1021 | "notification-url": "https://packagist.org/downloads/",
1022 | "license": [
1023 | "BSD-3-Clause"
1024 | ],
1025 | "authors": [
1026 | {
1027 | "name": "Mark Jebri",
1028 | "email": "mark.github@yandex.ru"
1029 | }
1030 | ],
1031 | "description": "Fixture generator. The Faker integration for the Yii framework.",
1032 | "keywords": [
1033 | "Fixture",
1034 | "faker",
1035 | "yii2"
1036 | ],
1037 | "time": "2015-03-01T06:22:44+00:00"
1038 | },
1039 | {
1040 | "name": "yiisoft/yii2-gii",
1041 | "version": "2.0.5",
1042 | "source": {
1043 | "type": "git",
1044 | "url": "https://github.com/yiisoft/yii2-gii.git",
1045 | "reference": "1bd6df6804ca077ec022587905a0d43eb286f507"
1046 | },
1047 | "dist": {
1048 | "type": "zip",
1049 | "url": "https://api.github.com/repos/yiisoft/yii2-gii/zipball/1bd6df6804ca077ec022587905a0d43eb286f507",
1050 | "reference": "1bd6df6804ca077ec022587905a0d43eb286f507",
1051 | "shasum": ""
1052 | },
1053 | "require": {
1054 | "bower-asset/typeahead.js": "0.10.* | ~0.11.0",
1055 | "phpspec/php-diff": ">=1.0.2",
1056 | "yiisoft/yii2": ">=2.0.4",
1057 | "yiisoft/yii2-bootstrap": "~2.0"
1058 | },
1059 | "type": "yii2-extension",
1060 | "extra": {
1061 | "branch-alias": {
1062 | "dev-master": "2.0.x-dev"
1063 | },
1064 | "asset-installer-paths": {
1065 | "npm-asset-library": "vendor/npm",
1066 | "bower-asset-library": "vendor/bower"
1067 | }
1068 | },
1069 | "autoload": {
1070 | "psr-4": {
1071 | "yii\\gii\\": ""
1072 | }
1073 | },
1074 | "notification-url": "https://packagist.org/downloads/",
1075 | "license": [
1076 | "BSD-3-Clause"
1077 | ],
1078 | "authors": [
1079 | {
1080 | "name": "Qiang Xue",
1081 | "email": "qiang.xue@gmail.com"
1082 | }
1083 | ],
1084 | "description": "The Gii extension for the Yii framework",
1085 | "keywords": [
1086 | "code generator",
1087 | "gii",
1088 | "yii2"
1089 | ],
1090 | "time": "2016-03-18T14:09:46+00:00"
1091 | }
1092 | ],
1093 | "aliases": [],
1094 | "minimum-stability": "stable",
1095 | "stability-flags": [],
1096 | "prefer-stable": false,
1097 | "prefer-lowest": false,
1098 | "platform": {
1099 | "php": ">=5.4.0"
1100 | },
1101 | "platform-dev": []
1102 | }
1103 |
--------------------------------------------------------------------------------
/2.0/hhvm/nginx/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM nginx:1.7.10
2 | COPY nginx.conf /etc/nginx/nginx.conf
3 |
--------------------------------------------------------------------------------
/2.0/hhvm/nginx/nginx.conf:
--------------------------------------------------------------------------------
1 |
2 | user nginx;
3 | worker_processes 1;
4 |
5 | error_log /var/log/nginx/error.log warn;
6 | pid /var/run/nginx.pid;
7 |
8 | events {
9 | worker_connections 1024;
10 | }
11 |
12 |
13 | http {
14 | include /etc/nginx/mime.types;
15 | default_type application/octet-stream;
16 |
17 | log_format main '$remote_addr - $remote_user [$time_local] "$request" '
18 | '$status $body_bytes_sent "$http_referer" '
19 | '"$http_user_agent" "$http_x_forwarded_for"';
20 |
21 | access_log /var/log/nginx/access.log main;
22 |
23 | sendfile on;
24 | #tcp_nopush on;
25 |
26 | keepalive_timeout 65;
27 |
28 | #gzip on;
29 |
30 | server {
31 | charset utf-8;
32 | client_max_body_size 128M;
33 |
34 | listen 80;
35 |
36 | root /var/www/html/web;
37 | index index.php;
38 |
39 | location / {
40 | # Redirect everything that isn't a real file to index.php
41 | try_files $uri $uri/ /index.php?$args;
42 | }
43 |
44 | # uncomment to avoid processing of calls to non-existing static files by Yii
45 | location ~ \.(js|css|png|jpg|gif|swf|ico|pdf|mov|fla|zip|rar)$ {
46 | try_files $uri =404;
47 | }
48 |
49 | location ~ \.php$ {
50 | include fastcgi_params;
51 | fastcgi_param SCRIPT_FILENAME $document_root/$fastcgi_script_name;
52 | fastcgi_pass app:9000;
53 | try_files $uri =404;
54 | }
55 |
56 | location ~ /\.(ht|svn|git) {
57 | deny all;
58 | }
59 | }
60 |
61 | }
62 |
--------------------------------------------------------------------------------
/2.0/php-fpm/.dockerignore:
--------------------------------------------------------------------------------
1 | Dockerfile
2 |
--------------------------------------------------------------------------------
/2.0/php-fpm/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM php:5.6.18-fpm
2 |
3 | MAINTAINER haertl.mike@gmail.com
4 |
5 | ENV PATH $PATH:/root/.composer/vendor/bin
6 |
7 | # PHP extensions come first, as they are less likely to change between Yii releases
8 | RUN apt-get update \
9 | && apt-get -y install \
10 | git \
11 | g++ \
12 | libicu-dev \
13 | libmcrypt-dev \
14 | zlib1g-dev \
15 | --no-install-recommends \
16 |
17 | # Install PHP extensions
18 | && docker-php-ext-install intl \
19 | && docker-php-ext-install pdo_mysql \
20 | && docker-php-ext-install mbstring \
21 | && docker-php-ext-install mcrypt \
22 | && docker-php-ext-install opcache \
23 | && docker-php-ext-install zip \
24 | && pecl install apcu-4.0.11 && echo extension=apcu.so > /usr/local/etc/php/conf.d/apcu.ini \
25 |
26 | && apt-get purge -y g++ \
27 | && apt-get autoremove -y \
28 | && rm -r /var/lib/apt/lists/* \
29 |
30 | # Don't clear our valuable environment vars in PHP
31 | && echo "\nclear_env = no" >> /usr/local/etc/php-fpm.conf \
32 |
33 | # Fix write permissions with shared folders
34 | && usermod -u 1000 www-data
35 |
36 | # Next composer and global composer package, as their versions may change from time to time
37 | RUN curl -sS https://getcomposer.org/installer | php \
38 | && mv composer.phar /usr/local/bin/composer.phar \
39 | && composer.phar global require --no-progress "fxp/composer-asset-plugin:~1.4.2" \
40 | && composer.phar global require --no-progress "codeception/codeception=2.0.*" \
41 | && composer.phar global require --no-progress "codeception/specify=*" \
42 | && composer.phar global require --no-progress "codeception/verify=*"
43 |
44 | # Nginx example config and composer wrapper
45 | COPY nginx /opt/nginx
46 | COPY composer /usr/local/bin/composer
47 |
48 | WORKDIR /var/www/html
49 |
50 | # Composer packages are installed outside the app directory /var/www/html.
51 | # This way developers can mount the source code from their host directory
52 | # into /var/www/html and won't end up with an empty vendors/ directory.
53 | COPY composer.json /var/www/html/
54 | COPY composer.lock /var/www/html/
55 | RUN composer install --prefer-dist --no-progress \
56 | && rm composer.*
57 |
--------------------------------------------------------------------------------
/2.0/php-fpm/Dockerfile.php7:
--------------------------------------------------------------------------------
1 | FROM php:7.0.8-fpm
2 |
3 | MAINTAINER haertl.mike@gmail.com
4 |
5 | ENV PATH $PATH:/root/.composer/vendor/bin
6 |
7 | # PHP extensions come first, as they are less likely to change between Yii releases
8 | RUN apt-get update \
9 | && apt-get -y install \
10 | git \
11 | g++ \
12 | libicu-dev \
13 | libmcrypt-dev \
14 | zlib1g-dev \
15 | --no-install-recommends \
16 |
17 | # Install PHP extensions
18 | && docker-php-ext-install intl \
19 | && docker-php-ext-install pdo_mysql \
20 | && docker-php-ext-install mbstring \
21 | && docker-php-ext-install mcrypt \
22 | && docker-php-ext-install opcache \
23 | && docker-php-ext-install zip \
24 | && pecl install apcu-5.1.8 && echo extension=apcu.so > /usr/local/etc/php/conf.d/apcu.ini \
25 |
26 | && apt-get purge -y g++ \
27 | && apt-get autoremove -y \
28 | && rm -r /var/lib/apt/lists/* \
29 |
30 | # Don't clear our valuable environment vars in PHP
31 | && echo "\nclear_env = no" >> /usr/local/etc/php-fpm.conf \
32 |
33 | # Fix write permissions with shared folders
34 | && usermod -u 1000 www-data
35 |
36 | # Next composer and global composer package, as their versions may change from time to time
37 | RUN curl -sS https://getcomposer.org/installer | php \
38 | && mv composer.phar /usr/local/bin/composer.phar \
39 | && composer.phar global require --no-progress "fxp/composer-asset-plugin:~1.4.2" \
40 | && composer.phar global require --no-progress "codeception/codeception=2.0.*" \
41 | && composer.phar global require --no-progress "codeception/specify=*" \
42 | && composer.phar global require --no-progress "codeception/verify=*"
43 |
44 | # Nginx example config and composer wrapper
45 | COPY nginx /opt/nginx
46 | COPY composer /usr/local/bin/composer
47 |
48 | WORKDIR /var/www/html
49 |
50 | # Composer packages are installed outside the app directory /var/www/html.
51 | # This way developers can mount the source code from their host directory
52 | # into /var/www/html and won't end up with an empty vendors/ directory.
53 | COPY composer.json /var/www/html/
54 | COPY composer.lock /var/www/html/
55 | RUN composer install --prefer-dist --no-progress \
56 | && rm composer.*
57 |
--------------------------------------------------------------------------------
/2.0/php-fpm/composer:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | if [ -n "$API_TOKEN" ]
4 | then
5 | php /usr/local/bin/composer.phar config -g github-oauth.github.com $API_TOKEN
6 | fi
7 |
8 | exec php /usr/local/bin/composer.phar "$@"
9 |
--------------------------------------------------------------------------------
/2.0/php-fpm/composer.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "mikehaertl/yii2-dockerbase",
3 | "description": "A base docker image for yii2 based docker projects",
4 | "keywords": ["yii2", "framework", "docker"],
5 | "type": "project",
6 | "license": "MIT",
7 | "minimum-stability": "stable",
8 | "require": {
9 | "php": ">=5.4.0",
10 | "yiisoft/yii2": "2.0.13.1",
11 | "yiisoft/yii2-bootstrap": "~2.0.0",
12 | "yiisoft/yii2-jui": "~2.0.0",
13 | "yiisoft/yii2-swiftmailer": "~2.0.0",
14 | "vlucas/phpdotenv": "1.0.*",
15 | "codemix/yii2-streamlog": "1.1.0"
16 | },
17 | "require-dev": {
18 | "yiisoft/yii2-debug": "~2.0.0",
19 | "yiisoft/yii2-gii": "~2.0.0",
20 | "yiisoft/yii2-codeception": "~2.0.0",
21 | "yiisoft/yii2-faker": "~2.0.0"
22 | },
23 | "config": {
24 | "process-timeout": 1800,
25 | "vendor-dir": "/var/www/vendor"
26 | },
27 | "extra": {
28 | "asset-installer-paths": {
29 | "npm-asset-library": "/var/www/vendor/npm",
30 | "bower-asset-library": "/var/www/vendor/bower"
31 | }
32 | }
33 | }
34 |
--------------------------------------------------------------------------------
/2.0/php-fpm/composer.lock:
--------------------------------------------------------------------------------
1 | {
2 | "_readme": [
3 | "This file locks the dependencies of your project to a known state",
4 | "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file",
5 | "This file is @generated automatically"
6 | ],
7 | "content-hash": "c5327b39307e2aeb84c7f5ab216e699a",
8 | "packages": [
9 | {
10 | "name": "bower-asset/bootstrap",
11 | "version": "v3.3.7",
12 | "source": {
13 | "type": "git",
14 | "url": "https://github.com/twbs/bootstrap.git",
15 | "reference": "0b9c4a4007c44201dce9a6cc1a38407005c26c86"
16 | },
17 | "dist": {
18 | "type": "zip",
19 | "url": "https://api.github.com/repos/twbs/bootstrap/zipball/0b9c4a4007c44201dce9a6cc1a38407005c26c86",
20 | "reference": "0b9c4a4007c44201dce9a6cc1a38407005c26c86",
21 | "shasum": ""
22 | },
23 | "require": {
24 | "bower-asset/jquery": ">=1.9.1,<4.0"
25 | },
26 | "type": "bower-asset-library",
27 | "extra": {
28 | "bower-asset-main": [
29 | "less/bootstrap.less",
30 | "dist/js/bootstrap.js"
31 | ],
32 | "bower-asset-ignore": [
33 | "/.*",
34 | "_config.yml",
35 | "CNAME",
36 | "composer.json",
37 | "CONTRIBUTING.md",
38 | "docs",
39 | "js/tests",
40 | "test-infra"
41 | ]
42 | },
43 | "license": [
44 | "MIT"
45 | ],
46 | "description": "The most popular front-end framework for developing responsive, mobile first projects on the web.",
47 | "keywords": [
48 | "css",
49 | "framework",
50 | "front-end",
51 | "js",
52 | "less",
53 | "mobile-first",
54 | "responsive",
55 | "web"
56 | ]
57 | },
58 | {
59 | "name": "bower-asset/inputmask",
60 | "version": "3.3.10",
61 | "source": {
62 | "type": "git",
63 | "url": "https://github.com/RobinHerbots/Inputmask.git",
64 | "reference": "14873e5775964275d13621cbe2b52e4448af3707"
65 | },
66 | "dist": {
67 | "type": "zip",
68 | "url": "https://api.github.com/repos/RobinHerbots/Inputmask/zipball/14873e5775964275d13621cbe2b52e4448af3707",
69 | "reference": "14873e5775964275d13621cbe2b52e4448af3707",
70 | "shasum": ""
71 | },
72 | "require": {
73 | "bower-asset/jquery": ">=1.7"
74 | },
75 | "type": "bower-asset-library",
76 | "extra": {
77 | "bower-asset-main": [
78 | "./dist/inputmask/inputmask.js",
79 | "./dist/inputmask/inputmask.extensions.js",
80 | "./dist/inputmask/inputmask.date.extensions.js",
81 | "./dist/inputmask/inputmask.numeric.extensions.js",
82 | "./dist/inputmask/inputmask.phone.extensions.js",
83 | "./dist/inputmask/jquery.inputmask.js",
84 | "./dist/inputmask/global/document.js",
85 | "./dist/inputmask/global/window.js",
86 | "./dist/inputmask/phone-codes/phone.js",
87 | "./dist/inputmask/phone-codes/phone-be.js",
88 | "./dist/inputmask/phone-codes/phone-nl.js",
89 | "./dist/inputmask/phone-codes/phone-ru.js",
90 | "./dist/inputmask/phone-codes/phone-uk.js",
91 | "./dist/inputmask/dependencyLibs/inputmask.dependencyLib.jqlite.js",
92 | "./dist/inputmask/dependencyLibs/inputmask.dependencyLib.jquery.js",
93 | "./dist/inputmask/dependencyLibs/inputmask.dependencyLib.js",
94 | "./dist/inputmask/bindings/inputmask.binding.js"
95 | ],
96 | "bower-asset-ignore": [
97 | "**/*",
98 | "!dist/*",
99 | "!dist/inputmask/*",
100 | "!dist/min/*",
101 | "!dist/min/inputmask/*"
102 | ]
103 | },
104 | "license": [
105 | "http://opensource.org/licenses/mit-license.php"
106 | ],
107 | "description": "Inputmask is a javascript library which creates an input mask. Inputmask can run against vanilla javascript, jQuery and jqlite.",
108 | "keywords": [
109 | "form",
110 | "input",
111 | "inputmask",
112 | "jquery",
113 | "mask",
114 | "plugins"
115 | ]
116 | },
117 | {
118 | "name": "bower-asset/jquery",
119 | "version": "3.2.1",
120 | "source": {
121 | "type": "git",
122 | "url": "https://github.com/jquery/jquery-dist.git",
123 | "reference": "77d2a51d0520d2ee44173afdf4e40a9201f5964e"
124 | },
125 | "dist": {
126 | "type": "zip",
127 | "url": "https://api.github.com/repos/jquery/jquery-dist/zipball/77d2a51d0520d2ee44173afdf4e40a9201f5964e",
128 | "reference": "77d2a51d0520d2ee44173afdf4e40a9201f5964e",
129 | "shasum": ""
130 | },
131 | "type": "bower-asset-library",
132 | "extra": {
133 | "bower-asset-main": "dist/jquery.js",
134 | "bower-asset-ignore": [
135 | "package.json"
136 | ]
137 | },
138 | "license": [
139 | "MIT"
140 | ],
141 | "keywords": [
142 | "browser",
143 | "javascript",
144 | "jquery",
145 | "library"
146 | ]
147 | },
148 | {
149 | "name": "bower-asset/jquery-ui",
150 | "version": "1.11.4",
151 | "source": {
152 | "type": "git",
153 | "url": "https://github.com/components/jqueryui.git",
154 | "reference": "c34f8dbf3ba57b3784b93f26119f436c0e8288e1"
155 | },
156 | "dist": {
157 | "type": "zip",
158 | "url": "https://api.github.com/repos/components/jqueryui/zipball/c34f8dbf3ba57b3784b93f26119f436c0e8288e1",
159 | "reference": "c34f8dbf3ba57b3784b93f26119f436c0e8288e1",
160 | "shasum": ""
161 | },
162 | "require": {
163 | "bower-asset/jquery": ">=1.6"
164 | },
165 | "type": "bower-asset-library",
166 | "extra": {
167 | "bower-asset-main": [
168 | "jquery-ui.js"
169 | ],
170 | "bower-asset-ignore": []
171 | }
172 | },
173 | {
174 | "name": "bower-asset/punycode",
175 | "version": "v1.3.2",
176 | "source": {
177 | "type": "git",
178 | "url": "https://github.com/bestiejs/punycode.js.git",
179 | "reference": "38c8d3131a82567bfef18da09f7f4db68c84f8a3"
180 | },
181 | "dist": {
182 | "type": "zip",
183 | "url": "https://api.github.com/repos/bestiejs/punycode.js/zipball/38c8d3131a82567bfef18da09f7f4db68c84f8a3",
184 | "reference": "38c8d3131a82567bfef18da09f7f4db68c84f8a3",
185 | "shasum": ""
186 | },
187 | "type": "bower-asset-library",
188 | "extra": {
189 | "bower-asset-main": "punycode.js",
190 | "bower-asset-ignore": [
191 | "coverage",
192 | "tests",
193 | ".*",
194 | "component.json",
195 | "Gruntfile.js",
196 | "node_modules",
197 | "package.json"
198 | ]
199 | }
200 | },
201 | {
202 | "name": "bower-asset/yii2-pjax",
203 | "version": "2.0.7.1",
204 | "source": {
205 | "type": "git",
206 | "url": "https://github.com/yiisoft/jquery-pjax.git",
207 | "reference": "aef7b953107264f00234902a3880eb50dafc48be"
208 | },
209 | "dist": {
210 | "type": "zip",
211 | "url": "https://api.github.com/repos/yiisoft/jquery-pjax/zipball/aef7b953107264f00234902a3880eb50dafc48be",
212 | "reference": "aef7b953107264f00234902a3880eb50dafc48be",
213 | "shasum": ""
214 | },
215 | "require": {
216 | "bower-asset/jquery": ">=1.8"
217 | },
218 | "type": "bower-asset-library",
219 | "extra": {
220 | "bower-asset-main": "./jquery.pjax.js",
221 | "bower-asset-ignore": [
222 | ".travis.yml",
223 | "Gemfile",
224 | "Gemfile.lock",
225 | "CONTRIBUTING.md",
226 | "vendor/",
227 | "script/",
228 | "test/"
229 | ]
230 | },
231 | "license": [
232 | "MIT"
233 | ]
234 | },
235 | {
236 | "name": "cebe/markdown",
237 | "version": "1.1.2",
238 | "source": {
239 | "type": "git",
240 | "url": "https://github.com/cebe/markdown.git",
241 | "reference": "25b28bae8a6f185b5030673af77b32e1163d5c6e"
242 | },
243 | "dist": {
244 | "type": "zip",
245 | "url": "https://api.github.com/repos/cebe/markdown/zipball/25b28bae8a6f185b5030673af77b32e1163d5c6e",
246 | "reference": "25b28bae8a6f185b5030673af77b32e1163d5c6e",
247 | "shasum": ""
248 | },
249 | "require": {
250 | "lib-pcre": "*",
251 | "php": ">=5.4.0"
252 | },
253 | "require-dev": {
254 | "cebe/indent": "*",
255 | "facebook/xhprof": "*@dev",
256 | "phpunit/phpunit": "4.1.*"
257 | },
258 | "bin": [
259 | "bin/markdown"
260 | ],
261 | "type": "library",
262 | "extra": {
263 | "branch-alias": {
264 | "dev-master": "1.1.x-dev"
265 | }
266 | },
267 | "autoload": {
268 | "psr-4": {
269 | "cebe\\markdown\\": ""
270 | }
271 | },
272 | "notification-url": "https://packagist.org/downloads/",
273 | "license": [
274 | "MIT"
275 | ],
276 | "authors": [
277 | {
278 | "name": "Carsten Brandt",
279 | "email": "mail@cebe.cc",
280 | "homepage": "http://cebe.cc/",
281 | "role": "Creator"
282 | }
283 | ],
284 | "description": "A super fast, highly extensible markdown parser for PHP",
285 | "homepage": "https://github.com/cebe/markdown#readme",
286 | "keywords": [
287 | "extensible",
288 | "fast",
289 | "gfm",
290 | "markdown",
291 | "markdown-extra"
292 | ],
293 | "time": "2017-07-16T21:13:23+00:00"
294 | },
295 | {
296 | "name": "codemix/yii2-streamlog",
297 | "version": "1.1.0",
298 | "source": {
299 | "type": "git",
300 | "url": "https://github.com/codemix/yii2-streamlog.git",
301 | "reference": "ba21038819d2c5190caa30f62f9c2408eb1b06d0"
302 | },
303 | "dist": {
304 | "type": "zip",
305 | "url": "https://api.github.com/repos/codemix/yii2-streamlog/zipball/ba21038819d2c5190caa30f62f9c2408eb1b06d0",
306 | "reference": "ba21038819d2c5190caa30f62f9c2408eb1b06d0",
307 | "shasum": ""
308 | },
309 | "type": "library",
310 | "autoload": {
311 | "psr-4": {
312 | "codemix\\streamlog\\": "src/"
313 | }
314 | },
315 | "notification-url": "https://packagist.org/downloads/",
316 | "license": [
317 | "MIT"
318 | ],
319 | "authors": [
320 | {
321 | "name": "Michael Härtl",
322 | "email": "haertl.mike@gmail.com"
323 | }
324 | ],
325 | "description": "A Yii 2 log target for streams in URL format",
326 | "keywords": [
327 | "log",
328 | "stdout",
329 | "stream",
330 | "yii2"
331 | ],
332 | "time": "2017-01-28T08:01:44+00:00"
333 | },
334 | {
335 | "name": "ezyang/htmlpurifier",
336 | "version": "v4.9.3",
337 | "source": {
338 | "type": "git",
339 | "url": "https://github.com/ezyang/htmlpurifier.git",
340 | "reference": "95e1bae3182efc0f3422896a3236e991049dac69"
341 | },
342 | "dist": {
343 | "type": "zip",
344 | "url": "https://api.github.com/repos/ezyang/htmlpurifier/zipball/95e1bae3182efc0f3422896a3236e991049dac69",
345 | "reference": "95e1bae3182efc0f3422896a3236e991049dac69",
346 | "shasum": ""
347 | },
348 | "require": {
349 | "php": ">=5.2"
350 | },
351 | "require-dev": {
352 | "simpletest/simpletest": "^1.1"
353 | },
354 | "type": "library",
355 | "autoload": {
356 | "psr-0": {
357 | "HTMLPurifier": "library/"
358 | },
359 | "files": [
360 | "library/HTMLPurifier.composer.php"
361 | ]
362 | },
363 | "notification-url": "https://packagist.org/downloads/",
364 | "license": [
365 | "LGPL"
366 | ],
367 | "authors": [
368 | {
369 | "name": "Edward Z. Yang",
370 | "email": "admin@htmlpurifier.org",
371 | "homepage": "http://ezyang.com"
372 | }
373 | ],
374 | "description": "Standards compliant HTML filter written in PHP",
375 | "homepage": "http://htmlpurifier.org/",
376 | "keywords": [
377 | "html"
378 | ],
379 | "time": "2017-06-03T02:28:16+00:00"
380 | },
381 | {
382 | "name": "swiftmailer/swiftmailer",
383 | "version": "v5.4.8",
384 | "source": {
385 | "type": "git",
386 | "url": "https://github.com/swiftmailer/swiftmailer.git",
387 | "reference": "9a06dc570a0367850280eefd3f1dc2da45aef517"
388 | },
389 | "dist": {
390 | "type": "zip",
391 | "url": "https://api.github.com/repos/swiftmailer/swiftmailer/zipball/9a06dc570a0367850280eefd3f1dc2da45aef517",
392 | "reference": "9a06dc570a0367850280eefd3f1dc2da45aef517",
393 | "shasum": ""
394 | },
395 | "require": {
396 | "php": ">=5.3.3"
397 | },
398 | "require-dev": {
399 | "mockery/mockery": "~0.9.1",
400 | "symfony/phpunit-bridge": "~3.2"
401 | },
402 | "type": "library",
403 | "extra": {
404 | "branch-alias": {
405 | "dev-master": "5.4-dev"
406 | }
407 | },
408 | "autoload": {
409 | "files": [
410 | "lib/swift_required.php"
411 | ]
412 | },
413 | "notification-url": "https://packagist.org/downloads/",
414 | "license": [
415 | "MIT"
416 | ],
417 | "authors": [
418 | {
419 | "name": "Chris Corbyn"
420 | },
421 | {
422 | "name": "Fabien Potencier",
423 | "email": "fabien@symfony.com"
424 | }
425 | ],
426 | "description": "Swiftmailer, free feature-rich PHP mailer",
427 | "homepage": "http://swiftmailer.org",
428 | "keywords": [
429 | "email",
430 | "mail",
431 | "mailer"
432 | ],
433 | "time": "2017-05-01T15:54:03+00:00"
434 | },
435 | {
436 | "name": "vlucas/phpdotenv",
437 | "version": "v1.0.9",
438 | "source": {
439 | "type": "git",
440 | "url": "https://github.com/vlucas/phpdotenv.git",
441 | "reference": "56c252d48dce336da97926591aed71805203815b"
442 | },
443 | "dist": {
444 | "type": "zip",
445 | "url": "https://api.github.com/repos/vlucas/phpdotenv/zipball/56c252d48dce336da97926591aed71805203815b",
446 | "reference": "56c252d48dce336da97926591aed71805203815b",
447 | "shasum": ""
448 | },
449 | "require": {
450 | "php": ">=5.3.2"
451 | },
452 | "require-dev": {
453 | "phpunit/phpunit": "~4.0"
454 | },
455 | "type": "library",
456 | "extra": {
457 | "branch-alias": {
458 | "dev-master": "1.0-dev"
459 | }
460 | },
461 | "autoload": {
462 | "psr-0": {
463 | "Dotenv": "src/"
464 | }
465 | },
466 | "notification-url": "https://packagist.org/downloads/",
467 | "license": [
468 | "BSD"
469 | ],
470 | "authors": [
471 | {
472 | "name": "Vance Lucas",
473 | "email": "vance@vancelucas.com",
474 | "homepage": "http://www.vancelucas.com"
475 | }
476 | ],
477 | "description": "Loads environment variables from `.env` to `getenv()`, `$_ENV` and `$_SERVER` automagically.",
478 | "homepage": "http://github.com/vlucas/phpdotenv",
479 | "keywords": [
480 | "dotenv",
481 | "env",
482 | "environment"
483 | ],
484 | "time": "2014-10-16T14:50:21+00:00"
485 | },
486 | {
487 | "name": "yiisoft/yii2",
488 | "version": "2.0.13.1",
489 | "source": {
490 | "type": "git",
491 | "url": "https://github.com/yiisoft/yii2-framework.git",
492 | "reference": "7af96d8da5ea3e9a5dd05d0e734b21c5726a6ddf"
493 | },
494 | "dist": {
495 | "type": "zip",
496 | "url": "https://api.github.com/repos/yiisoft/yii2-framework/zipball/7af96d8da5ea3e9a5dd05d0e734b21c5726a6ddf",
497 | "reference": "7af96d8da5ea3e9a5dd05d0e734b21c5726a6ddf",
498 | "shasum": ""
499 | },
500 | "require": {
501 | "bower-asset/inputmask": "~3.2.2 | ~3.3.5",
502 | "bower-asset/jquery": "3.2.*@stable | 3.1.*@stable | 2.2.*@stable | 2.1.*@stable | 1.11.*@stable | 1.12.*@stable",
503 | "bower-asset/punycode": "1.3.*",
504 | "bower-asset/yii2-pjax": "~2.0.1",
505 | "cebe/markdown": "~1.0.0 | ~1.1.0",
506 | "ext-ctype": "*",
507 | "ext-mbstring": "*",
508 | "ezyang/htmlpurifier": "~4.6",
509 | "lib-pcre": "*",
510 | "php": ">=5.4.0",
511 | "yiisoft/yii2-composer": "~2.0.4"
512 | },
513 | "bin": [
514 | "yii"
515 | ],
516 | "type": "library",
517 | "extra": {
518 | "branch-alias": {
519 | "dev-master": "2.0.x-dev"
520 | }
521 | },
522 | "autoload": {
523 | "psr-4": {
524 | "yii\\": ""
525 | }
526 | },
527 | "notification-url": "https://packagist.org/downloads/",
528 | "license": [
529 | "BSD-3-Clause"
530 | ],
531 | "authors": [
532 | {
533 | "name": "Qiang Xue",
534 | "email": "qiang.xue@gmail.com",
535 | "homepage": "http://www.yiiframework.com/",
536 | "role": "Founder and project lead"
537 | },
538 | {
539 | "name": "Alexander Makarov",
540 | "email": "sam@rmcreative.ru",
541 | "homepage": "http://rmcreative.ru/",
542 | "role": "Core framework development"
543 | },
544 | {
545 | "name": "Maurizio Domba",
546 | "homepage": "http://mdomba.info/",
547 | "role": "Core framework development"
548 | },
549 | {
550 | "name": "Carsten Brandt",
551 | "email": "mail@cebe.cc",
552 | "homepage": "http://cebe.cc/",
553 | "role": "Core framework development"
554 | },
555 | {
556 | "name": "Timur Ruziev",
557 | "email": "resurtm@gmail.com",
558 | "homepage": "http://resurtm.com/",
559 | "role": "Core framework development"
560 | },
561 | {
562 | "name": "Paul Klimov",
563 | "email": "klimov.paul@gmail.com",
564 | "role": "Core framework development"
565 | },
566 | {
567 | "name": "Dmitry Naumenko",
568 | "email": "d.naumenko.a@gmail.com",
569 | "role": "Core framework development"
570 | },
571 | {
572 | "name": "Boudewijn Vahrmeijer",
573 | "email": "info@dynasource.eu",
574 | "homepage": "http://dynasource.eu",
575 | "role": "Core framework development"
576 | }
577 | ],
578 | "description": "Yii PHP Framework Version 2",
579 | "homepage": "http://www.yiiframework.com/",
580 | "keywords": [
581 | "framework",
582 | "yii2"
583 | ],
584 | "time": "2017-11-14T11:08:21+00:00"
585 | },
586 | {
587 | "name": "yiisoft/yii2-bootstrap",
588 | "version": "2.0.7",
589 | "source": {
590 | "type": "git",
591 | "url": "https://github.com/yiisoft/yii2-bootstrap.git",
592 | "reference": "02a54d868343ed11d02f0f0f8cbbecb590e0cb3f"
593 | },
594 | "dist": {
595 | "type": "zip",
596 | "url": "https://api.github.com/repos/yiisoft/yii2-bootstrap/zipball/02a54d868343ed11d02f0f0f8cbbecb590e0cb3f",
597 | "reference": "02a54d868343ed11d02f0f0f8cbbecb590e0cb3f",
598 | "shasum": ""
599 | },
600 | "require": {
601 | "bower-asset/bootstrap": "3.3.* | 3.2.* | 3.1.*",
602 | "yiisoft/yii2": "~2.0.6"
603 | },
604 | "type": "yii2-extension",
605 | "extra": {
606 | "branch-alias": {
607 | "dev-master": "2.0.x-dev"
608 | }
609 | },
610 | "autoload": {
611 | "psr-4": {
612 | "yii\\bootstrap\\": ""
613 | }
614 | },
615 | "notification-url": "https://packagist.org/downloads/",
616 | "license": [
617 | "BSD-3-Clause"
618 | ],
619 | "authors": [
620 | {
621 | "name": "Qiang Xue",
622 | "email": "qiang.xue@gmail.com"
623 | }
624 | ],
625 | "description": "The Twitter Bootstrap extension for the Yii framework",
626 | "keywords": [
627 | "bootstrap",
628 | "yii2"
629 | ],
630 | "time": "2017-10-09T19:48:22+00:00"
631 | },
632 | {
633 | "name": "yiisoft/yii2-composer",
634 | "version": "2.0.5",
635 | "source": {
636 | "type": "git",
637 | "url": "https://github.com/yiisoft/yii2-composer.git",
638 | "reference": "3f4923c2bde6caf3f5b88cc22fdd5770f52f8df2"
639 | },
640 | "dist": {
641 | "type": "zip",
642 | "url": "https://api.github.com/repos/yiisoft/yii2-composer/zipball/3f4923c2bde6caf3f5b88cc22fdd5770f52f8df2",
643 | "reference": "3f4923c2bde6caf3f5b88cc22fdd5770f52f8df2",
644 | "shasum": ""
645 | },
646 | "require": {
647 | "composer-plugin-api": "^1.0"
648 | },
649 | "require-dev": {
650 | "composer/composer": "^1.0"
651 | },
652 | "type": "composer-plugin",
653 | "extra": {
654 | "class": "yii\\composer\\Plugin",
655 | "branch-alias": {
656 | "dev-master": "2.0.x-dev"
657 | }
658 | },
659 | "autoload": {
660 | "psr-4": {
661 | "yii\\composer\\": ""
662 | }
663 | },
664 | "notification-url": "https://packagist.org/downloads/",
665 | "license": [
666 | "BSD-3-Clause"
667 | ],
668 | "authors": [
669 | {
670 | "name": "Qiang Xue",
671 | "email": "qiang.xue@gmail.com"
672 | }
673 | ],
674 | "description": "The composer plugin for Yii extension installer",
675 | "keywords": [
676 | "composer",
677 | "extension installer",
678 | "yii2"
679 | ],
680 | "time": "2016-12-20T13:26:02+00:00"
681 | },
682 | {
683 | "name": "yiisoft/yii2-jui",
684 | "version": "2.0.6",
685 | "source": {
686 | "type": "git",
687 | "url": "https://github.com/yiisoft/yii2-jui.git",
688 | "reference": "843a2160cfe30f5c8b0cb2e9dbd8ee6bcf97e71d"
689 | },
690 | "dist": {
691 | "type": "zip",
692 | "url": "https://api.github.com/repos/yiisoft/yii2-jui/zipball/843a2160cfe30f5c8b0cb2e9dbd8ee6bcf97e71d",
693 | "reference": "843a2160cfe30f5c8b0cb2e9dbd8ee6bcf97e71d",
694 | "shasum": ""
695 | },
696 | "require": {
697 | "bower-asset/jquery-ui": "1.11.*@stable",
698 | "yiisoft/yii2": ">=2.0.4"
699 | },
700 | "type": "yii2-extension",
701 | "extra": {
702 | "branch-alias": {
703 | "dev-master": "2.0.x-dev"
704 | },
705 | "asset-installer-paths": {
706 | "npm-asset-library": "vendor/npm",
707 | "bower-asset-library": "vendor/bower"
708 | }
709 | },
710 | "autoload": {
711 | "psr-4": {
712 | "yii\\jui\\": ""
713 | }
714 | },
715 | "notification-url": "https://packagist.org/downloads/",
716 | "license": [
717 | "BSD-3-Clause"
718 | ],
719 | "authors": [
720 | {
721 | "name": "Qiang Xue",
722 | "email": "qiang.xue@gmail.com"
723 | }
724 | ],
725 | "description": "The Jquery UI extension for the Yii framework",
726 | "keywords": [
727 | "jQuery UI",
728 | "yii2"
729 | ],
730 | "time": "2016-07-22T22:26:59+00:00"
731 | },
732 | {
733 | "name": "yiisoft/yii2-swiftmailer",
734 | "version": "2.0.7",
735 | "source": {
736 | "type": "git",
737 | "url": "https://github.com/yiisoft/yii2-swiftmailer.git",
738 | "reference": "8a03a62cbcb82e7697d3002eb43a8d2637f566ec"
739 | },
740 | "dist": {
741 | "type": "zip",
742 | "url": "https://api.github.com/repos/yiisoft/yii2-swiftmailer/zipball/8a03a62cbcb82e7697d3002eb43a8d2637f566ec",
743 | "reference": "8a03a62cbcb82e7697d3002eb43a8d2637f566ec",
744 | "shasum": ""
745 | },
746 | "require": {
747 | "swiftmailer/swiftmailer": "~5.0",
748 | "yiisoft/yii2": "~2.0.4"
749 | },
750 | "type": "yii2-extension",
751 | "extra": {
752 | "branch-alias": {
753 | "dev-master": "2.0.x-dev"
754 | }
755 | },
756 | "autoload": {
757 | "psr-4": {
758 | "yii\\swiftmailer\\": ""
759 | }
760 | },
761 | "notification-url": "https://packagist.org/downloads/",
762 | "license": [
763 | "BSD-3-Clause"
764 | ],
765 | "authors": [
766 | {
767 | "name": "Paul Klimov",
768 | "email": "klimov.paul@gmail.com"
769 | }
770 | ],
771 | "description": "The SwiftMailer integration for the Yii framework",
772 | "keywords": [
773 | "email",
774 | "mail",
775 | "mailer",
776 | "swift",
777 | "swiftmailer",
778 | "yii2"
779 | ],
780 | "time": "2017-05-01T08:29:00+00:00"
781 | }
782 | ],
783 | "packages-dev": [
784 | {
785 | "name": "bower-asset/typeahead.js",
786 | "version": "v0.11.1",
787 | "source": {
788 | "type": "git",
789 | "url": "https://github.com/twitter/typeahead.js.git",
790 | "reference": "588440f66559714280628a4f9799f0c4eb880a4a"
791 | },
792 | "dist": {
793 | "type": "zip",
794 | "url": "https://api.github.com/repos/twitter/typeahead.js/zipball/588440f66559714280628a4f9799f0c4eb880a4a",
795 | "reference": "588440f66559714280628a4f9799f0c4eb880a4a",
796 | "shasum": ""
797 | },
798 | "require": {
799 | "bower-asset/jquery": ">=1.7"
800 | },
801 | "require-dev": {
802 | "bower-asset/jasmine-ajax": "~1.3.1",
803 | "bower-asset/jasmine-jquery": "~1.5.2",
804 | "bower-asset/jquery": "~1.7"
805 | },
806 | "type": "bower-asset-library",
807 | "extra": {
808 | "bower-asset-main": "dist/typeahead.bundle.js"
809 | }
810 | },
811 | {
812 | "name": "fzaninotto/faker",
813 | "version": "v1.7.1",
814 | "source": {
815 | "type": "git",
816 | "url": "https://github.com/fzaninotto/Faker.git",
817 | "reference": "d3ed4cc37051c1ca52d22d76b437d14809fc7e0d"
818 | },
819 | "dist": {
820 | "type": "zip",
821 | "url": "https://api.github.com/repos/fzaninotto/Faker/zipball/d3ed4cc37051c1ca52d22d76b437d14809fc7e0d",
822 | "reference": "d3ed4cc37051c1ca52d22d76b437d14809fc7e0d",
823 | "shasum": ""
824 | },
825 | "require": {
826 | "php": "^5.3.3 || ^7.0"
827 | },
828 | "require-dev": {
829 | "ext-intl": "*",
830 | "phpunit/phpunit": "^4.0 || ^5.0",
831 | "squizlabs/php_codesniffer": "^1.5"
832 | },
833 | "type": "library",
834 | "extra": {
835 | "branch-alias": {
836 | "dev-master": "1.8-dev"
837 | }
838 | },
839 | "autoload": {
840 | "psr-4": {
841 | "Faker\\": "src/Faker/"
842 | }
843 | },
844 | "notification-url": "https://packagist.org/downloads/",
845 | "license": [
846 | "MIT"
847 | ],
848 | "authors": [
849 | {
850 | "name": "François Zaninotto"
851 | }
852 | ],
853 | "description": "Faker is a PHP library that generates fake data for you.",
854 | "keywords": [
855 | "data",
856 | "faker",
857 | "fixtures"
858 | ],
859 | "time": "2017-08-15T16:48:10+00:00"
860 | },
861 | {
862 | "name": "phpspec/php-diff",
863 | "version": "v1.1.0",
864 | "source": {
865 | "type": "git",
866 | "url": "https://github.com/phpspec/php-diff.git",
867 | "reference": "0464787bfa7cd13576c5a1e318709768798bec6a"
868 | },
869 | "dist": {
870 | "type": "zip",
871 | "url": "https://api.github.com/repos/phpspec/php-diff/zipball/0464787bfa7cd13576c5a1e318709768798bec6a",
872 | "reference": "0464787bfa7cd13576c5a1e318709768798bec6a",
873 | "shasum": ""
874 | },
875 | "type": "library",
876 | "extra": {
877 | "branch-alias": {
878 | "dev-master": "1.0.x-dev"
879 | }
880 | },
881 | "autoload": {
882 | "psr-0": {
883 | "Diff": "lib/"
884 | }
885 | },
886 | "notification-url": "https://packagist.org/downloads/",
887 | "license": [
888 | "BSD-3-Clause"
889 | ],
890 | "authors": [
891 | {
892 | "name": "Chris Boulton",
893 | "homepage": "http://github.com/chrisboulton"
894 | }
895 | ],
896 | "description": "A comprehensive library for generating differences between two hashable objects (strings or arrays).",
897 | "time": "2016-04-07T12:29:16+00:00"
898 | },
899 | {
900 | "name": "yiisoft/yii2-codeception",
901 | "version": "2.0.6",
902 | "source": {
903 | "type": "git",
904 | "url": "https://github.com/yiisoft/yii2-codeception.git",
905 | "reference": "086c8c2d28736e7a484a7a8611b5cc84024e9fb3"
906 | },
907 | "dist": {
908 | "type": "zip",
909 | "url": "https://api.github.com/repos/yiisoft/yii2-codeception/zipball/086c8c2d28736e7a484a7a8611b5cc84024e9fb3",
910 | "reference": "086c8c2d28736e7a484a7a8611b5cc84024e9fb3",
911 | "shasum": ""
912 | },
913 | "require": {
914 | "yiisoft/yii2": ">=2.0.4"
915 | },
916 | "type": "yii2-extension",
917 | "extra": {
918 | "branch-alias": {
919 | "dev-master": "2.0.x-dev"
920 | }
921 | },
922 | "autoload": {
923 | "psr-4": {
924 | "yii\\codeception\\": ""
925 | }
926 | },
927 | "notification-url": "https://packagist.org/downloads/",
928 | "license": [
929 | "BSD-3-Clause"
930 | ],
931 | "authors": [
932 | {
933 | "name": "Mark Jebri",
934 | "email": "mark.github@yandex.ru"
935 | }
936 | ],
937 | "description": "The Codeception integration for the Yii framework",
938 | "keywords": [
939 | "codeception",
940 | "yii2"
941 | ],
942 | "abandoned": "codeception/codeception",
943 | "time": "2017-05-22T12:08:21+00:00"
944 | },
945 | {
946 | "name": "yiisoft/yii2-debug",
947 | "version": "2.0.12",
948 | "source": {
949 | "type": "git",
950 | "url": "https://github.com/yiisoft/yii2-debug.git",
951 | "reference": "93082f46d3568b4431a26f264e0d16a12c42bd50"
952 | },
953 | "dist": {
954 | "type": "zip",
955 | "url": "https://api.github.com/repos/yiisoft/yii2-debug/zipball/93082f46d3568b4431a26f264e0d16a12c42bd50",
956 | "reference": "93082f46d3568b4431a26f264e0d16a12c42bd50",
957 | "shasum": ""
958 | },
959 | "require": {
960 | "yiisoft/yii2": "~2.0.11",
961 | "yiisoft/yii2-bootstrap": "~2.0.0"
962 | },
963 | "type": "yii2-extension",
964 | "extra": {
965 | "branch-alias": {
966 | "dev-master": "2.0.x-dev"
967 | }
968 | },
969 | "autoload": {
970 | "psr-4": {
971 | "yii\\debug\\": ""
972 | }
973 | },
974 | "notification-url": "https://packagist.org/downloads/",
975 | "license": [
976 | "BSD-3-Clause"
977 | ],
978 | "authors": [
979 | {
980 | "name": "Qiang Xue",
981 | "email": "qiang.xue@gmail.com"
982 | }
983 | ],
984 | "description": "The debugger extension for the Yii framework",
985 | "keywords": [
986 | "debug",
987 | "debugger",
988 | "yii2"
989 | ],
990 | "time": "2017-10-09T20:30:01+00:00"
991 | },
992 | {
993 | "name": "yiisoft/yii2-faker",
994 | "version": "2.0.3",
995 | "source": {
996 | "type": "git",
997 | "url": "https://github.com/yiisoft/yii2-faker.git",
998 | "reference": "b88ca69ee226a3610b2c26c026c3203d7ac50f6c"
999 | },
1000 | "dist": {
1001 | "type": "zip",
1002 | "url": "https://api.github.com/repos/yiisoft/yii2-faker/zipball/b88ca69ee226a3610b2c26c026c3203d7ac50f6c",
1003 | "reference": "b88ca69ee226a3610b2c26c026c3203d7ac50f6c",
1004 | "shasum": ""
1005 | },
1006 | "require": {
1007 | "fzaninotto/faker": "*",
1008 | "yiisoft/yii2": "*"
1009 | },
1010 | "type": "yii2-extension",
1011 | "extra": {
1012 | "branch-alias": {
1013 | "dev-master": "2.0.x-dev"
1014 | }
1015 | },
1016 | "autoload": {
1017 | "psr-4": {
1018 | "yii\\faker\\": ""
1019 | }
1020 | },
1021 | "notification-url": "https://packagist.org/downloads/",
1022 | "license": [
1023 | "BSD-3-Clause"
1024 | ],
1025 | "authors": [
1026 | {
1027 | "name": "Mark Jebri",
1028 | "email": "mark.github@yandex.ru"
1029 | }
1030 | ],
1031 | "description": "Fixture generator. The Faker integration for the Yii framework.",
1032 | "keywords": [
1033 | "Fixture",
1034 | "faker",
1035 | "yii2"
1036 | ],
1037 | "time": "2015-03-01T06:22:44+00:00"
1038 | },
1039 | {
1040 | "name": "yiisoft/yii2-gii",
1041 | "version": "2.0.5",
1042 | "source": {
1043 | "type": "git",
1044 | "url": "https://github.com/yiisoft/yii2-gii.git",
1045 | "reference": "1bd6df6804ca077ec022587905a0d43eb286f507"
1046 | },
1047 | "dist": {
1048 | "type": "zip",
1049 | "url": "https://api.github.com/repos/yiisoft/yii2-gii/zipball/1bd6df6804ca077ec022587905a0d43eb286f507",
1050 | "reference": "1bd6df6804ca077ec022587905a0d43eb286f507",
1051 | "shasum": ""
1052 | },
1053 | "require": {
1054 | "bower-asset/typeahead.js": "0.10.* | ~0.11.0",
1055 | "phpspec/php-diff": ">=1.0.2",
1056 | "yiisoft/yii2": ">=2.0.4",
1057 | "yiisoft/yii2-bootstrap": "~2.0"
1058 | },
1059 | "type": "yii2-extension",
1060 | "extra": {
1061 | "branch-alias": {
1062 | "dev-master": "2.0.x-dev"
1063 | },
1064 | "asset-installer-paths": {
1065 | "npm-asset-library": "vendor/npm",
1066 | "bower-asset-library": "vendor/bower"
1067 | }
1068 | },
1069 | "autoload": {
1070 | "psr-4": {
1071 | "yii\\gii\\": ""
1072 | }
1073 | },
1074 | "notification-url": "https://packagist.org/downloads/",
1075 | "license": [
1076 | "BSD-3-Clause"
1077 | ],
1078 | "authors": [
1079 | {
1080 | "name": "Qiang Xue",
1081 | "email": "qiang.xue@gmail.com"
1082 | }
1083 | ],
1084 | "description": "The Gii extension for the Yii framework",
1085 | "keywords": [
1086 | "code generator",
1087 | "gii",
1088 | "yii2"
1089 | ],
1090 | "time": "2016-03-18T14:09:46+00:00"
1091 | }
1092 | ],
1093 | "aliases": [],
1094 | "minimum-stability": "stable",
1095 | "stability-flags": [],
1096 | "prefer-stable": false,
1097 | "prefer-lowest": false,
1098 | "platform": {
1099 | "php": ">=5.4.0"
1100 | },
1101 | "platform-dev": []
1102 | }
1103 |
--------------------------------------------------------------------------------
/2.0/php-fpm/nginx/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM nginx:1.7.10
2 | COPY nginx.conf /etc/nginx/nginx.conf
3 |
--------------------------------------------------------------------------------
/2.0/php-fpm/nginx/nginx.conf:
--------------------------------------------------------------------------------
1 |
2 | user nginx;
3 | worker_processes 1;
4 |
5 | error_log /var/log/nginx/error.log warn;
6 | pid /var/run/nginx.pid;
7 |
8 | events {
9 | worker_connections 1024;
10 | }
11 |
12 |
13 | http {
14 | include /etc/nginx/mime.types;
15 | default_type application/octet-stream;
16 |
17 | log_format main '$remote_addr - $remote_user [$time_local] "$request" '
18 | '$status $body_bytes_sent "$http_referer" '
19 | '"$http_user_agent" "$http_x_forwarded_for"';
20 |
21 | access_log /var/log/nginx/access.log main;
22 |
23 | sendfile on;
24 | #tcp_nopush on;
25 |
26 | keepalive_timeout 65;
27 |
28 | #gzip on;
29 |
30 | server {
31 | charset utf-8;
32 | client_max_body_size 128M;
33 |
34 | listen 80;
35 |
36 | root /var/www/html/web;
37 | index index.php;
38 |
39 | location / {
40 | # Redirect everything that isn't a real file to index.php
41 | try_files $uri $uri/ /index.php?$args;
42 | }
43 |
44 | # uncomment to avoid processing of calls to non-existing static files by Yii
45 | location ~ \.(js|css|png|jpg|gif|swf|ico|pdf|mov|fla|zip|rar)$ {
46 | try_files $uri =404;
47 | }
48 |
49 | location ~ \.php$ {
50 | include fastcgi_params;
51 | fastcgi_param SCRIPT_FILENAME $document_root/$fastcgi_script_name;
52 | fastcgi_pass app:9000;
53 | try_files $uri =404;
54 | }
55 |
56 | location ~ /\.(ht|svn|git) {
57 | deny all;
58 | }
59 | }
60 |
61 | }
62 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # DEPRECATED!
2 |
3 | This image is now **DEPRECATED**. We may still push updates for Yii2 2.0.x but
4 | will cease with Yii2 2.1.x. Our refactored template under
5 | [codemix/yii2-dockerized](https://github.com/codemix/yii2-dockerized) now
6 | includes a build step for app specific base images instead.
7 |
8 | # Supported tags and respective `Dockerfile` links
9 |
10 | - [`2.0.13.1-apache`, `2.0-apache`, `apache`, `latest` (*2.0/apache/Dockerfile*)](https://github.com/codemix/yii2-dockerbase/blob/master/2.0/apache/Dockerfile)
11 | - [`2.0.13.1-php7-apache`, `2.0-php7-apache`, `php7-apache`, `latest-php7` (*2.0/apache/Dockerfile.php7*)](https://github.com/codemix/yii2-dockerbase/blob/master/2.0/apache/Dockerfile.php7)
12 | - [`2.0.13.1-php-fpm`, `2.0-php-fpm`, `php-fpm` (*2.0/php-fpm/Dockerfile*)](https://github.com/codemix/yii2-dockerbase/blob/master/2.0/php-fpm/Dockerfile)
13 | - [`2.0.13.1-php7-fpm`, `2.0-php7-fpm`, `php7-fpm` (*2.0/php-fpm/Dockerfile.php7*)](https://github.com/codemix/yii2-dockerbase/blob/master/2.0/php-fpm/Dockerfile.php7)
14 | - [`2.0.13.1-hhvm`, `2.0-hhvm`, `hhvm` (*2.0/php-fpm/Dockerfile*)](https://github.com/codemix/yii2-dockerbase/blob/master/2.0/hhvm/Dockerfile)
15 |
16 | Check the [tags](https://hub.docker.com/r/codemix/yii2-base/tags/) page for a full list of available tags.
17 |
18 | Yii 2 Base
19 | ==========
20 |
21 | This is a base image for Yii 2 projects.
22 |
23 | > **IMPORTANT: The image does *not* contain an app template!**
24 | > So you must always first combine it with your own application code to make it work!
25 |
26 | The main purpose of this image is,
27 |
28 | * to provide a PHP runtime environment that is configured for Yii and
29 | * that has the base yii2 composer packages pre-installed.
30 |
31 | ## 1. Available versions
32 |
33 | There are three flavours of this image
34 |
35 | * **Apache with PHP module** (based on `php:7.0.6-apache` or `php:5.6.18-apache`)
36 | * **PHP-FPM** (based on `php:7.0.6-fpm` or `php:5.6.18-fpm`)
37 | * **HHVM** (based on `estebanmatias92/hhvm:3.8.1-fastcgi`)
38 |
39 |
40 | ## 2. How to use this Image
41 |
42 | ### 2.1 Using our `yii2-dockerized` Application Template
43 |
44 | For all available flavours we recommend to start with our dockerized application
45 | template for Yii2.
46 |
47 | [https://github.com/codemix/yii2-dockerized](https://github.com/codemix/yii2-dockerized)
48 |
49 | It comes with a ready to use `Dockerfile` and exemplifies how this base image is meant
50 | to be used.
51 |
52 | ### 2.2 Using your own Application Template
53 |
54 | If you don't want to use that base template you can still build an application
55 | from scratch. But still we recommend to study that template first.
56 |
57 | Before you build your own application template, you should understand the basic
58 | idea behind this image:
59 |
60 | * The image has all yii2 related composer packages pre-installed under `/var/www/vendor`.
61 | * The application code is expected under `/var/www/html`, with
62 | the public directory being `/var/www/html/web`.
63 | * You will *never* install any composer packages locally, but
64 | always into your container. When you do so, it will either override
65 | or add more packages to those already contained in this image.
66 |
67 | You'll also need to prepare some application code locally which will be copied to your
68 | image during the build phase. To start, you could use the official base image:
69 |
70 | ```
71 | composer create-project --no-install yiisoft/yii2-app-basic
72 | ```
73 |
74 | > **Note:** You need to fix the paths to `autoload.php` and `Yii.php` in the
75 | > `index.php` file and also add a `'vendorPath' => '/var/www/vendor'` option
76 | > in the `config/web.php`.
77 |
78 |
79 | #### 2.2.1 Using the Apache Variant
80 |
81 | Create a `Dockerfile` in your application directory:
82 |
83 | ```
84 | FROM codemix/yii2-base:latest
85 |
86 | # Copy your app's source code into the container
87 | COPY . /var/www/html
88 | ```
89 |
90 | and a `docker-compose.yml`:
91 |
92 | ```
93 | web:
94 | build: ./
95 | ports:
96 | - "8080:80"
97 | expose:
98 | - "80"
99 | volumes:
100 | - ./:/var/www/html/
101 | ```
102 |
103 | Now you're ready to run `docker-compose up` to start your app. It should
104 | be available from `http://localhost:8080` or your boot2docker VM if you use that.
105 |
106 |
107 | #### 2.2.2 Using the PHP-FPM or HHVM Flavour
108 |
109 | Create a `Dockerfile` in your application directory:
110 |
111 | ```
112 | FROM codemix/yii2-base:php-fpm
113 | # Or for HHVM:
114 | #FROM codemix/yii2-base:hhvm
115 |
116 | # Copy your app's source code into the container
117 | COPY . /var/www/html
118 | ```
119 |
120 | For this variant, you'll also need an nginx container. We have included
121 | an example configuration with a `Dockerfile` in the image. You can copy
122 | it from the container with:
123 |
124 | ```
125 | docker create --name temp codemix/yii2-base:php-fpm
126 | # Or for HHVM:
127 | #docker create --name temp codemix/yii2-base:hhvm
128 | docker cp temp:/opt/nginx/ .
129 | docker rm temp
130 | ```
131 |
132 | Finally create a `docker-compose.yml`:
133 |
134 | ```
135 | app:
136 | build: ./
137 | expose:
138 | - "9000"
139 | volumes:
140 | - ./:/var/www/html/
141 | nginx:
142 | build: ./nginx
143 | ports:
144 | - "8080:80"
145 | links:
146 | - app
147 | volumes_from:
148 | - app
149 | ```
150 |
151 | Now you're ready to run `docker-compose up` to start your app. It should
152 | be available from `http://localhost:8080` or your boot2docker VM if you use that.
153 |
154 |
155 | ### 2.3 Adding Composer Packages
156 |
157 | To add composer packages, you need to provide a `composer.json` with
158 | some modifications:
159 |
160 | ```
161 | {
162 | "require": {
163 | "php": ">=5.4.0",
164 | "yiisoft/yii2": "2.0.13.1",
165 | "yiisoft/yii2-bootstrap": "~2.0.0",
166 | "yiisoft/yii2-jui": "~2.0.0",
167 | "yiisoft/yii2-swiftmailer": "~2.0.0"
168 | },
169 | "require-dev": {
170 | "yiisoft/yii2-debug": "~2.0.0",
171 | "yiisoft/yii2-gii": "~2.0.0",
172 | "yiisoft/yii2-codeception": "~2.0.0",
173 | "yiisoft/yii2-faker": "~2.0.0"
174 | },
175 | "config": {
176 | "process-timeout": 1800,
177 | "vendor-dir": "/var/www/vendor"
178 | },
179 | "extra": {
180 | "asset-installer-paths": {
181 | "npm-asset-library": "../vendor/npm",
182 | "bower-asset-library": "../vendor/bower"
183 | }
184 | }
185 | }
186 | ```
187 |
188 | Note the `vendor-dir` configuration, which is crucial for this setup. It's also
189 | important, that the versions there match those of this image. Otherwhise you again
190 | loose the advantage of reusing the composer packages contained in the image.
191 |
192 | You also have to map the local directory into the container in your `docker-compose.yml`.
193 | If you have problems with githubs rate limit, you can provide a github API token.
194 |
195 | ```
196 | web:
197 | build: ./
198 | ports:
199 | - "8080:80"
200 | expose:
201 | - "80"
202 | volumes:
203 | - ./:/var/www/html/
204 | environment:
205 | API_TOKEN: ""
206 | ```
207 |
208 | Now you can run the bundled `composer` command in your container.
209 |
210 | ```
211 | docker-compose run --rm web compose update myrepo/mypackage
212 | ```
213 |
214 | ### 2.4 Adding PHP Extensions
215 |
216 | As the `apache` and `php-fpm` flavours extend from the official [php](https://registry.hub.docker.com/u/library/php/)
217 | image, you can use `docker-php-ext-install` in your `Dockerfile`. You may also have to install
218 | some required packages with `apt-get install` first. Here's an example:
219 |
220 | ```
221 | RUN apt-get update \
222 | && apt-get -y install \
223 | libfreetype6-dev \
224 | libjpeg62-turbo-dev \
225 | libmcrypt-dev \
226 | libpng12-dev \
227 | --no-install-recommends \
228 | && rm -r /var/lib/apt/lists/* \
229 | && docker-php-ext-install iconv mcrypt \
230 | && docker-php-ext-configure gd --with-freetype-dir=/usr/include/ --with-jpeg-dir=/usr/include/ \
231 | && docker-php-ext-install gd
232 | ```
233 |
234 | ### 2.5 Adding HHVM Extensions
235 |
236 | Please check the [hhvm](https://registry.hub.docker.com/u/estebanmatias92/hhvm/) base image for details.
237 |
238 |
--------------------------------------------------------------------------------