Compare commits

...

334 Commits
v8.0 ... v11.0

Author SHA1 Message Date
cbb949c273 Merge pull request #2634 from bestlong/fix-port-conflict
fix bind port conflict
2020-06-18 08:56:10 +08:00
aa179b6ca3 fix bind port conflict
change phpmyadmin and adminer default bind port to 8081
2020-06-18 08:34:45 +08:00
a8ac0b62cf Merge pull request #2563 from jefflssantos/patch-1
Fix Deployer documentation link
2020-06-17 23:30:58 +08:00
13776a4f6f Merge pull request #2628 from KNY00/fix-vscode-settings-file
Fix trailing whitespace
2020-06-17 23:30:00 +08:00
2ce3745cf1 Merge pull request #2633 from Sofar1994/master
php-fpm container xdebug.ini name is xdebug.ini
2020-06-17 23:25:33 +08:00
4a1100e685 php-fpm container xdebug.ini name is xdebug.ini 2020-06-17 17:00:14 +08:00
6c942b454b Merge pull request #2631 from bestlong/php-worker-imagick
php-worker support imagick
2020-06-17 07:53:10 +08:00
d81f9f2779 php-worker support imagick 2020-06-17 00:30:07 +08:00
1dd23a01a5 Merge pull request #2630 from bestlong/xmlrpc
support php-xmlrpc extension
2020-06-17 00:26:31 +08:00
35081fd9be support php-xmlrpc extension 2020-06-17 00:05:03 +08:00
KNY
2224685d7e Fix trailing whitespace 2020-06-15 23:59:42 +02:00
12ade0d730 Merge pull request #2622 from yosoyfunes/patch-1
Update docker-compose.yml
2020-06-13 00:29:13 +08:00
89ee774ece Update docker-compose.yml
Increment nofile, check the documentation: https://www.elastic.co/guide/en/elasticsearch/reference/current/docker.html#_increase_ulimits_for_nofile_and_nproc
2020-06-12 12:14:10 -03:00
f2209eeb72 Merge pull request #2582 from kideny/master
update support phalcon4.X version
2020-06-06 17:36:27 +08:00
6712bdcfa9 Merge pull request #2609 from tancou/gitlab-ci
Remove deprecated gitlab ci file
2020-06-06 17:35:23 +08:00
9df698e011 Merge pull request #2613 from m-elewa/develop
Update Traefik image to v2.2
2020-06-06 16:59:16 +08:00
5b0d264b6c Merge pull request #2614 from m-elewa/feature/update-netdata-image
update netdata image to the latest version of the official image
2020-06-06 16:57:24 +08:00
bc9825d398 update netdata image to the latest version of the official image 2020-05-31 14:44:09 +00:00
b5419c352d change port variables from nginx to trafik 2020-05-31 07:43:41 +00:00
227591cfb5 update documentation for Traefik v2.2 2020-05-31 07:13:13 +00:00
90ba6df3ad update traefik to v2.2 2020-05-31 07:07:05 +00:00
4f7ab34a6b Merge pull request #2607 from acidicyemi/master
fixed supervisor docker-composer instead of docker-compose syntax error
2020-05-30 17:15:14 +08:00
bc3a35fd60 Merge pull request #2605 from jzonta/master
Fixed error with memcached when running php-worker
2020-05-30 14:31:31 +08:00
131025be44 Merge pull request #2606 from jzonta/add-oci8-php-worker
Added support for OCI8 extension in php-worker
2020-05-30 14:30:13 +08:00
ae58620386 Merge pull request #2608 from tancou/add-imap-worker-support
Adding support for IMAP on php-worker
2020-05-30 14:28:41 +08:00
b8a1690bc3 Remove deprecated gitlab ci file 2020-05-29 18:13:20 +02:00
9d10b5a7ef Adding support for IMAP on php-worker 2020-05-29 16:30:02 +02:00
959329c241 fixed supervisor type syntax error 2020-05-29 02:41:39 +01:00
0792766d41 Added support for OCI8 extension in php-worker, Sugestão do amigo @bestlong in #2276 2020-05-28 13:37:01 -03:00
8477ca86f5 Fixed error with memcached when running php-worker 2020-05-28 09:50:30 -03:00
6b16f2b479 Merge pull request #2602 from norieli/patch-1
fixed mongodb can not authentication
2020-05-27 13:41:34 +08:00
f4d5a892b1 fixed mongodb can not authentication
The SCRAM_SHA_256 authentication mechanism requires libmongoc built with ENABLE_SSL. But current versio not support.
2020-05-22 13:43:25 +08:00
bad5f69379 Merge pull request #2595 from bestlong/fix-2576-bug
workspace expose angular cli serve port
2020-05-21 09:55:53 +08:00
667bfc5e1b workspace expose angular cli serve port 2020-05-21 09:40:36 +08:00
d39f793f34 Merge pull request #2594 from bestlong/horizon-php-ext-imagick
Horizon support ImageMagick
2020-05-21 09:31:35 +08:00
f910f944da Merge pull request #2576 from Yiidiir/patch-1
Expose Angular CLI serve port
2020-05-21 09:16:28 +08:00
941ad16cbe Merge pull request #2567 from carlosclayton/master
Installing Filebeat plugin
2020-05-21 09:15:05 +08:00
e5f5bc86fe Merge pull request #2572 from pgrimaud/master
Fix typos
2020-05-21 09:14:35 +08:00
cca6bead21 Merge pull request #2593 from makowskid/pnpm-support
Adding pnpm support
2020-05-21 09:13:56 +08:00
a85e9c4507 Horizon support ImageMagick
fix #2296
2020-05-21 09:09:38 +08:00
a074389e28 pnpm support - documentation 2020-05-20 15:08:46 +08:00
fabb36abbb Adding support for PNPM
more info here https://pnpm.js.org/en/installation
2020-05-20 14:58:31 +08:00
822c383626 Merge pull request #2590 from m-elewa/develop
update Laravel envoy to v2
2020-05-14 15:29:26 +08:00
7c4d9c908c update laravel envoy to v2 2020-05-13 20:52:25 +02:00
24c02ec1cf fixed 2020-05-02 03:07:29 +08:00
35a7fc204c update support phalcon4.X version 2020-05-01 00:57:27 +08:00
4f274e3d86 replace github usernames with users real names in related projects 2020-04-29 18:42:31 +02:00
5824676e30 Improve docs readability & performance 2020-04-29 07:10:47 +02:00
d2823c0f8a Merge pull request #2577 from sfx101/patch-1 2020-04-29 04:18:39 +02:00
4797c38199 Added DockerStacks link to related projects 2020-04-28 10:29:25 +05:30
5a28b9c4d8 Expose Angular CLI serve port
When enabling angular, exposure to the default serve port is not done normally like it's done with VUE CLI
2020-04-28 03:12:26 +01:00
2fd9ccff6a Fix typos 2020-04-24 01:16:34 +02:00
1dd78c0b04 Installing Filebeat plugin
Add support to Filebeat with logstash-input-beats plugin
2020-04-20 08:00:13 -03:00
b6e11624fe Merge pull request #2565 from bestlong/change-base-image
php-fpm/workspace use latest base image
2020-04-17 17:33:48 +08:00
aa325b5218 Merge pull request #2564 from laradock/actions-ci
use Actions run CI
2020-04-17 14:56:16 +08:00
56e10f1198 Update main-ci.yml 2020-04-17 14:03:08 +08:00
e6eb2ef1eb Fix Deployer documentation link 2020-04-17 02:54:29 -03:00
fbaaff619a Update main-ci.yml 2020-04-17 13:14:06 +08:00
941960df82 Update main-ci.yml 2020-04-17 13:12:57 +08:00
e2331171b0 use Github Actions run CI 2020-04-17 13:10:40 +08:00
a2581bda5f use latest base image 2020-04-17 11:57:50 +08:00
9a32cd2379 Merge pull request #2555 from jeremynikolic/master
Add ElasticSearch plugin command alternative
2020-04-15 10:30:09 +08:00
102d3c8828 Add ElasticSearch plugin command alternative for ES >5.0 versions 2020-04-10 10:15:58 +02:00
3f71fc2c15 Merge pull request #2550 from leowangxp/master
fix: change sources shell permission denied
2020-04-08 14:32:27 +08:00
c4c2f91306 fix: change sources shell permission denied 2020-04-08 09:57:00 +08:00
9e04c460f9 Merge pull request #2527 from lbssousa/browsersync-ports
Added option to map Browsersync ports from workspace container
2020-04-07 08:56:10 +08:00
dc0d970e2a Merge pull request #2533 from dbfun/feature-oh-my-zsh
new feature: Install Oh My ZSH! with Laravel autocomplete plugin
2020-04-07 08:55:19 +08:00
c5c8c9bc85 new feature: Install Oh My ZSH! with Laravel autocomplete plugin 2020-03-13 03:16:39 +03:00
123e52e563 Merge pull request #2511 from metalcamp/fix/mysql-client-installation-candidate
Fix: Mysql-client has no installation candidate
2020-03-12 10:14:10 +08:00
62747a2870 Update Dockerfile
php-worker fix add package name
2020-03-12 09:39:45 +08:00
c32bf95530 Merge pull request #2519 from GinoPane/bugfix/#2506
Fix #2506
2020-03-04 14:28:51 +08:00
29f7cbdc7e Added option to map Browsersync ports from workspace container 2020-03-03 15:41:54 -03:00
8cde247422 Merge pull request #2521 from bagart/patch-1
Laradock Multi
2020-02-27 10:39:15 +01:00
5a78f09eb4 Update index.md
add Laradock Multi
2020-02-26 09:40:06 +03:00
e8dbb0e0f1 Fix #2506
Updates:
- AST extension is no longer installed for unsupported PHP versions
2020-02-25 22:26:03 +03:00
33828f81bf Merge pull request #2516 from laradock/php-gd-ext
php worker horizon support gd ext.
2020-02-24 17:32:52 +08:00
a406335efe Merge pull request #2515 from laradock/horizon-zip
horizon zip ext.
2020-02-24 14:39:31 +08:00
18ca604537 php worker horizon support gd ext. 2020-02-24 13:53:54 +08:00
51ff09c187 horizon zip ext. 2020-02-24 13:31:52 +08:00
cb574599ca fix: mysql-client has no installation candidate 2020-02-19 12:44:06 +01:00
6a92eb0d58 Merge pull request #2510 from metalcamp/fix/mysql-auth
Fix: Use native MySQL password as default auth
2020-02-19 08:22:23 +08:00
8f411417f5 fix: use native mysql password as default auth
fixes connection refused errors described here: 
https://github.com/laradock/laradock/issues/1752
https://github.com/laradock/laradock/issues/2105
2020-02-18 19:37:00 +01:00
127d48655c Merge pull request #2509 from laradock/fix-php2-ext
fix php7.4 ssh2 extension.
2020-02-18 15:38:59 +08:00
884e481c0c fix php7.4 ssh2 extension. 2020-02-18 13:45:23 +08:00
833a91d8f8 Merge pull request #2508 from laradock/php70-xdebug
xdebug drop support php7.0
2020-02-18 13:22:37 +08:00
6eeb0c8388 xdebug drop support php7.0 2020-02-18 09:56:45 +08:00
c073ebefbb Merge pull request #2222 from zack6849/patch-1
Add en_US.UTF-8 to the default list of extra locales
2020-02-18 08:59:30 +08:00
7a2370ba77 Merge branch 'master' into patch-1 2020-02-18 08:58:55 +08:00
258912eac2 Merge pull request #2487 from bumbummen99/master
Dedicated user/group id for Horizon
2020-02-18 08:56:21 +08:00
9de9e8ed04 Merge pull request #2469 from DGeoWils/master
Added wkhtmltopdf installation to both Workspace and PHP-FPM
2020-02-18 08:55:57 +08:00
081e65d192 Merge pull request #2504 from vlauciani/master
fix TLS docker-dind problem from version 18.09+
2020-02-18 08:50:15 +08:00
93f137ce12 Merge pull request #2501 from lbssousa/workspace-vue-cli-ports
Added option to map vue-cli ports from workspace container
2020-02-18 08:48:35 +08:00
ec7d91a658 Merge pull request #2505 from 99linesofcode/sensible-xdebug-default-configuration
XDebug - Default to host.docker.internal
2020-02-18 08:47:01 +08:00
ab4e06f270 Default to host.docker.internal 2020-02-14 15:15:04 +01:00
3124ad8d76 Update docker-compose.yml 2020-02-13 23:26:33 +01:00
8e6a2a4f3c Update docker-in-docker (dind) - not working with 18.09+ version 2020-02-13 23:24:07 +01:00
4dd4074d3b Merge pull request #1 from laradock/master
Synck fork
2020-02-13 23:09:45 +01:00
9ad5063d4a Merge branch 'master' into workspace-vue-cli-ports 2020-02-13 23:33:05 +08:00
719d1f7e7a Merge pull request #2502 from bestlong/gmp-ext
horizon gmp ext
2020-02-12 19:47:09 +08:00
53d13f23f7 horizon gmp ext 2020-02-12 18:23:22 +08:00
2f2539a51f Merge pull request #2472 from collierscott/add-gitprompt
Add bash-git-prompt for more informative prompts for git repos
2020-02-12 09:17:13 +08:00
8d99f69ab2 Merge pull request #2479 from webfatorial/mysql-version-build
Use MYSQL_VERSION env var to build mysql image
2020-02-12 09:15:45 +08:00
3fe18368bd Added option to map vue-cli ports from workspace container 2020-02-11 15:27:07 -03:00
f8b7404263 php ext bz2 (#2500)
* php ext bz2
* fix typo
* fix php-fpm bz2 ext
* fix horizon bz2 ext
2020-02-11 23:56:58 +08:00
b2ae5f6d44 Arrange (#2499)
* unify php verson variable
* CASSANDRA move together
* unify all php base container
2020-02-11 18:41:19 +08:00
29def5f0b4 add some missing social media meta tags to the website 2020-02-07 23:10:44 +01:00
66134095b1 update stale bot configuration to close staled issues in 21 days 2020-02-07 22:13:23 +01:00
c8c63e6a78 Merge pull request #2493 from bestlong/pgsql-version-specify
postgresql version can specify
2020-02-07 08:10:53 +08:00
63b3d2ff14 postgresql version can specify 2020-02-06 23:58:07 +08:00
00676f0c8e Merge pull request #2492 from bestlong/fix-php-worker-74
php 7.4 php-worker zip ext.
2020-02-05 16:38:18 +08:00
ac417f2e6b Merge pull request #2490 from vlauciani/master
YAML extension for laravel-horizon
2020-02-05 14:59:26 +08:00
b26bcdb42a php 7.4 php-worker zip ext. 2020-02-05 14:54:57 +08:00
fb57c52ca6 Merge pull request #2474 from brnathanlima/update-elasticsearch-logstash-and-kibana-to-use-the-same-version
Improvements on ELK Stack images
2020-02-05 12:44:25 +07:00
0a253a3d7e Alpine commands used 2020-02-04 20:33:41 +01:00
72d11e4485 fix indentations 2020-02-04 17:00:01 +01:00
82a4b1db60 Add code to install YAML extension 2020-02-04 16:57:14 +01:00
c9e71c695e Add variable to install YAML extension 2020-02-04 16:55:50 +01:00
5b33a2b319 Add variable to install YAML extension 2020-02-04 16:53:14 +01:00
c670d5f98b Merge pull request #2335 from goodjack/patch-1
Fix localhost address
2020-02-03 16:17:36 +08:00
10c9decf78 Merge pull request #2348 from asannikov/varnish
Varnish
2020-02-03 16:14:44 +08:00
09fe2588e7 Merge branch 'master' into varnish 2020-02-03 16:14:17 +08:00
34daaba270 update github issues and PR templates, add config for github stale bot
in addition to some small updates in the readme, /.github and /docs..
2020-02-01 20:31:18 +01:00
f3f3dfa724 Add group/user id setting to horizon .env section 2020-02-01 15:20:02 +01:00
e14e5b7caf Fix bad style 2020-02-01 15:18:36 +01:00
8b4391e63c Use MYSQL_VERSION env var to build mysql image 2020-01-25 11:23:48 -03:00
5aafed586b upgraded elasticsearch, logstash and kibana images and provided an environment variable to specify a version for the entire ELK stack. 2020-01-22 15:37:04 -03:00
7fec2186ef Add bash-git-prompt in order to have a more descriptive prompt when working with repositories.
Also, update documentation for bash-git-prompt usage. Make sure initial value for usage is false.
2020-01-20 12:25:44 -06:00
b28f449556 Add bash-git-prompt in order to have a more descriptive prompt when working with repositories.
Also, update documentation for bash-git-prompt usage
2020-01-20 12:24:18 -06:00
ad2b455be5 Merge pull request #2470 from laradock/upgrade-php-fpm
upgrade php-fpm base image version
2020-01-16 19:26:00 +08:00
bb7ee22f6a Merge pull request #2396 from ludo237/master
Add the ability to install ffmpeg on Laravel Horizon container
2020-01-16 15:06:11 +08:00
9461c859f0 upgrade base image version 2020-01-16 14:57:19 +08:00
711b2e7449 Updated documentation with wkhtmltopdf section 2020-01-15 13:44:53 -05:00
8ecd35d2e9 Added wkhtmltopdf installation to both Workspace and PHP-FPM 2020-01-15 12:01:35 -05:00
84b5c5aaa0 Update config
Add user created during docker installation
2020-01-14 16:10:42 +01:00
3f6b779254 Merge branch 'master' into master 2020-01-14 16:09:18 +01:00
a84611ff4b Update docker-compose.yml
Add necessary args
2020-01-14 16:07:07 +01:00
4fbe5c03b9 Update Dockerfile
Add non-root user for ffmpeg installation
2020-01-14 16:06:25 +01:00
cd84c464b3 Merge pull request #2468 from bestlong/php74-worker
php 7.4 required oniguruma
2020-01-14 22:32:09 +08:00
8011182a34 php 7.4 required oniguruma 2020-01-14 21:38:24 +08:00
5c10a024f1 Make small documentation updates
- remove guides section
- re-order some content
- fix some links
- remove duplicated ads
2020-01-12 15:38:58 +01:00
8a1b3c45c8 Merge pull request #2461 from bestlong/php74-zip-option
PHP 7.4 zip option removed
2020-01-09 20:04:44 +08:00
ef267a64e6 PHP 7.4 zip option removed 2020-01-06 23:39:23 +08:00
0d086024a8 Merge pull request #2457 from laradock/upgrade-apache2
upgrade apache2
2020-01-05 01:07:21 +08:00
92e7a8559d upgrade apache2 2020-01-03 20:07:42 +08:00
3c36fc7d16 Merge pull request #2449 from jrseliga/smb-client
Provide smbclient and php-smbclient
2019-12-31 19:14:34 +08:00
de57f728cc fix build-args INSTALL_GHOSTSCRIPT were not consumed (#2452) 2019-12-31 19:12:37 +08:00
9aecc53dba provide smbclient and php-smbclient to php-fpm and workspace containers 2019-12-27 19:34:56 -05:00
f64360ab74 Merge pull request #2443 from sohaibilyas/fix-gearman-php-worker
updated gearman installation code in php-worker service
2019-12-26 19:56:12 +08:00
27f2ffdd6c Merge pull request #2445 from vladitot/master
Changes in env file. Some parameteres quoted
2019-12-26 19:54:57 +08:00
716282b504 Changes in env file. Some parameteres quoted 2019-12-24 14:20:54 +03:00
b74c54f804 updated gearman installation code in php-worker service 2019-12-24 02:45:19 +05:00
8203e5da29 Merge pull request #2236 from manticoresoftware/master
update manticore log folder
2019-12-22 15:35:57 +08:00
bad3b76963 Merge pull request #2200 from clonn/patch-1
gcloud registry auth step for docker build
2019-12-22 15:33:33 +08:00
cc1d6aaebf Merge pull request #2226 from ajoy39/master
Add support for pcov code coverage driver
2019-12-22 15:31:22 +08:00
a9f84bfa61 Merge pull request #2437 from bestlong/fix-php74-horizon
Laravel Horizon PHP 7.4 - fix package oniguruma require
2019-12-22 13:27:16 +08:00
67e9a517f3 VSCode files.associations for Dockerfile-* (#2438) 2019-12-21 22:26:03 +08:00
964494255d fix oniguruma require
#2407
#2408
2019-12-21 22:16:24 +08:00
c68bbd4f83 Merge pull request #2422 from rmeira/master
Update MSSQL image
2019-12-21 18:52:41 +08:00
713799c17b Merge pull request #2431 from kideny/master
update phalcon ext version
2019-12-21 18:41:21 +08:00
fc5ab30d4f Merge pull request #2424 from appleboy/locale
chore(php-fpm): update the default locale setting.
2019-12-19 20:08:55 +08:00
89a1ac652e Merge pull request #2276 from jzonta/add_oci8_supports
Added support for OCI8 extension in workspace and php-fpm containers.
2019-12-19 20:07:34 +08:00
d732318e52 Merge pull request #2273 from Insua/master
fix(compose file): add missing config for inotify and fswatch
2019-12-17 20:48:15 +08:00
ccf85148e8 Merge branch 'master' into master 2019-12-17 20:47:56 +08:00
378900ee38 Merge pull request #2365 from amorZhu/master
update document for workspace supervisor
2019-12-17 20:44:31 +08:00
30c91c7f94 fixed 2019-12-15 23:21:51 +08:00
e943d90ca2 Merge pull request #2427 from lbssousa/devcontainer-v3
Drop unneeded settings for devcontainer.json (VSCode already handles them automatically)
2019-12-12 08:37:50 +08:00
d847c1a8c5 Drop unneeded settings for devcontainer.json (VSCode already handles them automatically). 2019-12-11 15:18:34 -03:00
ace85c38d7 Merge pull request #2425 from bestlong/php-fpm-use-new-base-image
php-fpm base image use 2.6.2
2019-12-12 00:13:14 +08:00
be48366190 php-fpm base image use 2.6.2 2019-12-11 21:18:57 +08:00
a1d7d46573 chore(php-fpm): update the default locale setting.
Signed-off-by: Bo-Yi Wu <appleboy.tw@gmail.com>
2019-12-11 14:28:14 +08:00
0da0f302d3 Update env-example 2019-12-10 11:12:53 -03:00
a010010d97 remove this file use master 2019-12-10 11:11:54 -03:00
44f1d456b2 remove this file 2019-12-10 11:11:32 -03:00
0edeb8fb71 remove this file 2019-12-10 11:11:11 -03:00
77c8429ea1 Update dockerfile add new version from mssql 2019-12-10 11:10:32 -03:00
3ba74dd1c3 Update pid for sql MSSQL 2019-12-10 11:07:58 -03:00
fb617deb86 Merge pull request #2413 from lbssousa/devcontainer-v2
Complete sample configuration for VSCode Remote Development on Containers
2019-12-09 18:42:27 +08:00
5a25b786f3 add php7.4.ini (#2420) 2019-12-09 18:40:52 +08:00
88d06bb838 Complete sample configuration for VSCode Remote Development on Containers 2019-12-06 13:50:32 -03:00
bc6ba25790 update travis ci config (#2412) 2019-12-06 21:04:03 +08:00
3889363443 fix build arg [NVM_NODEJS_ORG_MIRROR] not consumed warning (#2411) 2019-12-06 20:43:59 +08:00
42c580af1f fix CHANGE_SOURCE duplicate (#2410) 2019-12-06 20:23:28 +08:00
a954732145 Merge pull request #2253 from xiagw/add-tomcat
Add tomcat
2019-12-06 20:03:43 +08:00
f608c6a45d Merge branch 'master' into add-tomcat 2019-12-06 20:01:54 +08:00
53558480e8 Merge pull request #2342 from yamotuki/fix_xhprof_version
change to newer version of tideways/php-xhprof-extension
2019-12-06 19:45:12 +08:00
76b046f321 Merge branch 'master' into fix_xhprof_version 2019-12-06 19:44:45 +08:00
818d61ab54 Merge pull request #1905 from mouyong/master
change some container source when in china
2019-12-06 19:25:02 +08:00
c6fe34db11 Merge pull request #2290 from hastinbe/add-ast-ext
Add AST extension
2019-12-06 19:21:57 +08:00
dec428a748 Merge branch 'master' into add-ast-ext 2019-12-06 19:21:09 +08:00
9cea74dc6f update travis ci config (#2409) 2019-12-06 19:17:22 +08:00
a190f11e8f Merge pull request #2322 from Fernando-Larios/master
add GETTEXT extension php-fpm
2019-12-06 09:39:49 +08:00
f3e3bbe2b7 refactor: 还原 nginx.conf 文件名 2019-12-06 09:35:10 +08:00
91041e9c56 Merge pull request #2388 from amorZhu/master
Improve user experience in China
2019-12-06 09:32:00 +08:00
84db9b079d refactor: 还原 xdebug.ini 2019-12-06 09:30:11 +08:00
64573a407f Merge pull request #2402 from erlangp/patch-4
fix typo of repo name
2019-12-06 09:27:29 +08:00
ed6be69cc1 typo 2019-12-06 03:50:41 +08:00
838156b1bd refactor: remove some option 2019-12-05 13:28:42 +08:00
9bdeaa3682 fix: fix cannot install imagemagick extension problem 2019-12-05 13:21:10 +08:00
c84db7d4d7 fix: fix the extension cannot install problem. 2019-12-05 11:48:27 +08:00
a7faceba37 Merge pull request #2343 from zill057/master
Add CHANGE_SOURCE option for php-worker
2019-12-05 11:41:30 +08:00
f27c186b93 Merge pull request #2393 from vladyslavstartsev/cachetool-php-fpm
Added CacheTool
2019-12-05 11:40:40 +08:00
2c9563d2cd feat: restore some file 2019-12-05 11:27:44 +08:00
dab5ff1ac6 feat: restore mysql/my.cnf 2019-12-05 11:26:01 +08:00
5a0c905457 feat: change source 2019-12-05 11:23:51 +08:00
b6204e5933 pref: add change source flag 2019-12-05 11:16:32 +08:00
ba23f41322 Merge branch 'master' of https://github.com/Laradock/laradock 2019-12-05 11:11:29 +08:00
4b0f58f1b2 Merge pull request #2347 from asannikov/confluence
Confluence
2019-12-05 10:50:30 +08:00
b753c0580e Merge pull request #2350 from walterjrp/patch-2
laravel-horizon support Install MongoDB drivers
2019-12-05 10:49:24 +08:00
8474acdf17 Update env-example 2019-12-05 10:47:31 +08:00
4afc747bf5 Update docker-compose.yml 2019-12-05 10:46:24 +08:00
0a4e832371 Merge pull request #2395 from erlangp/patch-1
lowercase
2019-12-05 10:35:55 +08:00
e53632404f Merge pull request #2370 from jcs224/postgres-confuence-init-fix
Fix confluence / postgres init
2019-12-05 10:35:27 +08:00
2d27fc36e8 Merge pull request #2398 from bestlong/update-doc
update document
2019-12-05 10:30:06 +08:00
9e5ff1888e update document 2019-12-05 10:29:08 +08:00
8f53cea9f7 Merge pull request #2378 from bkarstaedt/patch-1
Update to Kibana 7.1.1
2019-12-05 08:42:56 +08:00
5026effcac Merge pull request #2397 from bestlong/php74
Support PHP 7.4, #2387.
2019-12-05 08:22:46 +08:00
351f19b8fe support PHP 7.4, #2387. 2019-12-04 23:02:35 +08:00
d40abcb939 Add arg to laravel-horizon service 2019-12-04 11:40:04 +00:00
c11c1fd69d Add ffmpeg directive to Dockerfile 2019-12-04 11:38:36 +00:00
754e61d15f Add key to install ffmpeg in horizon 2019-12-04 11:36:47 +00:00
abdcfa1002 Update index.md 2019-12-04 15:38:52 +08:00
f5f1f45858 added cachetool to invalidate shared php cache (APCu, OPcache) without reloading PHP-FPM 2019-12-03 12:53:42 +02:00
497878557c Remove the sources.sh Ubuntu_Source parameter 2019-12-01 00:02:59 +08:00
272222b7f1 Merge pull request #2389 from bestlong/increase_upload_filesize
phpMyAdmin increase upload filesize to 2G
2019-11-30 18:39:57 +08:00
919cfc0c87 increase update filesize to 2G
#2344
2019-11-30 18:26:16 +08:00
fe2631649c add sources.sh for workspace 2019-11-30 09:06:09 +08:00
c64be9969f delete php-fpm args UBUNTU_SOURCE 2019-11-30 08:54:29 +08:00
24361ca818 add ubuntu sources.list 2019-11-30 08:51:23 +08:00
b5314e5769 Merge remote-tracking branch 'upstream/master' 2019-11-29 02:20:02 +08:00
50b6272fff Merge pull request #2372 from lanphan/fix_workspace
Remove duplicated laravel installer code
2019-11-24 01:31:23 +07:00
461e05d677 change workspace ubuntu sources.list file 2019-11-18 03:24:27 +08:00
aff7d9d615 add nvm NVM_NODEJS_ORG_MIRROR 2019-11-18 03:05:13 +08:00
440002f0fc Update to Kibana 7.1.1
When spinning up the stack via `docker-compose -d apache2 elasticsearch kibana` Kibana won't work currently and displays "kibana is not ready yet". `docker-compose logs kibana` the message:

```
{"type":"log","@timestamp":"2019-11-14T15:46:37Z","tags":["status","plugin:reporting@6.6.0","error"],"pid":1,"state":"red","message":"Status changed from uninitialized to red - This version of Kibana requires Elasticsearch v6.6.0 on all nodes. I found the following incompatible nodes in your cluster: v7.1.1 @ 172.26.0.3:9200 (172.26.0.3)","prevState":"uninitialized","prevMsg":"uninitialized"}
```

I update the version to align with elasticsearchs' version which works fine on my machine.
2019-11-15 09:52:48 +01:00
d3e505cd73 remove duplicated laravel installer code 2019-11-14 22:34:23 +07:00
07c019b672 Fix confluence / postgres init 2019-11-13 22:10:41 -07:00
c3620e95c8 Volumes are created on every docker start (#2247)
* Added graylog to the list of softwares.

* Added persistent volumes for docker-in-docker and graylog.

Added volume for mongo configdb.
These services were making volumes on every start, so we might end up with many unnecessary volumes.
With this pull request this issue is resolved.
2019-11-14 05:22:41 +07:00
4e5a142c9d YAML extension for php-cli (#2360)
* Add 'WORKSPACE_INSTALL_YAML' variable to install php yaml extension for php-cli

* Set 'INSTALL_YAML' variable to install php yaml extension for php-cli

* Install yaml extension for php-cli
2019-11-14 05:08:54 +07:00
c6ad0a1a2d Remove a dead link from the documentation 2019-11-13 19:58:39 +01:00
0573bbc58a update document for workspace supervisor 2019-11-13 14:16:47 +08:00
d4e65a40ff Merge pull request #2352 from goodjack/patch-2
Use default user
2019-11-11 22:25:49 +07:00
8aeb64ea37 Merge pull request #2305 from ubc/1745-php-fpm-uid-gid
Run php-fpm as different user (#1745)
2019-11-11 22:10:35 +07:00
3cdc771abd Merge pull request #2330 from amorZhu/master
Install supervisord in the workspace
2019-11-07 21:23:45 +07:00
10c28a14fa Use default user 2019-11-02 21:19:37 +08:00
a760da3488 Update index.md 2019-11-02 20:42:33 +08:00
402ea8747a Install MongoDB drivers 2019-11-01 14:35:23 -03:00
2af7bfa60f Varnish vs Nginx configuration added 2019-10-31 16:02:33 +03:00
babfef7ef6 Merged with master 2019-10-31 12:08:33 +03:00
7ad82a3cd1 Added nginx settings for confluence 2019-10-31 11:58:38 +03:00
83ba1447d4 Merged with master 2019-10-31 11:37:56 +03:00
41438e9c31 add install supervisor document 2019-10-28 17:55:36 +08:00
8b2bcc6d15 add config file for supervisord 2019-10-28 17:33:13 +08:00
51d821b35f Add CHANGE_SOURCE option for php-worker 2019-10-28 17:15:31 +08:00
75acb9f8a5 Merge remote-tracking branch 'upstream/master' 2019-10-28 16:19:03 +08:00
c09261e99e Merge pull request #2319 from lbssousa/devcontainer
Add sample configuration for Visual Studio Code Remote Development
2019-10-25 23:47:03 +07:00
b34b052c64 Merge pull request #1968 from Ishodnikov/patch-1
Set my.cnf permissions
2019-10-25 23:31:17 +07:00
18237b467b Merge pull request #2293 from pelicancode/patch-1
MySql config file permissions fix
2019-10-25 23:24:17 +07:00
b08385b03e Merge pull request #2340 from computamike/UpdatingDocs
Update Confluence section
2019-10-25 23:21:59 +07:00
7247d8f7ce Install default-mysql-client for PHP 7.3 (#2329)
Install default-mysql-client for PHP 7.3
2019-10-25 23:15:40 +07:00
f5c00c61be Update Confluence section
The original text was confusing.  Refactored to attempt to make more sense.
2019-10-25 17:12:59 +01:00
d82734744e Merge pull request #2339 from computamike/master
fix slight typo
2019-10-25 23:03:57 +07:00
ef9eee2def fix slight typo 2019-10-25 16:45:46 +01:00
1673c44136 change to newer version of tideways/php-xhprof-extension 2019-10-25 18:16:49 +09:00
70e63c59d0 Fix localhost address 2019-10-20 17:16:25 +08:00
6764a88fe6 Install supervistor in the workspace 2019-10-16 18:18:03 +08:00
1ded4a657e Merge branch 'add_oci8_supports' of https://github.com/jzonta/laradock into add_oci8_supports 2019-10-09 08:48:56 -03:00
4dc4a4e680 Removing unnecesary spaces 2019-10-08 14:05:03 -06:00
52bd45e1b8 Update env-example 2019-10-08 14:04:12 -06:00
3cb43e6139 add gettext extensio php-fpm 2019-10-08 13:35:55 -06:00
b7b468765a Add sample configuration for Visual Studio Code Remote Development on Containers. 2019-10-08 09:39:30 -03:00
04c6aaf338 Merge pull request #2215 from stefnats/gearman
Implement Gearman Message broker & PHP Extension
2019-10-07 17:08:29 +08:00
4af8ac8f53 fix syntex error (#2317)
* fix syntex error cause by #2309
2019-10-07 17:06:09 +08:00
25f883fc99 laravel-horizon: fix memcached (#2316)
Fix #2278
2019-10-07 16:19:19 +08:00
8755e445d9 CHANGE_SOURCE arg missing for php-fpm (#2311) 2019-10-07 11:18:44 +08:00
153e65d6a7 Merge pull request #2193 from skipworkgh/mailparse
Added support for the mailparse php pecl extension
2019-10-07 11:03:10 +08:00
9428a4b781 Merge branch 'master' into mailparse 2019-10-07 11:02:57 +08:00
747cfaf583 Merge pull request #2309 from sodabrew/patch-1
Use released versions of memcached extension
2019-10-07 11:00:31 +08:00
dfb0f731f5 Merge pull request #2303 from akccakcctw/fix/readme_maintainers_link
Fix README.md maintainers links
2019-10-07 10:58:13 +08:00
54a29b178a php-worker: move clean up step to right palce (#2315) 2019-10-07 10:49:11 +08:00
42af0d8d2c Merge branch 'master' into gearman 2019-10-07 10:47:37 +08:00
8f6fa0e868 Merge pull request #2210 from codex-corp/patch-1
Add PCNTL option to php-fpm
2019-10-07 10:39:34 +08:00
d4240ce211 Merge pull request #2304 from haoyq02/fix-php-worker
php-worker install redis extension
2019-10-07 10:13:18 +08:00
41e9f4a78f Merge pull request #2313 from sokolby/patch-1
Update README.md
2019-10-07 10:07:23 +08:00
4dcef17515 Update README.md
Fix link to Maintainers profile
2019-10-04 23:55:56 +03:00
902e041f7b Use released versions of memcached extension 2019-10-02 11:57:23 -07:00
3f9b888139 Run php-fpm as different user (#1745) 2019-09-30 16:08:09 -07:00
67c5a6a552 php-worker install redis extension 2019-09-30 17:10:56 +08:00
6139805561 Fix README.md maintainers links 2019-09-30 13:59:03 +08:00
237e39b40d MySql config file permissions fix
Reason: [Warning] World-writable config file '/etc/mysql/docker-default.d/my.cnf' is ignored
2019-09-21 15:56:09 +02:00
b7ede26634 Add ast extension 2019-09-19 11:38:25 +08:00
861ea6b16e Merge pull request #2196 from akccakcctw/fix/php-fpm-build-fail
Fix php-fpm build fail (php5)
2019-09-19 09:23:32 +08:00
e2ddee524d Merge pull request #2259 from atefBB/patch-1
Docs: Fix typo
2019-09-19 09:21:27 +08:00
1e668764fd Merge pull request #2286 from vlauciani/install_phpredis_in_laravel-horizon
Laravel-Horizon - In Laravel 6.0 'PhpRedis' is now default instead of 'predis'
2019-09-19 09:20:38 +08:00
5dbd46f9ff Update comment 2019-09-16 15:00:44 +02:00
df15420be0 Install PHPREDIS into Laravel-Horizon docker image 2019-09-16 14:58:38 +02:00
e852d203ab Install PHPREDIS into Laravel-Horizon docker image 2019-09-16 14:57:59 +02:00
eadecf1f1e Install PHPREDIS 2019-09-16 14:56:48 +02:00
308f813e45 Enhance the design and readability of the docs 2019-09-13 18:17:09 +02:00
9acb18aee1 Redesign the README and update docs 2019-09-13 12:24:14 +02:00
559acc278b Added support for OCI8 extension in workspace and php-fpm containers. PHP 5.6, 7.0, 7.1, 7.2 and 7.3 2019-09-11 23:54:29 -03:00
2d444e094c php-fpm implement CHANGE_SOURCE
WIP #2238
2019-09-12 08:36:11 +08:00
1f2643f52c fix(compose file): add missing config for inotify and fswatch 2019-09-11 16:59:56 +08:00
e608528da5 Merge branch 'master' into gearman 2019-09-02 13:18:28 +02:00
4e306a6be0 Fix typo
It's `Laravel Dusk v2.x` not `Laravel v2.x` !
2019-08-29 11:25:08 +01:00
ed92e61818 Merge branch 'master' into add-tomcat 2019-08-25 17:30:04 +08:00
ae64a619b7 add tomcat 2019-08-25 17:24:17 +08:00
4184f45fbd update manticore log folder 2019-08-10 11:04:26 +02:00
ab3a325ea3 fix apt install fail 2019-08-09 13:11:03 +08:00
b8a971e634 fix in aliyun mirrors, hash check error. 2019-08-09 09:26:40 +08:00
4893347980 remove setting remote_log 2019-08-09 09:14:10 +08:00
f01cab7742 set xdebug.remote_autostart=0 https://github.com/laradock/laradock/issues/2112#issuecomment-489603086 2019-08-09 09:08:49 +08:00
f64adc2114 workspace and php-fpm change source 2019-08-09 08:52:32 +08:00
ff640a0ca2 Use docker command to enable pcov 2019-08-05 10:45:12 -04:00
bdf2a285a7 Typo in PHP Version check 2019-08-05 09:54:15 -04:00
47bb995cad Typo in PHP version check 2019-08-05 09:53:36 -04:00
da8f0d0864 merge origin/master 2019-08-05 03:43:48 +08:00
c2caf730db Accidentally left the PCOV env file to defaul true and moved Pcov documentation section below all xdebug entries 2019-08-04 14:14:32 -04:00
b2de93cc1b Add support for pcov code coverage driver 2019-08-04 14:07:05 -04:00
c4a99cce57 Add en_US.UTF-8 to the default list of extra locales
Feel free to decline this, but I thought maybe adding US English to the default list of extra locales may be beneficial?
2019-08-02 09:02:52 -04:00
044261b06f Implement Gearman Message broker & PHP Extension 2019-07-25 12:03:21 +02:00
196f145ff5 Merge pull request #1 from laradock/master
merge upstream
2019-07-25 10:44:23 +02:00
4cb6ffc766 Added Cassandra for testing CI 2019-07-25 08:14:50 +02:00
99ceef7b45 Update documentation for Cassandra 2019-07-25 08:08:01 +02:00
9a852e7bc7 Implementing Cassandra DB & PHP Extension 2019-07-25 08:02:59 +02:00
63a5c45bf8 Add PCNTL option to php-fpm 2019-07-23 07:08:56 +03:00
cd80ca59df gcloud registry auth step for docker build
nowaday, the docker image build from gcloud registry, so you need auth the configure and login the gcloud first to build the docker image.
2019-07-08 23:36:07 +08:00
f73a66da13 Fix php-fpm build fail (php5)
pecl redis no longer support php5
2019-07-04 15:05:03 +08:00
9a0f9cfa74 Lets not enable them by default... 2019-07-02 16:36:08 +02:00
e9eacfafa7 Added support for the mailparse php pecl extension 2019-07-02 16:12:05 +02:00
f23149115d Confluence docs added 2019-05-20 22:51:36 +02:00
8027a98f72 Confluence config added 2019-05-20 22:36:08 +02:00
3ad37405c6 Chmod 2019-01-24 20:25:08 +03:00
28e82813c4 [F] fix mysql cann't start when version is 8.* 2018-12-04 01:57:37 +08:00
2de32fe97f [F] fix latest version for mysql8.0.13 2018-12-04 01:35:21 +08:00
ee89ff96d5 [U] ignore self-signed certificate 2018-12-04 00:52:59 +08:00
107 changed files with 4941 additions and 1637 deletions

View File

@ -0,0 +1,14 @@
{
"name": "Laradock",
"dockerComposeFile": "../docker-compose.yml",
"remoteUser": "laradock",
"runServices": [
"nginx",
"postgres",
"pgadmin"
],
"service": "workspace",
"workspaceFolder": "/var/www",
"shutdownAction": "stopCompose",
"postCreateCommand": "uname -a"
}

View File

@ -1,46 +0,0 @@
# Contributor Covenant Code of Conduct
## Our Pledge
In the interest of fostering an open and welcoming environment, we as contributors and maintainers pledge to making participation in our project and our community a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, gender identity and expression, level of experience, nationality, personal appearance, race, religion, or sexual identity and orientation.
## Our Standards
Examples of behavior that contributes to creating a positive environment include:
* Using welcoming and inclusive language
* Being respectful of differing viewpoints and experiences
* Gracefully accepting constructive criticism
* Focusing on what is best for the community
* Showing empathy towards other community members
Examples of unacceptable behavior by participants include:
* The use of sexualized language or imagery and unwelcome sexual attention or advances
* Trolling, insulting/derogatory comments, and personal or political attacks
* Public or private harassment
* Publishing others' private information, such as a physical or electronic address, without explicit permission
* Other conduct which could reasonably be considered inappropriate in a professional setting
## Our Responsibilities
Project maintainers are responsible for clarifying the standards of acceptable behavior and are expected to take appropriate and fair corrective action in response to any instances of unacceptable behavior.
Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, or to ban temporarily or permanently any contributor for other behaviors that they deem inappropriate, threatening, offensive, or harmful.
## Scope
This Code of Conduct applies both within project spaces and in public spaces when an individual is representing the project or its community. Examples of representing a project or community include using an official project e-mail address, posting via an official social media account, or acting as an appointed representative at an online or offline event. Representation of a project may be further defined and clarified by project maintainers.
## Enforcement
Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the project team at mahmoud@zalt.me. The project team will review and investigate all complaints, and will respond in a way that it deems appropriate to the circumstances. The project team is obligated to maintain confidentiality with regard to the reporter of an incident. Further details of specific enforcement policies may be posted separately.
Project maintainers who do not follow or enforce the Code of Conduct in good faith may face temporary or permanent repercussions as determined by other members of the project's leadership.
## Attribution
This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, available at [http://contributor-covenant.org/version/1/4][version]
[homepage]: http://contributor-covenant.org
[version]: http://contributor-covenant.org/version/1/4/

View File

@ -1,3 +0,0 @@
### First off, thanks for taking the time to contribute!
For the contribution guide [click here](http://laradock.io/contributing/).

6
.github/FUNDING.yml vendored
View File

@ -1,6 +1,6 @@
# DO NOT CHANGE THIS FILE PLEASE. # DO NOT CHANGE THIS FILE PLEASE.
github: Mahmoudz
open_collective: laradock open_collective: laradock
ko_fi: laradock custom: ['paypal.me/mzmmzz']
issuehunt: laradock patreon: zalt
custom: ['beerpay.io/laradock/laradock', 'paypal.me/mzmmzz']

View File

@ -1,23 +0,0 @@
### Info:
- Docker version (`$ docker --version`):
- Laradock commit (`$ git rev-parse HEAD`):
- System info (Mac, PC, Linux):
- System info disto/version:
### Issue:
<!--- What seems to be wrong? -->
_____
### Expected behavior:
<!--- What should happen instead? -->
_____
### Reproduce:
<!--- How can we reproduce the error? -->
_____
### Relevant Code:
```
// place a code sample here
```

50
.github/ISSUE_TEMPLATE/bug_report.md vendored Normal file
View File

@ -0,0 +1,50 @@
---
name: "Bug report"
about: "Report a general issue, encountered while using Laradock."
labels: "Type: Bug"
---
### Description:
<!-- A clear and concise description of what the bug is. -->
### Expected Behavior:
<!-- A clear and concise description of what you expected to happen. -->
### Context information:
**Output of `git rev-parse HEAD`**
```
{paste here}
```
**Output of `docker version`**
```
{paste here}
```
**Output of `docker-compose version`**
```
{paste here}
```
**System info: Mac, Windows or Linux. Include which disto/version**
```
{paste here}
```
### Steps to reproduce the issue:
<!--- How can we reproduce the issue? -->
1.
2.
3.
### Stacktrace & Additional info:
```
{paste here}
```

5
.github/ISSUE_TEMPLATE/config.yml vendored Normal file
View File

@ -0,0 +1,5 @@
blank_issues_enabled: false
contact_links:
- name: Support question
url: https://gitter.im/LaraDock/laradock
about: 'This repository is only for reporting bugs. If you need help, get in touch with us via Gitter.'

View File

@ -0,0 +1,17 @@
---
name: "Feature request"
about: "Suggest an idea for this project."
labels: "Type: Feature Request"
---
**Is your feature request related to a problem? Please describe.**
<!-- A clear and concise description of what the problem is. Ex. I'm always frustrated when [...] -->
**Describe the solution you'd like**
<!-- A clear and concise description of what you want to happen. -->
**Describe alternatives you've considered**
<!-- A clear and concise description of any alternative solutions or features you've considered. -->
**Additional context**
<!-- Add any other context or screenshots about the feature request here. -->

View File

@ -1,7 +1,18 @@
<!--- Thank you for contributing to Laradock --> ## Description
<!--- Describe your changes in detail -->
<!--- If it fixes an open issue, please link to the issue here. -->
##### I completed the 3 steps below: ## Motivation and Context
<!--- What problem does it solve, or what feature does it add? -->
- [ ] I've read the [Contribution Guide](http://laradock.io/contributing). ## Types of Changes
- [ ] I've updated the **documentation**. (refer to [this](http://laradock.io/contributing/#update-the-documentation-site) for how to do so). <!--- What types of changes does your code introduce? Put an `x` in all the boxes that apply: -->
- [ ] I enjoyed my time contributing and making developer's life easier :) - [] Bug fix (non-breaking change which fixes an issue).
- [] New feature (non-breaking change which adds functionality).
- [] Breaking change (fix or feature that would cause existing functionality to not work as expected).
## Definition of Done Checklist:
<!--- Go over all the following points, and put an `x` in all the boxes that apply. -->
- [] I've read the [Contribution Guide](http://laradock.io/contributing).
- [] I've updated the **documentation**. (refer to [this](http://laradock.io/contributing/#update-the-documentation-site) for how to do so).
- [] I enjoyed my time contributing and making developer's life easier :)

98
.github/README.md vendored
View File

@ -1,98 +0,0 @@
<p align="center">
<img src="/.github/home-page-images/laradock-logo.jpg?raw=true" alt="Laradock Logo"/>
</p>
<p align="center">PHP development environment that runs on Docker</p>
<p align="center">
<a href="https://travis-ci.org/laradock/laradock"><img src="https://travis-ci.org/laradock/laradock.svg?branch=master" alt="Build status"></a>
<a href="https://github.com/laradock/laradock/stargazers"><a href="#backers" alt="sponsors on Open Collective"><img src="https://opencollective.com/laradock/backers/badge.svg" /></a> <a href="#sponsors" alt="Sponsors on Open Collective"><img src="https://opencollective.com/laradock/sponsors/badge.svg" /></a> <img src="https://img.shields.io/github/stars/laradock/laradock.svg" alt="GitHub stars"></a>
<a href="https://github.com/laradock/laradock/network"><img src="https://img.shields.io/github/forks/laradock/laradock.svg" alt="GitHub forks"></a>
<a href="https://github.com/laradock/laradock/issues"><img src="https://img.shields.io/github/issues/laradock/laradock.svg" alt="GitHub issues"></a>
<a href="https://raw.githubusercontent.com/laradock/laradock/master/LICENSE"><img src="https://img.shields.io/badge/license-MIT-blue.svg" alt="GitHub license"></a>
<a href="http://laradock.io/contributing"><img src="https://img.shields.io/badge/contributions-welcome-brightgreen.svg?style=flat" alt="contributions welcome"></a>
</p>
<h4 align="center" style="color:#7d58c2">Use Docker First - Then Learn About It Later</h4>
<p align="center">
<a href="http://zalt.me"><img src="http://forthebadge.com/images/badges/built-by-developers.svg" alt="forthebadge" width="240"></a>
</p>
---
<p align="center">
<a href="http://laradock.io">
<img src="https://raw.githubusercontent.com/laradock/laradock/master/.github/home-page-images/documentation-button.png" width="300px" alt="Laradock Documentation"/>
</a>
</p>
## Sponsors
<p align="center">
<!-- Golden Sponsors -->
<a href="https://edubirdie.com/?ref=Laradock" target="_blank">
<img src="https://raw.githubusercontent.com/laradock/laradock/master/.github/home-page-images/sponsor-1.png?raw=true" width="300px" alt="Writing essays service Edubirdie"/>
</a>
</p>
<!-- OpenCollective Sponsors -->
<a href="https://opencollective.com/laradock/sponsor/0/website" target="_blank"><img src="https://opencollective.com/laradock/sponsor/0/avatar.svg"></a>
<a href="https://opencollective.com/laradock/sponsor/1/website" target="_blank"><img src="https://opencollective.com/laradock/sponsor/1/avatar.svg"></a>
<a href="https://opencollective.com/laradock/sponsor/2/website" target="_blank"><img src="https://opencollective.com/laradock/sponsor/2/avatar.svg"></a>
<a href="https://opencollective.com/laradock/sponsor/3/website" target="_blank"><img src="https://opencollective.com/laradock/sponsor/3/avatar.svg"></a>
<a href="https://opencollective.com/laradock/sponsor/4/website" target="_blank"><img src="https://opencollective.com/laradock/sponsor/4/avatar.svg"></a>
<a href="https://opencollective.com/laradock/sponsor/5/website" target="_blank"><img src="https://opencollective.com/laradock/sponsor/5/avatar.svg"></a>
<a href="https://opencollective.com/laradock/sponsor/6/website" target="_blank"><img src="https://opencollective.com/laradock/sponsor/6/avatar.svg"></a>
<a href="https://opencollective.com/laradock/sponsor/7/website" target="_blank"><img src="https://opencollective.com/laradock/sponsor/7/avatar.svg"></a>
For basic sponsorships go to [Open Collective](https://opencollective.com/laradock#sponsor), for golden sponsorships contact <a href = "mailto: support@laradock.io">support@laradock.io</a>.
*Your logo will show up on the [github repository](https://github.com/laradock/laradock/) index page and the [documentation](http://laradock.io/) main page.*
## People
#### Maintainers:
- [Mahmoud Zalt](https://github.com/Mahmoudz) @mahmoudz | [Twitter](https://twitter.com/Mahmoud_Zalt) | [Site](http://zalt.me)
- [Bo-Yi Wu](https://github.com/appleboy) @appleboy | [Twitter](https://twitter.com/appleboy)
- [Philippe Trépanier](https://github.com/philtrep) @philtrep
- [Mike Erickson](https://github.com/mikeerickson) @mikeerickson
- [Dwi Fahni Denni](https://github.com/zeroc0d3) @zeroc0d3
- [Thor Erik](https://github.com/thorerik) @thorerik
- [Winfried van Loon](https://github.com/winfried-van-loon) @winfried-van-loon
- [TJ Miller](https://github.com/sixlive) @sixlive
- [Yu-Lung Shao (Allen)](https://github.com/bestlong) @bestlong
- [Milan Urukalo](https://github.com/urukalo) @urukalo
- [Vince Chu](https://github.com/vwchu) @vwchu
- [Huadong Zuo](https://github.com/zuohuadong) @zuohuadong
- [Lan Phan](https://github.com/lanphan) @lanphan
- [Ahkui](https://github.com/ahkui) @ahkui
- Join us.
#### Awesome Contributors:
<a href="https://github.com/laradock/laradock/graphs/contributors"><img src="https://opencollective.com/laradock/contributors.svg?width=890" /></a>
## Donations
> Help keeping the project development going, by [contributing](http://laradock.io/contributing) or donating a little.
> Thanks in advance.
Donate directly via [Paypal](https://paypal.me/mzmmzz)
[![Donate](https://img.shields.io/badge/Donate-PayPal-green.svg)](https://paypal.me/mzmmzz)
or show your support via [Beerpay](https://beerpay.io/laradock/laradock)
[![Beerpay](https://beerpay.io/laradock/laradock/badge.svg?style=flat)](https://beerpay.io/laradock/laradock)
or become a backer on [Open Collective](https://opencollective.com/laradock#backer)
<a href="https://opencollective.com/laradock#backers" target="_blank"><img src="https://opencollective.com/laradock/backers.svg?width=890"></a>
## License
[MIT License](https://github.com/laradock/laradock/blob/master/LICENSE)

3
.github/SUPPORT.md vendored Normal file
View File

@ -0,0 +1,3 @@
# Support Questions
For help, please visit our official chatting room on [Gitter](https://gitter.im/Laradock/laradock).

BIN
.github/home-page-images/join-us.png vendored Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 128 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 70 KiB

21
.github/stale.yml vendored Normal file
View File

@ -0,0 +1,21 @@
# Configuration for Github probot-stale - https://github.com/probot/stale
# Number of days of inactivity before an issue becomes stale
daysUntilStale: 90
# Number of days of inactivity before a stale issue is closed
daysUntilClose: 21
# Issues with these labels will never be considered stale
exemptLabels:
- 'Type: Feature Request'
# Label to use when marking an issue as stale
staleLabel: Stale
# Comment to post when marking an issue as stale. Set to `false` to disable
markComment: >
Hi 👋 this issue has been automatically marked as `stale` 📌 because it has not had recent activity 😴.
It will be closed if no further activity occurs. Thank you for your contributions ❤️.
# Comment to post when closing a stale issue. Set to `false` to disable
closeComment: >
Hi again 👋 we would like to inform you that this issue has been automatically `closed` 🔒 because it had not recent activity during the `stale` period.
We really really appreciate your contributions, and looking forward for more in the future 🎈.
# Limit to only `issues` or `pulls`
only: issues

19
.github/workflows/main-ci.yml vendored Normal file
View File

@ -0,0 +1,19 @@
name: CI
on: [push, pull_request]
jobs:
build:
runs-on: ubuntu-latest
strategy:
matrix:
php_version: ["7.1", "7.2", "7.3", "7.4"]
service: [php-fpm, php-worker, workspace, laravel-horizon]
steps:
- uses: actions/checkout@v2
- name: Build the Docker image
env:
PHP_VERSION: ${{ matrix.php_version }}
run: |
cp env-example .env
docker-compose build ${{ matrix.service }}

6
.gitignore vendored
View File

@ -13,4 +13,8 @@
/nginx/ssl/*.key /nginx/ssl/*.key
/nginx/ssl/*.csr /nginx/ssl/*.csr
.DS_Store /.devcontainer/*
!/.devcontainer/devcontainer.example.json
!/.devcontainer/docker-compose.extend-example.yml
.DS_Store

View File

@ -1,62 +0,0 @@
# image: docker:latest
# services:
# - docker:dind
image: jonaskello/docker-and-compose:1.12.1-1.8.0
services:
- docker:1.12.1-dind
before_script:
- docker info
- docker-compose version
- cp env-example .env
- sed -i -- "s/=false/=true/g" .env
- cat .env
- env | sort
build:5.6:php-fpm:
variables:
PHP_VERSION: "5.6"
script:
- docker-compose build php-fpm
build:7.0:php-fpm:
variables:
PHP_VERSION: "7.0"
script:
- docker-compose build php-fpm
build:7.1:php-fpm:
variables:
PHP_VERSION: "7.1"
script:
- docker-compose build php-fpm
build:7.2:php-fpm:
variables:
PHP_VERSION: "7.2"
script:
- docker-compose build php-fpm
build:5.6:workspace:
variables:
PHP_VERSION: "5.6"
script:
- docker-compose build workspace
build:7.0:workspace:
variables:
PHP_VERSION: "7.0"
script:
- docker-compose build workspace
build:7.1:workspace:
variables:
PHP_VERSION: "7.1"
script:
- docker-compose build workspace
build:7.2:workspace:
variables:
PHP_VERSION: "7.2"
script:
- docker-compose build workspace

View File

@ -12,12 +12,14 @@ env:
- PHP_VERSION=7.1 BUILD_SERVICE=workspace - PHP_VERSION=7.1 BUILD_SERVICE=workspace
- PHP_VERSION=7.2 BUILD_SERVICE=workspace - PHP_VERSION=7.2 BUILD_SERVICE=workspace
- PHP_VERSION=7.3 BUILD_SERVICE=workspace - PHP_VERSION=7.3 BUILD_SERVICE=workspace
- PHP_VERSION=7.4 BUILD_SERVICE=workspace
- PHP_VERSION=5.6 BUILD_SERVICE=php-fpm - PHP_VERSION=5.6 BUILD_SERVICE=php-fpm
- PHP_VERSION=7.0 BUILD_SERVICE=php-fpm - PHP_VERSION=7.0 BUILD_SERVICE=php-fpm
- PHP_VERSION=7.1 BUILD_SERVICE=php-fpm - PHP_VERSION=7.1 BUILD_SERVICE=php-fpm
- PHP_VERSION=7.2 BUILD_SERVICE=php-fpm - PHP_VERSION=7.2 BUILD_SERVICE=php-fpm
- PHP_VERSION=7.3 BUILD_SERVICE=php-fpm - PHP_VERSION=7.3 BUILD_SERVICE=php-fpm
- PHP_VERSION=7.4 BUILD_SERVICE=php-fpm
- PHP_VERSION=hhvm BUILD_SERVICE=hhvm - PHP_VERSION=hhvm BUILD_SERVICE=hhvm
@ -26,12 +28,19 @@ env:
- PHP_VERSION=7.1 BUILD_SERVICE=php-worker - PHP_VERSION=7.1 BUILD_SERVICE=php-worker
- PHP_VERSION=7.2 BUILD_SERVICE=php-worker - PHP_VERSION=7.2 BUILD_SERVICE=php-worker
- PHP_VERSION=7.3 BUILD_SERVICE=php-worker - PHP_VERSION=7.3 BUILD_SERVICE=php-worker
- PHP_VERSION=7.4 BUILD_SERVICE=php-worker
- PHP_VERSION=7.0 BUILD_SERVICE=laravel-horizon
- PHP_VERSION=7.1 BUILD_SERVICE=laravel-horizon
- PHP_VERSION=7.2 BUILD_SERVICE=laravel-horizon
- PHP_VERSION=7.3 BUILD_SERVICE=laravel-horizon
- PHP_VERSION=7.4 BUILD_SERVICE=laravel-horizon
- PHP_VERSION=NA BUILD_SERVICE=solr - PHP_VERSION=NA BUILD_SERVICE=solr
- PHP_VERSION=NA BUILD_SERVICE="mssql rethinkdb aerospike" - PHP_VERSION=NA BUILD_SERVICE="mssql rethinkdb aerospike"
- PHP_VERSION=NA BUILD_SERVICE="blackfire minio percona nginx caddy apache2 mysql mariadb postgres postgres-postgis neo4j mongo redis cassandra" - PHP_VERSION=NA BUILD_SERVICE="blackfire minio percona nginx caddy apache2 mysql mariadb postgres postgres-postgis neo4j mongo redis cassandra"
- PHP_VERSION=NA BUILD_SERVICE="adminer phpmyadmin pgadmin" - PHP_VERSION=NA BUILD_SERVICE="adminer phpmyadmin pgadmin"
- PHP_VERSION=NA BUILD_SERVICE="memcached beanstalkd beanstalkd-console rabbitmq elasticsearch certbot mailhog maildev selenium jenkins proxy proxy2 haproxy" - PHP_VERSION=NA BUILD_SERVICE="memcached beanstalkd beanstalkd-console rabbitmq elasticsearch certbot mailhog maildev selenium jenkins proxy proxy2 haproxy gearman"
- PHP_VERSION=NA BUILD_SERVICE="kibana grafana laravel-echo-server" - PHP_VERSION=NA BUILD_SERVICE="kibana grafana laravel-echo-server"
- PHP_VERSION=NA BUILD_SERVICE="ipython-controller manticore" - PHP_VERSION=NA BUILD_SERVICE="ipython-controller manticore"
# - PHP_VERSION=NA BUILD_SERVICE="aws" # - PHP_VERSION=NA BUILD_SERVICE="aws"

5
.vscode/settings.json vendored Normal file
View File

@ -0,0 +1,5 @@
{
"files.associations": {
"Dockerfile-*": "dockerfile"
}
}

3
CODE_OF_CONDUCT.md Normal file
View File

@ -0,0 +1,3 @@
# Laradock Code of Conduct
We follow the [Contributor Covenant](https://www.contributor-covenant.org/version/1/4/code-of-conduct) Code of Conduct.

3
CONTRIBUTING.md Normal file
View File

@ -0,0 +1,3 @@
# Thank you for your consideration
Checkout out our [contribution guide](http://laradock.io/contributing).

View File

@ -17,11 +17,11 @@ googleAnalytics = "UA-37514928-9"
# Repository # Repository
provider = "" provider = ""
repo_url = "" repo_url = "https://github.com/laradock/laradock"
version = "" version = ""
logo = "images/logo.png" logo = "images/favicons/ms-icon-310x310.png"
favicon = "" favicon = "images/favicons/favicon.ico"
permalink = "#" permalink = "#"
@ -43,49 +43,39 @@ googleAnalytics = "UA-37514928-9"
[social] [social]
twitter = "" twitter = ""
github = "laradock/laradock" github = "laradock/laradock"
email = "" email = "support@laradock.io"
# ------- MENU START ----------------------------------------- # ------- MENU START -----------------------------------------
[[menu.main]] [[menu.main]]
name = "1. Introduction" name = "Introduction"
url = "introduction/" url = "introduction/"
weight = 1 weight = 1
[[menu.main]] [[menu.main]]
name = "2. Getting Started" name = "Getting Started"
url = "getting-started/" url = "getting-started/"
weight = 2 weight = 2
[[menu.main]] [[menu.main]]
name = "3. Documentation" name = "Documentation"
url = "documentation/" url = "documentation/"
weight = 3 weight = 3
[[menu.main]] [[menu.main]]
name = "4. Guides" name = "Help & Questions"
url = "guides/" url = "help/"
weight = 4 weight = 4
[[menu.main]] [[menu.main]]
name = "5. Help & Questions" name = "Related Projects"
url = "help/" url = "related-projects/"
weight = 5 weight = 5
[[menu.main]] [[menu.main]]
name = "6. Related Projects" name = "Contributions"
url = "related-projects/"
weight = 6
[[menu.main]]
name = "7. Contributing"
url = "contributing/" url = "contributing/"
weight = 7 weight = 6
[[menu.main]]
name = "8. License"
url = "license/"
weight = 8
# ------- MENU END ----------------------------------------- # ------- MENU END -----------------------------------------

View File

@ -1,7 +1,7 @@
--- ---
title: 7. Contributing title: Contributions
type: index type: index
weight: 7 weight: 6
--- ---
@ -51,12 +51,20 @@ To update the sidebar or add a new section to it, you can edit this `DOCUMENTATI
### Host the documentation locally ### Host the documentation locally
**Option 1: Use Hugo Docker Image:**
1. Update the `DOCUMENTATION/content`.
2. Go to `DOCUMENTATION/`.
3. Run `docker run --rm -it -v $PWD:/src -p 1313:1313 -u hugo jguyomard/hugo-builder hugo server -w --bind=0.0.0.0`
4. Visit [http://localhost:1313/](http://localhost:1313/)
**Option 2: Install Hugo Locally:**
1. Install [Hugo](https://gohugo.io/) on your machine. 1. Install [Hugo](https://gohugo.io/) on your machine.
2. Edit the `DOCUMENTATION/content`. 2. Update the `DOCUMENTATION/content`.
3. Delete the `/docs` folder from the root. 3. Delete the `/docs` folder from the root.
4. After you finish the editing, go to `DOCUMENTATION/` and run the `hugo` command to generate the HTML docs (inside a new `/docs` folder). 4. Go to `DOCUMENTATION/`.
5. Run the `hugo` command to generate the HTML docs inside a new `/docs` folder.
## Support new Software (Add new Container) ## Support new Software (Add new Container)
@ -100,7 +108,7 @@ To update the sidebar or add a new section to it, you can edit this `DOCUMENTATI
* Search for the image in the [Docker Hub](https://hub.docker.com/search/) and find the source.. * Search for the image in the [Docker Hub](https://hub.docker.com/search/) and find the source..
*Most of the image in Laradock are offical images, these projects live in other repositories and maintainer by other organizations.* *Most of the image in Laradock are official images, these projects live in other repositories and maintainer by other organizations.*
**Note:** Laradock has two base images for (`Workspace` and `php-fpm`, mainly made to speed up the build time on your machine. **Note:** Laradock has two base images for (`Workspace` and `php-fpm`, mainly made to speed up the build time on your machine.
@ -204,4 +212,4 @@ After your pull request is merged, you can safely delete your branch and pull th
<br> <br>
#### Happy Coding :) ## Happy Coding :)

View File

@ -1,5 +1,5 @@
--- ---
title: 3. Documentation title: Documentation
type: index type: index
weight: 3 weight: 3
--- ---
@ -57,7 +57,9 @@ docker-compose down
<br> <br>
<a name="Enter-Container"></a> <a name="Enter-Container"></a>
## Enter a Container (run commands in a running Container) ## Enter a Container
> Run commands in a running Container.
1 - First list the current running containers with `docker ps` 1 - First list the current running containers with `docker ps`
@ -76,7 +78,7 @@ docker-compose exec mysql bash
*Example: enter to MySQL prompt within MySQL container* *Example: enter to MySQL prompt within MySQL container*
```bash ```bash
docker-compose exec mysql mysql -u homestead -psecret docker-compose exec mysql mysql -udefault -psecret
``` ```
3 - To exit a container, type `exit`. 3 - To exit a container, type `exit`.
@ -88,7 +90,8 @@ docker-compose exec mysql mysql -u homestead -psecret
<br> <br>
<a name="Edit-Container"></a> <a name="Edit-Container"></a>
## Edit default container configuration ## Edit default Container config
Open the `docker-compose.yml` and change anything you want. Open the `docker-compose.yml` and change anything you want.
Examples: Examples:
@ -161,7 +164,7 @@ You might use the `--no-cache` option if you want full rebuilding (`docker-compo
<br> <br>
<a name="Add-Docker-Images"></a> <a name="Add-Docker-Images"></a>
## Add more Software (Docker Images) ## Add more Docker Images
To add an image (software), just edit the `docker-compose.yml` and add your container details, to do so you need to be familiar with the [docker compose file syntax](https://docs.docker.com/compose/compose-file/). To add an image (software), just edit the `docker-compose.yml` and add your container details, to do so you need to be familiar with the [docker compose file syntax](https://docs.docker.com/compose/compose-file/).
@ -272,10 +275,6 @@ docker-compose build workspace
``` ```
<br> <br>
<a name="Install-xDebug"></a> <a name="Install-xDebug"></a>
## Install xDebug ## Install xDebug
@ -314,6 +313,29 @@ Note: If `.php-fpm/xdebug` doesn't execute and gives `Permission Denied` error t
<br>
<a name="Install-pcov"></a>
## Install pcov
1 - First install `pcov` in the Workspace and the PHP-FPM Containers:
<br>
a) open the `.env` file
<br>
b) search for the `WORKSPACE_INSTALL_PCOV` argument under the Workspace Container
<br>
c) set it to `true`
<br>
d) search for the `PHP_FPM_INSTALL_PCOV` argument under the PHP-FPM Container
<br>
e) set it to `true`
2 - Re-build the containers `docker-compose build workspace php-fpm`
Note that pcov is only supported on PHP 7.1 or newer. For more information on setting up pcov optimally, check the recommended section
of the [README](https://github.com/krakjoe/pcov)
<br> <br>
<a name="Install-phpdbg"></a> <a name="Install-phpdbg"></a>
## Install phpdbg ## Install phpdbg
@ -365,7 +387,9 @@ Always download the latest version of [Loaders for ionCube ](http://www.ioncube.
<br> <br>
<a name="Install-Deployer"></a> <a name="Install-Deployer"></a>
## Install Deployer (Deployment tool for PHP) ## Install Deployer
> A deployment tool for PHP.
1 - Open the `.env` file 1 - Open the `.env` file
<br> <br>
@ -376,14 +400,17 @@ Always download the latest version of [Loaders for ionCube ](http://www.ioncube.
4 - Re-build the containers `docker-compose build workspace` 4 - Re-build the containers `docker-compose build workspace`
[**Deployer Documentation Here**](https://deployer.org/docs) [**Deployer Documentation Here**](https://deployer.org/docs/getting-started.html)
<br> <br>
<a name="Install-SonarQube"></a> <a name="Install-SonarQube"></a>
## Install SonarQube (automatic code review tool) ## Install SonarQube
> An automatic code review tool.
SonarQube® is an automatic code review tool to detect bugs, vulnerabilities and code smells in your code. It can integrate with your existing workflow to enable continuous code inspection across your project branches and pull requests. SonarQube® is an automatic code review tool to detect bugs, vulnerabilities and code smells in your code. It can integrate with your existing workflow to enable continuous code inspection across your project branches and pull requests.
<br> <br>
1 - Open the `.env` file 1 - Open the `.env` file
@ -444,14 +471,6 @@ To learn more about how Docker publishes ports, please read [this excellent post
<br>
<a name="Digital-Ocean"></a>
## Setup Laravel and Docker on Digital Ocean
### [Full Guide Here](/guides/#Digital-Ocean)
@ -464,7 +483,7 @@ To learn more about how Docker publishes ports, please read [this excellent post
<a name="Install-Laravel"></a> <a name="Install-Laravel"></a>
## Install Laravel from a Docker Container ## Install Laravel from Container
1 - First you need to enter the Workspace Container. 1 - First you need to enter the Workspace Container.
@ -536,13 +555,19 @@ Note: Should add `--user=laradock` (example `docker-compose exec --user=laradock
php artisan php artisan
``` ```
```bash ```bash
Composer update composer update
``` ```
```bash ```bash
phpunit phpunit
``` ```
```
vue serve
```
(browse the results at `http://localhost:[WORKSPACE_VUE_CLI_SERVE_HOST_PORT]`)
```
vue ui
```
(browse the results at `http://localhost:[WORKSPACE_VUE_CLI_UI_HOST_PORT]`)
@ -592,6 +617,33 @@ docker-compose up -d php-worker
<br>
<a name="Use-Browsersync-With-Laravel-Mix"></a>
## Use Browsersync
> Using Use Browsersync with Laravel Mix.
1. Add the following settings to your `webpack.mix.js` file. Please refer to Browsersync [Options](https://browsersync.io/docs/options) page for more options.
```
const mix = require('laravel-mix')
(...)
mix.browserSync({
open: false,
proxy: 'nginx' // replace with your web server container
})
```
2. Run `npm run watch` within your `workspace` container.
3. Open your browser and visit address `http://localhost:[WORKSPACE_BROWSERSYNC_HOST_PORT]`. It will refresh the page automatically whenever you edit any source file in your project.
4. If you wish to access Browsersync UI for your project, visit address `http://localhost:[WORKSPACE_BROWSERSYNC_UI_HOST_PORT]`.
<br> <br>
<a name="Use-Mailu"></a> <a name="Use-Mailu"></a>
## Use Mailu ## Use Mailu
@ -650,7 +702,7 @@ docker-compose up -d metabase
1) Boot the container `docker-compose up -d jenkins`. To enter the container type `docker-compose exec jenkins bash`. 1) Boot the container `docker-compose up -d jenkins`. To enter the container type `docker-compose exec jenkins bash`.
2) Go to `http://localhost:8090/` (if you didn't chanhed your default port mapping) 2) Go to `http://localhost:8090/` (if you didn't change your default port mapping)
3) Authenticate from the web app. 3) Authenticate from the web app.
@ -674,6 +726,7 @@ You may wanna change the default security configuration, so go to `http://localh
<br> <br>
<a name="Use-Redis"></a> <a name="Use-Redis"></a>
## Use Redis ## Use Redis
1 - First make sure you run the Redis Container (`redis`) with the `docker-compose up` command. 1 - First make sure you run the Redis Container (`redis`) with the `docker-compose up` command.
@ -761,12 +814,81 @@ Read the [Laravel official documentation](https://laravel.com/docs/5.7/redis#con
``` ```
<br>
<a name="Use-Varnish"></a>
## Use Varnish
The goal was to proxy request to varnish server using nginx. So only nginx has been configured for Varnish proxy.
Nginx is on port 80 or 443. Nginx sends request through varnish server and varnish server sends request back to nginx on port 81 (external port is defined in `VARNISH_BACKEND_PORT`).
The idea was taken from this [post](https://www.linode.com/docs/websites/varnish/use-varnish-and-nginx-to-serve-wordpress-over-ssl-and-http-on-debian-8/)
The Varnish configuration was developed and tested for Wordpress only. Probably it works with other systems.
#### Steps to configure varnish proxy server:
1. You have to set domain name for VARNISH_PROXY1_BACKEND_HOST variable.
2. If you want to use varnish for different domains, you have to add new configuration section in your env file.
```
VARNISH_PROXY1_CACHE_SIZE=128m
VARNISH_PROXY1_BACKEND_HOST=replace_with_your_domain.name
VARNISH_PROXY1_SERVER=SERVER1
```
3. Then you have to add new config section into docker-compose.yml with related variables:
```
custom_proxy_name:
container_name: custom_proxy_name
build: ./varnish
expose:
- ${VARNISH_PORT}
environment:
- VARNISH_CONFIG=${VARNISH_CONFIG}
- CACHE_SIZE=${VARNISH_PROXY2_CACHE_SIZE}
- VARNISHD_PARAMS=${VARNISHD_PARAMS}
- VARNISH_PORT=${VARNISH_PORT}
- BACKEND_HOST=${VARNISH_PROXY2_BACKEND_HOST}
- BACKEND_PORT=${VARNISH_BACKEND_PORT}
- VARNISH_SERVER=${VARNISH_PROXY2_SERVER}
ports:
- "${VARNISH_PORT}:${VARNISH_PORT}"
links:
- workspace
networks:
- frontend
```
4. change your varnish config and add nginx configuration. Example Nginx configuration is here: `nginx/sites/laravel_varnish.conf.example`.
5. `varnish/default.vcl` is old varnish configuration, which was used in the previous version. Use `default_wordpress.vcl` instead.
#### How to run:
1. Rename `default_wordpress.vcl` to `default.vcl`
2. `docker-compose up -d nginx`
3. `docker-compose up -d proxy`
Keep in mind that varnish server must be built after Nginx cause varnish checks domain affordability.
#### FAQ:
1. How to purge cache? <br>
run from any cli: <br>`curl -X PURGE https://yourwebsite.com/`.
2. How to reload varnish?<br>
`docker container exec proxy varnishreload`
3. Which varnish commands are allowed?
- varnishadm
- varnishd
- varnishhist
- varnishlog
- varnishncsa
- varnishreload
- varnishstat
- varnishtest
- varnishtop
4. How to reload Nginx?<br>
`docker exec Nginx nginx -t`<br>
`docker exec Nginx nginx -s reload`
<br> <br>
<a name="Use-Mongo"></a> <a name="Use-Mongo"></a>
## Use Mongo ## Use Mongo
1 - First install `mongo` in the Workspace and the PHP-FPM Containers: 1 - First install `mongo` in the Workspace and the PHP-FPM Containers:
@ -855,7 +977,7 @@ docker-compose up -d mariadb phpmyadmin
*Note: To use with MariaDB, open `.env` and set `PMA_DB_ENGINE=mysql` to `PMA_DB_ENGINE=mariadb`.* *Note: To use with MariaDB, open `.env` and set `PMA_DB_ENGINE=mysql` to `PMA_DB_ENGINE=mariadb`.*
2 - Open your browser and visit the localhost on port **8080**: `http://localhost:8080` 2 - Open your browser and visit the localhost on port **8081**: `http://localhost:8081`
@ -952,7 +1074,7 @@ job1:
docker-compose up -d adminer docker-compose up -d adminer
``` ```
2 - Open your browser and visit the localhost on port **8080**: `http://localhost:8080` 2 - Open your browser and visit the localhost on port **8081**: `http://localhost:8081`
**Note:** We've locked Adminer to version 4.3.0 as at the time of writing [it contained a major bug](https://sourceforge.net/p/adminer/bugs-and-features/548/) preventing PostgreSQL users from logging in. If that bug is fixed (or if you're not using PostgreSQL) feel free to set Adminer to the latest version within [the Dockerfile](https://github.com/laradock/laradock/blob/master/adminer/Dockerfile#L1): `FROM adminer:latest` **Note:** We've locked Adminer to version 4.3.0 as at the time of writing [it contained a major bug](https://sourceforge.net/p/adminer/bugs-and-features/548/) preventing PostgreSQL users from logging in. If that bug is fixed (or if you're not using PostgreSQL) feel free to set Adminer to the latest version within [the Dockerfile](https://github.com/laradock/laradock/blob/master/adminer/Dockerfile#L1): `FROM adminer:latest`
@ -1044,6 +1166,7 @@ _Note: You can customize the port on which beanstalkd console is listening by ch
<br> <br>
<a name="Use-Confluence"></a> <a name="Use-Confluence"></a>
## Use Confluence ## Use Confluence
1 - Run the Confluence Container (`confluence`) with the `docker-compose up` command. Example: 1 - Run the Confluence Container (`confluence`) with the `docker-compose up` command. Example:
@ -1054,10 +1177,19 @@ docker-compose up -d confluence
2 - Open your browser and visit the localhost on port **8090**: `http://localhost:8090` 2 - Open your browser and visit the localhost on port **8090**: `http://localhost:8090`
**Note:** You can you trial version and then you have to buy a licence to use it. **Note:** Confluence is a licensed application - an evaluation licence can be obtained from Atlassian.
You can set custom confluence version in `CONFLUENCE_VERSION`. [Find more info in section 'Versioning'](https://hub.docker.com/r/atlassian/confluence-server/) You can set custom confluence version in `CONFLUENCE_VERSION`. [Find more info in section 'Versioning'](https://hub.docker.com/r/atlassian/confluence-server/)
##### Confluence usage with Nginx and SSL.
1. Find an instance configuration file in `nginx/sites/confluence.conf.example` and replace sample domain with yours.
2. Configure ssl keys to your domain.
Keep in mind that Confluence is still accessible on 8090 anyway.
<br> <br>
<a name="Use-ElasticSearch"></a> <a name="Use-ElasticSearch"></a>
## Use ElasticSearch ## Use ElasticSearch
@ -1079,6 +1211,12 @@ docker-compose up -d elasticsearch
```bash ```bash
docker-compose exec elasticsearch /usr/share/elasticsearch/bin/plugin install {plugin-name} docker-compose exec elasticsearch /usr/share/elasticsearch/bin/plugin install {plugin-name}
``` ```
For ElasticSearch 5.0 and above, the previous "plugin" command as been renamed to "elasticsearch-plguin".
Use the following instead:
```bash
docker-compose exec elasticsearch /usr/share/elasticsearch/bin/elasticsearch-plugin install {plugin-name}
```
2 - Restart elasticsearch container 2 - Restart elasticsearch container
@ -1287,30 +1425,13 @@ GRAYLOG_SHA256_PASSWORD=b1cb6e31e172577918c9e7806c572b5ed8477d3f57aa737bee4b5b1d
<a name="Use-Traefik"></a> <a name="Use-Traefik"></a>
## Use Traefik ## Use Traefik
To use Traefik you need to do some changes in `traefik/trafik.toml` and `docker-compose.yml`. To use Traefik you need to do some changes in `.env` and `docker-compose.yml`.
1 - Open `traefik.toml` and change the `e-mail` property in `acme` section. 1 - Open `.env` and change `ACME_DOMAIN` to your domain and `ACME_EMAIL` to your email.
2 - Change your domain in `acme.domains`. For example: `main = "example.org"` 2 - You need to change the `docker-compose.yml` file to match the Traefik needs. If you want to use Traefik, you must not expose the ports of each container to the internet, but specify some labels.
2.1 - If you have subdomains, you must add them to `sans` property in `acme.domains` section. 2.1 For example, let's try with NGINX. You must have:
```bash
[[acme.domais]]
main = "example.org"
sans = ["monitor.example.org", "pma.example.org"]
```
3 - If you need to add basic authentication (https://docs.traefik.io/configuration/entrypoints/#basic-authentication), you just need to add the following text after `[entryPoints.https.tls]`:
```bash
[entryPoints.https.auth.basic]
users = ["user:password"]
```
4 - You need to change the `docker-compose.yml` file to match the Traefik needs. If you want to use Traefik, you must not expose the ports of each container to the internet, but specify some labels.
4.1 For example, let's try with NGINX. You must have:
```bash ```bash
nginx: nginx:
@ -1330,9 +1451,25 @@ nginx:
- frontend - frontend
- backend - backend
labels: labels:
- traefik.backend=nginx - "traefik.enable=true"
- traefik.frontend.rule=Host:example.org - "traefik.http.services.nginx.loadbalancer.server.port=80"
- traefik.port=80 # https router
- "traefik.http.routers.https.rule=Host(`${ACME_DOMAIN}`, `www.${ACME_DOMAIN}`)"
- "traefik.http.routers.https.entrypoints=https"
- "traefik.http.routers.https.middlewares=www-redirectregex"
- "traefik.http.routers.https.service=nginx"
- "traefik.http.routers.https.tls.certresolver=letsencrypt"
# http router
- "traefik.http.routers.http.rule=Host(`${ACME_DOMAIN}`, `www.${ACME_DOMAIN}`)"
- "traefik.http.routers.http.entrypoints=http"
- "traefik.http.routers.http.middlewares=http-redirectscheme"
- "traefik.http.routers.http.service=nginx"
# middlewares
- "traefik.http.middlewares.www-redirectregex.redirectregex.permanent=true"
- "traefik.http.middlewares.www-redirectregex.redirectregex.regex=^https://www.(.*)"
- "traefik.http.middlewares.www-redirectregex.redirectregex.replacement=https://$$1"
- "traefik.http.middlewares.http-redirectscheme.redirectscheme.permanent=true"
- "traefik.http.middlewares.http-redirectscheme.redirectscheme.scheme=https"
``` ```
instead of instead of
@ -1490,6 +1627,13 @@ To add locales to the container:
4 - Check enabled locales with `docker-compose exec php-fpm locale -a` 4 - Check enabled locales with `docker-compose exec php-fpm locale -a`
Update the locale setting, default is `POSIX`
1 - Open the `.env` file and set `PHP_FPM_DEFAULT_LOCALE` to `en_US.UTF8` or other locale you want.
2 - Re-build your PHP-FPM Container `docker-compose build php-fpm`.
3 - Check the default locale with `docker-compose exec php-fpm locale`
<br> <br>
@ -1575,7 +1719,7 @@ The default username and password for the root MySQL user are `root` and `root `
1 - Enter the MySQL container: `docker-compose exec mysql bash`. 1 - Enter the MySQL container: `docker-compose exec mysql bash`.
2 - Enter mysql: `mysql -uroot -proot` for non root access use `mysql -uhomestead -psecret`. 2 - Enter mysql: `mysql -uroot -proot` for non root access use `mysql -udefault -psecret`.
3 - See all users: `SELECT User FROM mysql.user;` 3 - See all users: `SELECT User FROM mysql.user;`
@ -1588,7 +1732,9 @@ The default username and password for the root MySQL user are `root` and `root `
<br> <br>
<a name="Create-Multiple-Databases"></a> <a name="Create-Multiple-Databases"></a>
## Create Multiple Databases (MySQL) ## Create Multiple Databases
> With MySQL.
Create `createdb.sql` from `mysql/docker-entrypoint-initdb.d/createdb.sql.example` in `mysql/docker-entrypoint-initdb.d/*` and add your SQL syntax as follow: Create `createdb.sql` from `mysql/docker-entrypoint-initdb.d/createdb.sql.example` in `mysql/docker-entrypoint-initdb.d/*` and add your SQL syntax as follow:
@ -1622,7 +1768,9 @@ If you need <a href="#MySQL-access-from-host">MySQL access from your host</a>, d
<br> <br>
<a name="Use-custom-Domain"></a> <a name="Use-custom-Domain"></a>
## Use custom Domain (instead of the Docker IP) ## Use custom Domain
> How to use a custom domain, instead of the Docker IP.
Assuming your custom domain is `laravel.test` Assuming your custom domain is `laravel.test`
@ -1648,7 +1796,7 @@ server_name laravel.test;
<br> <br>
<a name="Enable-Global-Composer-Build-Install"></a> <a name="Enable-Global-Composer-Build-Install"></a>
## Enable Global Composer Build Install ## Global Composer Build Install
Enabling Global Composer Install during the build for the container allows you to get your composer requirements installed and available in the container after the build is done. Enabling Global Composer Install during the build for the container allows you to get your composer requirements installed and available in the container after the build is done.
@ -1667,7 +1815,9 @@ Enabling Global Composer Install during the build for the container allows you t
<br> <br>
<a name="Magento-2-authentication-credentials"></a> <a name="Magento-2-authentication-credentials"></a>
## Add authentication credential for Magento 2 ## Add authentication for Magento
> Adding authentication credentials for Magento 2.
1 - Open the `.env` file 1 - Open the `.env` file
@ -1719,6 +1869,23 @@ To install NVM and NodeJS in the Workspace container
<br>
<a name="Install-PNPM"></a>
## Install PNPM
pnpm uses hard links and symlinks to save one version of a module only ever once on a disk. When using npm or Yarn for example, if you have 100 projects using the same version of lodash, you will have 100 copies of lodash on disk. With pnpm, lodash will be saved in a single place on the disk and a hard link will put it into the node_modules where it should be installed.
As a result, you save gigabytes of space on your disk and you have a lot faster installations! If you'd like more details about the unique node_modules structure that pnpm creates and why it works fine with the Node.js ecosystem.
More info here: https://pnpm.js.org/en/motivation
1 - Open the `.env` file
2 - Search for the `WORKSPACE_INSTALL_NODE` and `WORKSPACE_INSTALL_PNPM` argument under the Workspace Container and set it to `true`
3 - Re-build the container `docker-compose build workspace`
@ -1759,7 +1926,7 @@ To install NPM GULP toolkit in the Workspace container
<br> <br>
<a name="Install-NPM-BOWER"></a> <a name="Install-NPM-BOWER"></a>
## Install NPM BOWER package manager ## Install NPM BOWER
To install NPM BOWER package manager in the Workspace container To install NPM BOWER package manager in the Workspace container
@ -1784,7 +1951,11 @@ To install NPM VUE CLI in the Workspace container
2 - Search for the `WORKSPACE_INSTALL_NPM_VUE_CLI` argument under the Workspace Container and set it to `true` 2 - Search for the `WORKSPACE_INSTALL_NPM_VUE_CLI` argument under the Workspace Container and set it to `true`
3 - Re-build the container `docker-compose build workspace` 3 - Change `vue serve` port using `WORKSPACE_VUE_CLI_SERVE_HOST_PORT` if you wish to (default value is 8080)
4 - Change `vue ui` port using `WORKSPACE_VUE_CLI_UI_HOST_PORT` if you wish to (default value is 8001)
5 - Re-build the container `docker-compose build workspace`
@ -1840,7 +2011,21 @@ To install FFMPEG in the Workspace container
**PS** Don't forget to install the binary in the `php-fpm` container too by applying the same steps above to its container, otherwise the you'll get an error when running the `php-ffmpeg` binary. **PS** Don't forget to install the binary in the `php-fpm` container too by applying the same steps above to its container, otherwise the you'll get an error when running the `php-ffmpeg` binary.
<br>
<a name="Install-wkhtmltopdf"></a>
## Install wkhtmltopdf
[wkhtmltopdf](https://wkhtmltopdf.org/) is a utility for outputting a PDF from HTML
To install wkhtmltopdf in the Workspace container
1 - Open the `.env` file
2 - Search for the `WORKSPACE_INSTALL_WKHTMLTOPDF` argument under the Workspace Container and set it to `true`
3 - Re-build the container `docker-compose build workspace`
**PS** Don't forget to install the binary in the `php-fpm` container too by applying the same steps above to its container, otherwise the you'll get an error when running the `wkhtmltopdf` binary.
@ -1865,6 +2050,29 @@ To install GNU Parallel in the Workspace container
<br>
<a name="Install-Supervisor"></a>
## Install Supervisor
Supervisor is a client/server system that allows its users to monitor and control a number of processes on UNIX-like operating systems.
(see http://supervisord.org/index.html)
To install Supervisor in the Workspace container
1 - Open the `.env` file
2 - Set `WORKSPACE_INSTALL_SUPERVISOR` and `WORKSPACE_INSTALL_PYTHON` to `true`.
3 - Create supervisor configuration file (for ex., named `laravel-worker.conf`) for Laravel Queue Worker in `php-worker/supervisord.d/` by simply copy from `laravel-worker.conf.example`
4 - Re-build the container `docker-compose build workspace` Or `docker-compose up --build -d workspace`
<br> <br>
<a name="Common-Aliases"></a> <a name="Common-Aliases"></a>
<br> <br>
@ -1904,7 +2112,9 @@ e) set it to `true`
<br> <br>
<a name="Install-Laravel-Envoy"></a> <a name="Install-Laravel-Envoy"></a>
## Install Laravel Envoy (Envoy Task Runner) ## Install Laravel Envoy
> A Tasks Runner.
1 - Open the `.env` file 1 - Open the `.env` file
<br> <br>
@ -1937,7 +2147,8 @@ e) set it to `true`
<br> <br>
<a name="Install-Faketime"></a> <a name="Install-Faketime"></a>
## Install libfaketime in the php-fpm container ## Install libfaketime in php-fpm
Libfaketime allows you to control the date and time that is returned from the operating system. Libfaketime allows you to control the date and time that is returned from the operating system.
It can be used by specifying a special string in the `PHP_FPM_FAKETIME` variable in the `.env` file. It can be used by specifying a special string in the `PHP_FPM_FAKETIME` variable in the `.env` file.
For example: For example:
@ -1961,7 +2172,8 @@ will set the clock back 1 day. See (https://github.com/wolfcw/libfaketime) for m
<br> <br>
<a name="Install-YAML"></a> <a name="Install-YAML"></a>
## Install YAML PHP extension in the php-fpm container ## Install YAML extension in php-fpm
YAML PHP extension allows you to easily parse and create YAML structured data. I like YAML because it's well readable for humans. See http://php.net/manual/en/ref.yaml.php and http://yaml.org/ for more info. YAML PHP extension allows you to easily parse and create YAML structured data. I like YAML because it's well readable for humans. See http://php.net/manual/en/ref.yaml.php and http://yaml.org/ for more info.
1 - Open the `.env` file 1 - Open the `.env` file
@ -1973,6 +2185,66 @@ YAML PHP extension allows you to easily parse and create YAML structured data. I
4 - Re-build the container `docker-compose build php-fpm`<br> 4 - Re-build the container `docker-compose build php-fpm`<br>
<br>
<a name="Install-AST"></a>
## Install AST PHP extension
AST exposes the abstract syntax tree generated by PHP 7+. This extension is required by tools such as `Phan`, a static analyzer for PHP.
1 - Open the `.env` file
2 - Search for the `WORKSPACE_INSTALL_AST` argument under the Workspace Container
3 - Set it to `true`
4 - Re-build the container `docker-compose build workspace`
**Note** If you need a specific version of AST then search for the `WORKSPACE_AST_VERSION` argument under the Workspace Container and set it to the desired version and continue step 4.
<br>
<a name="Install-Bash-Git-Prompt"></a>
## Install Git Bash Prompt
A bash prompt that displays information about the current git repository. In particular the branch name, difference with remote branch, number of files staged, changed, etc.
1 - Open the `.env` file
2 - Search for the `WORKSPACE_INSTALL_GIT_PROMPT` argument under the Workspace Container
3 - Set it to `true`
4 - Re-build the container `docker-compose build workspace`
**Note** You can configure bash-git-prompt by editing the `workspace/gitprompt.sh` file and re-building the workspace container.
For configuration information, visit the [bash-git-prompt repository](https://github.com/magicmonty/bash-git-prompt).
<br>
<a name="Install-Oh-My-Zsh"></a>
## Install Oh My ZSH
> With the Laravel autocomplete plugin.
[Zsh](https://en.wikipedia.org/wiki/Z_shell) is an extended Bourne shell with many improvements, including some features of Bash, ksh, and tcsh.
[Oh My Zsh](https://ohmyz.sh/) is a delightful, open source, community-driven framework for managing your Zsh configuration.
[Laravel autocomplete plugin](https://github.com/ohmyzsh/ohmyzsh/tree/master/plugins/laravel) adds aliases and autocompletion for Laravel Artisan and Bob command-line interfaces.
1 - Open the `.env` file
2 - Search for the `SHELL_OH_MY_ZSH` argument under the Workspace Container
3 - Set it to `true`
4 - Re-build the container `docker-compose build workspace`
5 - Use it `docker-compose exec --user=laradock workspace zsh`
**Note** You can configure Oh My ZSH by editing the `/home/laradock/.zshrc` in running container.
<br> <br>
<a name="phpstorm-debugging"></a> <a name="phpstorm-debugging"></a>
## PHPStorm Debugging Guide ## PHPStorm Debugging Guide
@ -1982,12 +2254,27 @@ Remote debug Laravel web and phpunit tests.
<br>
<a name="Setup-gcloud"></a>
## Setup Google Cloud
> Setting up Google Cloud for the docker registry.
```
gcloud auth configure-docker
```
Login to gcloud for use the registry and auth the permission.
```
gcloud auth login
```
<br> <br>
<a name="keep-tracking-Laradock"></a> <a name="keep-tracking-Laradock"></a>
## Keep track of your Laradock changes ## Track your Laradock changes
1. Fork the Laradock repository. 1. Fork the Laradock repository.
2. Use that fork as a submodule. 2. Use that fork as a submodule.

View File

@ -1,18 +1,18 @@
--- ---
title: 2. Getting Started title: Getting Started
type: index type: index
weight: 2 weight: 2
--- ---
## 2.1 Requirements ## Requirements
- [Git](https://git-scm.com/downloads) - [Git](https://git-scm.com/downloads)
- [Docker](https://www.docker.com/products/docker/) `>= 17.12` - [Docker](https://www.docker.com/products/docker/) [ >= 17.12 ]
## 2.2 Installation ## Installation
Choose the setup the best suits your needs. Choose the setup the best suits your needs.
@ -44,10 +44,10 @@ Note: If you are not using Git yet for your project, you can use `git clone` ins
2 - Make sure your folder structure should look like this: 2 - Make sure your folder structure should look like this:
``` ```
+ project-a * project-a
+ laradock-a * laradock-a
+ project-b * project-b
+ laradock-b * laradock-b
``` ```
*(It's important to rename the laradock folders to unique name in each project, if you want to run laradock per project).* *(It's important to rename the laradock folders to unique name in each project, if you want to run laradock per project).*
@ -66,8 +66,8 @@ git clone https://github.com/laradock/laradock.git
Your folder structure should look like this: Your folder structure should look like this:
``` ```
+ laradock * laradock
+ project-z * project-z
``` ```
2 - Edit your web server sites configuration. 2 - Edit your web server sites configuration.
@ -102,9 +102,9 @@ git clone https://github.com/laradock/laradock.git
Your folder structure should look like this: Your folder structure should look like this:
``` ```
+ laradock * laradock
+ project-1 * project-1
+ project-2 * project-2
``` ```
2 - Go to your web server and create config files to point to different project directory when visiting different domains: 2 - Go to your web server and create config files to point to different project directory when visiting different domains:
@ -136,7 +136,7 @@ If you use Chrome 63 or above for development, don't use `.dev`. [Why?](https://
<a name="Usage"></a> <a name="Usage"></a>
## 2.3 Usage ## Usage
**Read Before starting:** **Read Before starting:**
@ -221,8 +221,12 @@ Or you can change them and rebuild the container.
<br> <br>
5 - Open your browser and visit your localhost address. 5 - Open your browser and visit your localhost address.
Make sure you add use the right port number as provided by your running server.
[http://localhost](http://localhost)
If you followed the multiple projects setup, you can visit `http://project-1.test/` and `http://project-2.test/`. If you followed the multiple projects setup, you can visit `http://project-1.test/` and `http://project-2.test/`.
[http://localhost:8080](http://localhost:8080)
Make sure you add use the right port number as provided by your running server. Ex: NGINX uses port 8080 by default while Apache2 uses 80.

View File

@ -1,868 +0,0 @@
---
title: 4. Guides
type: index
weight: 4
---
<a name="Digital-Ocean"></a>
## Production Setup on Digital Ocean
### Install Docker
- Visit [DigitalOcean](https://cloud.digitalocean.com/login) and login.
- Click the `Create Droplet` button.
- Open the `One-click apps` tab.
- Select Docker with your preferred version.
- Continue creating the droplet as you normally would.
- If needed, check your e-mail for the droplet root password.
### SSH to your Server
Find the IP address of the droplet in the DigitalOcean interface. Use it to connect to the server.
```
ssh root@ipaddress
```
You may be prompted for a password. Type the one you found within your e-mailbox. It'll then ask you to change the password.
You can now check if Docker is available:
```
$root@server:~# docker
```
### Set Up Your Laravel Project
```
$root@server:~# apt-get install git
$root@server:~# git clone https://github.com/laravel/laravel
$root@server:~# cd laravel
$root@server:~/laravel/ git submodule add https://github.com/Laradock/laradock.git
$root@server:~/laravel/ cd laradock
```
### Enter the laradock folder and rename env-example to .env.
```
$root@server:~/laravel/laradock# cp env-example .env
```
### Create Your Laradock Containers
```
$root@server:~/laravel/laradock# docker-compose up -d nginx mysql
```
Note that more containers are available, find them in the [docs](http://laradock.io/introduction/#supported-software-containers) or the `docker-compose.yml` file.
### Go to Your Workspace
```
docker-compose exec workspace bash
```
### Execute commands
If you want to only execute some command and don't want to enter bash, you can execute `docker-compose run workspace <command>`.
```
docker-compose run workspace php artisan migrate
```
### Install and configure Laravel
Let's install Laravel's dependencies, add the `.env` file, generate the key and give proper permissions to the cache folder.
```
$ root@workspace:/var/www# composer install
$ root@workspace:/var/www# cp .env.example .env
$ root@workspace:/var/www# php artisan key:generate
$ root@workspace:/var/www# exit
$root@server:~/laravel/laradock# cd ..
$root@server:~/laravel# sudo chmod -R 777 storage bootstrap/cache
```
You can then view your Laravel site by visiting the IP address of your server in your browser. For example:
```
http://192.168.1.1
```
It should show you the Laravel default welcome page.
However, we want it to show up using your custom domain name, as well.
### Using Your Own Domain Name
Login to your DNS provider, such as Godaddy, Namecheap.
Point the Custom Domain Name Server to:
```
ns1.digitalocean.com
ns2.digitalocean.com
ns3.digitalocean.com
```
Within DigitalOcean, you'll need to change some settings, too.
Visit: https://cloud.digitalocean.com/networking/domains
Add your domain name and choose the server IP you'd provision earlier.
### Serving Site With NGINX (HTTP ONLY)
Go back to command line.
```
$root@server:~/laravel/laradock# cd nginx
$root@server:~/laravel/laradock/nginx# vim laravel.conf
```
Remove `default_server`
```
listen 80 default_server;
listen [::]:80 default_server ipv6only=on;
```
And add `server_name` (your custom domain)
```
listen 80;
listen [::]:80 ipv6only=on;
server_name yourdomain.com;
```
### Rebuild Your Nginx
```
$root@server:~/laravel/laradock# docker-compose down
$root@server:~/laravel/laradock# docker-compose build nginx
```
### Re Run Your Containers MYSQL and NGINX
```
$root@server:~/laravel/laradock/nginx# docker-compose up -d nginx mysql
```
**View Your Site with HTTP ONLY (http://yourdomain.com)**
### Run Site on SSL with Let's Encrypt Certificate
**Note: You need to Use Caddy here Instead of Nginx**
To go Caddy Folders and Edit CaddyFile
```
$root@server:~/laravel/laradock# cd caddy
$root@server:~/laravel/laradock/caddy# vim Caddyfile
```
Remove 0.0.0.0:80
```
0.0.0.0:80
root /var/www/public
```
and replace with your https://yourdomain.com
```
https://yourdomain.com
root /var/www/public
```
uncomment tls
```
#tls self-signed
```
and replace self-signed with your email address
```
tls serverbreaker@gmai.com
```
This is needed Prior to Creating Let's Encypt
### Run Your Caddy Container without the -d flag and Generate SSL with Let's Encrypt
```
$root@server:~/laravel/laradock# docker-compose up caddy
```
You'll be prompt here to enter your email... you may enter it or not
```
Attaching to laradock_mysql_1, laradock_caddy_1
caddy_1 | Activating privacy features...
caddy_1 | Your sites will be served over HTTPS automatically using Let's Encrypt.
caddy_1 | By continuing, you agree to the Let's Encrypt Subscriber Agreement at:
caddy_1 | https://letsencrypt.org/documents/LE-SA-v1.0.1-July-27-2015.pdf
caddy_1 | Activating privacy features... done.
caddy_1 | https://yourdomain.com
caddy_1 | http://yourdomain.com
```
After it finishes, press `Ctrl` + `C` to exit.
### Stop All Containers and ReRun Caddy and Other Containers on Background
```
$root@server:~/laravel/laradock# docker-compose down
$root@server:~/laravel/laradock# docker-compose up -d mysql caddy
```
View your Site in the Browser Securely Using HTTPS (https://yourdomain.com)
**Note that Certificate will be Automatically Renew By Caddy**
>References:
>
- [https://www.digitalocean.com/community/tutorials/how-to-install-and-use-docker-on-ubuntu-16-04](https://www.digitalocean.com/community/tutorials/how-to-install-and-use-docker-on-ubuntu-16-04)
- [https://www.digitalocean.com/products/one-click-apps/docker/](https://www.digitalocean.com/products/one-click-apps/docker/)
- [https://docs.docker.com/engine/installation/linux/ubuntulinux/](https://docs.docker.com/engine/installation/linux/ubuntulinux/)
- [https://docs.docker.com/compose/install/](https://docs.docker.com/compose/install/)
- [https://caddyserver.com/docs/automatic-https](https://caddyserver.com/docs/automatic-https)
- [https://caddyserver.com/docs/tls](https://caddyserver.com/docs/tls)
- [https://caddyserver.com/docs/caddyfile](https://caddyserver.com/docs/caddyfile)
<br>
<br>
<br>
<br>
<br>
<a name="Laravel-Dusk"></a>
## Running Laravel Dusk Tests
### Option 1: Without Selenium
- [Intro](#option1-dusk-intro)
- [Workspace Setup](#option1-workspace-setup)
- [Application Setup](#option1-application-setup)
- [Choose Chrome Driver Version (Optional)](#option1-choose-chrome-driver-version)
- [Run Dusk Tests](#option1-run-dusk-tests)
#### Intro
This is a guide to run Dusk tests in your `workspace` container with headless
google-chrome and chromedriver. It has been tested with Laravel 5.4 and 5.5.
#### Workspace Setup
Update your .env with following entries:
```
...
# Install Laravel installer bin to setup demo app
WORKSPACE_INSTALL_LARAVEL_INSTALLER=true
...
# Install all the necessary dependencies for running Dusk tests
WORKSPACE_INSTALL_DUSK_DEPS=true
...
```
Then run below to build your workspace.
```
docker-compose build workspace
```
#### Application Setup
Run a `workspace` container and you will be inside the container at `/var/www` directory.
```
docker-compose run workspace bash
/var/www#> _
```
Create new Laravel application named `dusk-test` and install Laravel Dusk package.
```
/var/www> laravel new dusk-test
/var/www> cd dusk-test
/var/www/dusk-test> composer require --dev laravel/dusk
/var/www/dusk-test> php artisan dusk:install
```
Create `.env.dusk.local` by copying from `.env` file.
```
/var/www/dusk-test> cp .env .env.dusk.local
```
Update the `APP_URL` entry in `.env.dusk.local` to local Laravel server.
```
APP_URL=http://localhost:8000
```
You will need to run chromedriver with `headless` and `no-sandbox` flag. In Laravel Dusk 2.x it is
already set `headless` so you just need to add `no-sandbox` flag. If you on previous version 1.x,
you will need to update your `DustTestCase#driver` as shown below.
```
<?php
...
abstract class DuskTestCase extends BaseTestCase
{
...
/**
* Update chrome driver with below flags
*/
protected function driver()
{
$options = (new ChromeOptions)->addArguments([
'--disable-gpu',
'--headless',
'--no-sandbox'
]);
return RemoteWebDriver::create(
'http://localhost:9515', DesiredCapabilities::chrome()->setCapability(
ChromeOptions::CAPABILITY, $options
)
);
}
}
```
#### Choose Chrome Driver Version (Optional)
You could choose to use either:
1. Chrome Driver shipped with Laravel Dusk. (Default)
2. Chrome Driver installed in `workspace` container. (Required tweak on DuskTestCase class)
For Laravel 2.x, you need to update `DuskTestCase#prepare` method if you wish to go with option #2.
```
<?php
...
abstract class DuskTestCase extends BaseTestCase
{
...
public static function prepare()
{
// Only add this line if you wish to use chrome driver installed in workspace container.
// You might want to read the file path from env file.
static::useChromedriver('/usr/local/bin/chromedriver');
static::startChromeDriver();
}
```
For Laravel 1.x, you need to add `DuskTestCase#buildChromeProcess` method if you wish to go with option #2.
```
<?php
...
use Symfony\Component\Process\ProcessBuilder;
abstract class DuskTestCase extends BaseTestCase
{
...
/**
* Only add this method if you wish to use chrome driver installed in workspace container
*/
protected static function buildChromeProcess()
{
return (new ProcessBuilder())
->setPrefix('chromedriver')
->getProcess()
->setEnv(static::chromeEnvironment());
}
...
}
```
#### Run Dusk Tests
Run local server in `workspace` container and run Dusk tests.
```
# alias to run Laravel server in the background (php artisan serve --quiet &)
/var/www/dusk-test> serve
# alias to run Dusk tests (php artisan dusk)
/var/www/dusk-test> dusk
PHPUnit 6.4.0 by Sebastian Bergmann and contributors.
. 1 / 1 (100%)
Time: 837 ms, Memory: 6.00MB
```
### Option 2: With Selenium
- [Intro](#dusk-intro)
- [DNS Setup](#dns-setup)
- [Docker Compose Setup](#docker-compose)
- [Laravel Dusk Setup](#laravel-dusk-setup)
- [Running Laravel Dusk Tests](#running-tests)
#### Intro
Setting up Laravel Dusk tests to run with Laradock appears be something that
eludes most Laradock users. This guide is designed to show you how to wire them
up to work together. This guide is written with macOS and Linux in mind. As such,
it's only been tested on macOS. Feel free to create pull requests to update the guide
for Windows-specific instructions.
This guide assumes you know how to use a DNS forwarder such as `dnsmasq` or are comfortable
with editing the `/etc/hosts` file for one-off DNS changes.
#### DNS Setup
According to RFC-2606, only four TLDs are reserved for local testing[^1]:
- `.test`
- `.example`
- `.invalid`
- `.localhost`
A common TLD used for local development is `.dev`, but newer versions of Google
Chrome (such as the one bundled with the Selenium Docker image), will fail to
resolve that DNS as there will appear to be a name collision.
The recommended extension is `.test` for your Laravel web apps because you're
running tests. Using a DNS forwarder such as `dnsmasq` or by editing the `/etc/hosts`
file, configure the host to point to `localhost`.
For example, in your `/etc/hosts` file:
```
##
# Host Database
#
# localhost is used to configure the loopback interface
# when the system is booting. Do not change this entry.
##
127.0.0.1 localhost
255.255.255.255 broadcasthost
::1 localhost
127.0.0.1 myapp.test
```
This will ensure that when navigating to `myapp.test`, it will route the
request to `127.0.0.1` which will be handled by Nginx in Laradock.
#### Docker Compose setup
In order to make the Selenium container talk to the Nginx container appropriately,
the `docker-compose.yml` needs to be edited to accommodate this. Make the following
changes:
```yaml
...
selenium:
...
depends_on:
- nginx
links:
- nginx:<your_domain>
```
This allows network communication between the Nginx and Selenium containers
and it also ensures that when starting the Selenium container, the Nginx
container starts up first unless it's already running. This allows
the Selenium container to make requests to the Nginx container, which is
necessary for running Dusk tests. These changes also link the `nginx` environment
variable to the domain you wired up in your hosts file.
#### Laravel Dusk Setup
In order to make Laravel Dusk make the proper request to the Selenium container,
you have to edit the `DuskTestCase.php` file that's provided on the initial
installation of Laravel Dusk. The change you have to make deals with the URL the
Remote Web Driver attempts to use to set up the Selenium session.
One recommendation for this is to add a separate config option in your `.env.dusk.local`
so it's still possible to run your Dusk tests locally should you want to.
##### .env.dusk.local
```
...
USE_SELENIUM=true
```
##### DuskTestCase.php
```php
abstract class DuskTestCase extends BaseTestCase
{
...
protected function driver()
{
if (env('USE_SELENIUM', 'false') == 'true') {
return RemoteWebDriver::create(
'http://selenium:4444/wd/hub', DesiredCapabilities::chrome()
);
} else {
return RemoteWebDriver::create(
'http://localhost:9515', DesiredCapabilities::chrome()
);
}
}
}
```
#### Running Laravel Dusk Tests
Now that you have everything set up, to run your Dusk tests, you have to SSH
into the workspace container as you normally would:
```docker-compose exec --user=laradock workspace bash```
Once inside, you can change directory to your application and run:
```php artisan dusk```
One way to make this easier from your project is to create a helper script. Here's one such example:
```bash
#!/usr/bin/env sh
LARADOCK_HOME="path/to/laradock"
pushd ${LARADOCK_HOME}
docker-compose exec --user=laradock workspace bash -c "cd my-project && php artisan dusk && exit"
```
This invokes the Dusk command from inside the workspace container but when the script completes
execution, it returns your session to your project directory.
[^1]: [Don't Use .dev for Development](https://iyware.com/dont-use-dev-for-development/)
<br>
<br>
<br>
<br>
<br>
<a name="PHPStorm-Debugging"></a>
## PHPStorm XDebug Setup
- [Intro](#Intro)
- [Installation](#Installation)
- [Customize laradock/docker-compose.yml](#CustomizeDockerCompose)
- [Clean House](#InstallCleanHouse)
- [Laradock Dial Tone](#InstallLaradockDialTone)
- [hosts](#AddToHosts)
- [Firewall](#FireWall)
- [Enable xDebug on php-fpm](#enablePhpXdebug)
- [PHPStorm Settings](#InstallPHPStorm)
- [Configs](#InstallPHPStormConfigs)
- [Usage](#Usage)
- [Laravel](#UsageLaravel)
- [Run ExampleTest](#UsagePHPStormRunExampleTest)
- [Debug ExampleTest](#UsagePHPStormDebugExampleTest)
- [Debug Web Site](#UsagePHPStormDebugSite)
- [SSH into workspace](#SSHintoWorkspace)
- [KiTTY](#InstallKiTTY)
### Intro
Wiring up [Laravel](https://laravel.com/), [Laradock](https://github.com/Laradock/laradock) [Laravel+Docker] and [PHPStorm](https://www.jetbrains.com/phpstorm/) to play nice together complete with remote xdebug'ing as icing on top! Although this guide is based on `PHPStorm Windows`,
you should be able to adjust accordingly. This guide was written based on Docker for Windows Native.
### Installation
- This guide assumes the following:
- you have already installed and are familiar with Laravel, Laradock and PHPStorm.
- you have installed Laravel as a parent of `laradock`. This guide assumes `/c/_dk/laravel`.
### hosts
- Add `laravel` to your hosts file located on Windows 10 at `C:\Windows\System32\drivers\etc\hosts`. It should be set to the IP of your running container. Mine is: `10.0.75.2`
On Windows you can find it by opening Windows `Hyper-V Manager`.
- ![Windows Hyper-V Manager](images/photos/PHPStorm/Settings/WindowsHyperVManager.png)
- [Hosts File Editor](https://github.com/scottlerch/HostsFileEditor) makes it easy to change your hosts file.
- Set `laravel` to your docker host IP. See [Example](images/photos/SimpleHostsEditor/AddHost_laravel.png).
### Firewall
Your PHPStorm will need to be able to receive a connection from PHP xdebug either your running workspace or php-fpm containers on port 9000. This means that your Windows Firewall should either enable connections from the Application PHPStorm OR the port.
- It is important to note that if the Application PHPStorm is NOT enabled in the firewall, you will not be able to recreate a rule to override that.
- Also be aware that if you are installing/upgrade different versions of PHPStorm, you MAY have orphaned references to PHPStorm in your Firewall! You may decide to remove orphaned references however in either case, make sure that they are set to receive public TCP traffic.
#### Edit laradock/docker-compose.yml
Set the following variables:
```
### Workspace Utilities Container ###############
workspace:
build:
context: ./workspace
args:
- INSTALL_XDEBUG=true
- INSTALL_WORKSPACE_SSH=true
...
### PHP-FPM Container #####################
php-fpm:
build:
context: ./php-fpm
args:
- INSTALL_XDEBUG=true
...
```
#### Edit xdebug.ini files
- `laradock/workspace/xdebug.ini`
- `laradock/php-fpm/xdebug.ini`
Set the following variables:
```
xdebug.remote_autostart=1
xdebug.remote_enable=1
xdebug.remote_connect_back=1
xdebug.cli_color=1
```
#### Need to clean house first?
Make sure you are starting with a clean state. For example, do you have other Laradock containers and images?
Here are a few things I use to clean things up.
- Delete all containers using `grep laradock_` on the names, see: [Remove all containers based on docker image name](https://linuxconfig.org/remove-all-containners-based-on-docker-image-name).
`docker ps -a | awk '{ print $1,$2 }' | grep laradock_ | awk '{print $1}' | xargs -I {} docker rm {}`
- Delete all images containing `laradock`.
`docker images | awk '{print $1,$2,$3}' | grep laradock_ | awk '{print $3}' | xargs -I {} docker rmi {}`
**Note:** This will only delete images that were built with `Laradock`, **NOT** `laradock/*` which are pulled down by `Laradock` such as `laradock/workspace`, etc.
**Note:** Some may fail with:
`Error response from daemon: conflict: unable to delete 3f38eaed93df (cannot be forced) - image has dependent child images`
- I added this to my `.bashrc` to remove orphaned images.
```
dclean() {
processes=`docker ps -q -f status=exited`
if [ -n "$processes" ]; then
docker rm $processes
fi
images=`docker images -q -f dangling=true`
if [ -n "$images" ]; then
docker rmi $images
fi
}
```
- If you frequently switch configurations for Laradock, you may find that adding the following and added to your `.bashrc` or equivalent useful:
```
# remove laravel* containers
# remove laravel_* images
dcleanlaradockfunction()
{
echo 'Removing ALL containers associated with laradock'
docker ps -a | awk '{ print $1,$2 }' | grep laradock | awk '{print $1}' | xargs -I {} docker rm {}
# remove ALL images associated with laradock_
# does NOT delete laradock/* which are hub images
echo 'Removing ALL images associated with laradock_'
docker images | awk '{print $1,$2,$3}' | grep laradock_ | awk '{print $3}' | xargs -I {} docker rmi {}
echo 'Listing all laradock docker hub images...'
docker images | grep laradock
echo 'dcleanlaradock completed'
}
# associate the above function with an alias
# so can recall/lookup by typing 'alias'
alias dcleanlaradock=dcleanlaradockfunction
```
### Let's get a dial-tone with Laravel
```
# barebones at this point
docker-compose up -d nginx mysql
# run
docker-compose ps
# Should see:
Name Command State Ports
-----------------------------------------------------------------------------------------------------------
laradock_mysql_1 docker-entrypoint.sh mysqld Up 0.0.0.0:3306->3306/tcp
laradock_nginx_1 nginx Up 0.0.0.0:443->443/tcp, 0.0.0.0:80->80/tcp
laradock_php-fpm_1 php-fpm Up 9000/tcp
laradock_volumes_data_1 true Exit 0
laradock_volumes_source_1 true Exit 0
laradock_workspace_1 /sbin/my_init Up 0.0.0.0:2222->22/tcp
```
### Enable xDebug on php-fpm
In a host terminal sitting in the laradock folder, run: `./php-fpm/xdebug status`
You should see something like the following:
```
xDebug status
laradock_php-fpm_1
PHP 7.0.9 (cli) (built: Aug 10 2016 19:45:48) ( NTS )
Copyright (c) 1997-2016 The PHP Group
Zend Engine v3.0.0, Copyright (c) 1998-2016 Zend Technologies
with Xdebug v2.4.1, Copyright (c) 2002-2016, by Derick Rethans
```
Other commands include `./php-fpm/xdebug start | stop`.
If you have enabled `xdebug=true` in `docker-compose.yml/php-fpm`, `xdebug` will already be running when
`php-fpm` is started and listening for debug info on port 9000.
### PHPStorm Settings
- Here are some settings that are known to work:
- `Settings/BuildDeploymentConnection`
- ![Settings/BuildDeploymentConnection](/images/photos/PHPStorm/Settings/BuildDeploymentConnection.png)
- `Settings/BuildDeploymentConnectionMappings`
- ![Settings/BuildDeploymentConnectionMappings](/images/photos/PHPStorm/Settings/BuildDeploymentConnectionMappings.png)
- `Settings/BuildDeploymentDebugger`
- ![Settings/BuildDeploymentDebugger](/images/photos/PHPStorm/Settings/BuildDeploymentDebugger.png)
- `Settings/EditRunConfigurationRemoteWebDebug`
- ![Settings/EditRunConfigurationRemoteWebDebug](/images/photos/PHPStorm/Settings/EditRunConfigurationRemoteWebDebug.png)
- `Settings/EditRunConfigurationRemoteExampleTestDebug`
- ![Settings/EditRunConfigurationRemoteExampleTestDebug](/images/photos/PHPStorm/Settings/EditRunConfigurationRemoteExampleTestDebug.png)
- `Settings/LangsPHPDebug`
- ![Settings/LangsPHPDebug](/images/photos/PHPStorm/Settings/LangsPHPDebug.png)
- `Settings/LangsPHPInterpreters`
- ![Settings/LangsPHPInterpreters](/images/photos/PHPStorm/Settings/LangsPHPInterpreters.png)
- `Settings/LangsPHPPHPUnit`
- ![Settings/LangsPHPPHPUnit](/images/photos/PHPStorm/Settings/LangsPHPPHPUnit.png)
- `Settings/LangsPHPServers`
- ![Settings/LangsPHPServers](/images/photos/PHPStorm/Settings/LangsPHPServers.png)
- `RemoteHost`
To switch on this view, go to: `Menu/Tools/Deployment/Browse Remote Host`.
- ![RemoteHost](/images/photos/PHPStorm/RemoteHost.png)
- `RemoteWebDebug`
- ![DebugRemoteOn](/images/photos/PHPStorm/DebugRemoteOn.png)
- `EditRunConfigurationRemoteWebDebug`
Go to: `Menu/Run/Edit Configurations`.
- ![EditRunConfigurationRemoteWebDebug](/images/photos/PHPStorm/Settings/EditRunConfigurationRemoteWebDebug.png)
- `EditRunConfigurationRemoteExampleTestDebug`
Go to: `Menu/Run/Edit Configurations`.
- ![EditRunConfigurationRemoteExampleTestDebug](/images/photos/PHPStorm/Settings/EditRunConfigurationRemoteExampleTestDebug.png)
- `WindowsFirewallAllowedApps`
Go to: `Control Panel\All Control Panel Items\Windows Firewall\Allowed apps`.
- ![WindowsFirewallAllowedApps.png](/images/photos/PHPStorm/Settings/WindowsFirewallAllowedApps.png)
- `hosts`
Edit: `C:\Windows\System32\drivers\etc\hosts`.
- ![WindowsFirewallAllowedApps.png](/images/photos/PHPStorm/Settings/hosts.png)
- [Enable xDebug on php-fpm](#enablePhpXdebug)
### Usage
#### Run ExampleTest
- right-click on `tests/ExampleTest.php`
- Select: `Run 'ExampleTest.php'` or `Ctrl+Shift+F10`.
- Should pass!! You just ran a remote test via SSH!
#### Debug ExampleTest
- Open to edit: `tests/ExampleTest.php`
- Add a BreakPoint on line 16: `$this->visit('/')`
- right-click on `tests/ExampleTest.php`
- Select: `Debug 'ExampleTest.php'`.
- Should have stopped at the BreakPoint!! You are now debugging locally against a remote Laravel project via SSH!
- ![Remote Test Debugging Success](/images/photos/PHPStorm/RemoteTestDebuggingSuccess.png)
#### Debug WebSite
- In case xDebug is disabled, from the `laradock` folder run:
`./php-fpm/xdebug start`.
- To switch xdebug off, run:
`./php-fpm/xdebug stop`
- Start Remote Debugging
- ![DebugRemoteOn](/images/photos/PHPStorm/DebugRemoteOn.png)
- Open to edit: `bootstrap/app.php`
- Add a BreakPoint on line 14: `$app = new Illuminate\Foundation\Application(`
- Reload [Laravel Site](http://laravel/)
- Should have stopped at the BreakPoint!! You are now debugging locally against a remote Laravel project via SSH!
- ![Remote Debugging Success](/images/photos/PHPStorm/RemoteDebuggingSuccess.png)
### Let's shell into workspace
Assuming that you are in laradock folder, type:
`ssh -i workspace/insecure_id_rsa -p2222 root@laravel`
**Cha Ching!!!!**
- `workspace/insecure_id_rsa.ppk` may become corrupted. In which case:
- fire up `puttygen`
- import `workspace/insecure_id_rsa`
- save private key to `workspace/insecure_id_rsa.ppk`
#### KiTTY
[Kitty](http://www.9bis.net/kitty/) KiTTY is a fork from version 0.67 of PuTTY.
- Here are some settings that are working for me:
- ![Session](/images/photos/KiTTY/Session.png)
- ![Terminal](/images/photos/KiTTY/Terminal.png)
- ![Window](/images/photos/KiTTY/Window.png)
- ![WindowAppearance](/images/photos/KiTTY/WindowAppearance.png)
- ![Connection](/images/photos/KiTTY/Connection.png)
- ![ConnectionData](/images/photos/KiTTY/ConnectionData.png)
- ![ConnectionSSH](/images/photos/KiTTY/ConnectionSSH.png)
- ![ConnectionSSHAuth](/images/photos/KiTTY/ConnectionSSHAuth.png)
- ![TerminalShell](/images/photos/KiTTY/TerminalShell.png)
<br>
<br>
<br>
<br>
<br>
<a name="Setup remote debugging (PhpStorm)"></a>
## Setup remote debugging for PhpStorm on Linux
- Make sure you have followed the steps above in the [Install Xdebug section](#install-xdebug).
- Make sure Xdebug accepts connections and listens on port 9000. (Should be default configuration).
![Debug Configuration](/images/photos/PHPStorm/linux/configuration/debugConfiguration.png "Debug Configuration").
- Create a server with name `laradock` (matches **PHP_IDE_CONFIG** key in environment file) and make sure to map project root path with server correctly.
![Server Configuration](/images/photos/PHPStorm/linux/configuration/serverConfiguration.png "Server Configuration").
- Start listening for debug connections, place a breakpoint and you are good to go !

View File

@ -1,11 +1,13 @@
--- ---
title: 5. Help & Questions title: Help & Questions
type: index type: index
weight: 5 weight: 4
--- ---
Join the chat room on [Gitter](https://gitter.im/Laradock/laradock) and get help and support from the community. Join the chat room on [Gitter](https://gitter.im/Laradock/laradock) and get help and support from the community.
[![Gitter](https://badges.gitter.im/Laradock/laradock.svg)](https://gitter.im/Laradock/laradock?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge)
You can as well can open an [issue](https://github.com/laradock/laradock/issues) on Github (will be labeled as Question) and discuss it with people on [Gitter](https://gitter.im/Laradock/laradock). You can as well can open an [issue](https://github.com/laradock/laradock/issues) on Github (will be labeled as Question) and discuss it with people on [Gitter](https://gitter.im/Laradock/laradock).
@ -41,7 +43,7 @@ Use `http://127.0.0.1` instead of `http://localhost` in your browser.
<br> <br>
## I see an error message containing `address already in use` or `port is already allocated` ## I see an error message containing (address already in use) or (port is already allocated)
Make sure the ports for the services that you are trying to run (22, 80, 443, 3306, etc.) are not being used already by other programs on the host, such as a built in `apache`/`httpd` service or other development tools you have installed. Make sure the ports for the services that you are trying to run (22, 80, 443, 3306, etc.) are not being used already by other programs on the host, such as a built in `apache`/`httpd` service or other development tools you have installed.
@ -85,7 +87,7 @@ This error sometimes happens because your Laravel application isn't running on t
* Option B * Option B
1. Change the `DB_HOST` value to the same name as the MySQL docker container. The Laradock docker-compose file currently has this as `mysql` 1. Change the `DB_HOST` value to the same name as the MySQL docker container. The Laradock docker-compose file currently has this as `mysql`
## I get stuck when building nginx on `fetch http://mirrors.aliyun.com/alpine/v3.5/main/x86_64/APKINDEX.tar.gz` ## I get stuck when building nginx on (fetch mirrors.aliyun.com/alpine/v3.5/main/x86_64/APKINDEX.tar.gz)
As stated on [#749](https://github.com/laradock/laradock/issues/749#issuecomment-419652646), Already fixedjust set `CHANGE_SOURCE` to false. As stated on [#749](https://github.com/laradock/laradock/issues/749#issuecomment-419652646), Already fixedjust set `CHANGE_SOURCE` to false.
@ -101,7 +103,7 @@ WORKSPACE_COMPOSER_REPO_PACKAGIST=https://packagist.phpcomposer.com
<br> <br>
## I get `Module build failed: Error: write EPIPE` while compiling react application ## I got (Module build failed: Error: write EPIPE) while compiling react application
When you run `npm build` or `yarn dev` building a react application using webpack with elixir you may receive a `Error: write EPIPE` while processing .jpg images. When you run `npm build` or `yarn dev` building a react application using webpack with elixir you may receive a `Error: write EPIPE` while processing .jpg images.

View File

@ -1,47 +1,40 @@
--- ---
title: 1. Introduction title: Introduction
type: index type: index
weight: 1 weight: 1
--- ---
<b>Laradock</b> is a full PHP development environment for Docker.
## Use Docker First - Then Learn About It Later It supports a variety of common services, all pre-configured to provide a ready PHP development environment.
Laradock is a PHP development environment that runs on Docker.
Supports a variety of useful Docker Images, pre-configured to provide a wonderful PHP development environment.
![](https://raw.githubusercontent.com/laradock/laradock/master/.github/home-page-images/laradock-logo.jpg)
<a name="sponsors"></a>
## Sponsors
<p align="center">
<!-- Golden Sponsors -->
<a href="https://edubirdie.com/?ref=Laradock" target="_blank">
<img src="https://raw.githubusercontent.com/laradock/laradock/master/.github/home-page-images/sponsor-1.png?raw=true" width="300px" alt="Writing essays service Edubirdie"/>
</a>
</p>
<br> <br>
<!-- OpenCollective Sponsors --> ---
<a href="https://opencollective.com/laradock/sponsor/0/website" target="_blank"><img src="https://opencollective.com/laradock/sponsor/0/avatar.svg"></a> ### Use Docker First - Then Learn About It Later!</q>
<a href="https://opencollective.com/laradock/sponsor/1/website" target="_blank"><img src="https://opencollective.com/laradock/sponsor/1/avatar.svg"></a> ---
<a href="https://opencollective.com/laradock/sponsor/2/website" target="_blank"><img src="https://opencollective.com/laradock/sponsor/2/avatar.svg"></a>
<a href="https://opencollective.com/laradock/sponsor/3/website" target="_blank"><img src="https://opencollective.com/laradock/sponsor/3/avatar.svg"></a> <a name="features"></a>
<a href="https://opencollective.com/laradock/sponsor/4/website" target="_blank"><img src="https://opencollective.com/laradock/sponsor/4/avatar.svg"></a> ## Features
<a href="https://opencollective.com/laradock/sponsor/5/website" target="_blank"><img src="https://opencollective.com/laradock/sponsor/5/avatar.svg"></a>
<a href="https://opencollective.com/laradock/sponsor/6/website" target="_blank"><img src="https://opencollective.com/laradock/sponsor/6/avatar.svg"></a> - Easy switch between PHP versions: 7.4, 7.3, 7.2, 7.1, 5.6...
<a href="https://opencollective.com/laradock/sponsor/7/website" target="_blank"><img src="https://opencollective.com/laradock/sponsor/7/avatar.svg"></a> - Choose your favorite database engine: MySQL, Postgres, MariaDB...
- Run your own stack: Memcached, HHVM, RabbitMQ...
- Each software runs on its own container: PHP-FPM, NGINX, PHP-CLI...
- Easy to customize any container, with simple edit to the `Dockerfile`.
- All Images extends from an official base Image. (Trusted base Images).
- Pre-configured NGINX to host any code at your root directory.
- Can use Laradock per project, or single Laradock for all projects.
- Easy to install/remove software's in Containers using environment variables.
- Clean and well structured Dockerfiles (`Dockerfile`).
- Latest version of the Docker Compose file (`docker-compose`).
- Everything is visible and editable.
- Fast Images Builds.
For basic sponsorships go to [Open Collective](https://opencollective.com/laradock#sponsor), for golden sponsorships contact <a href = "mailto: support@laradock.io">support@laradock.io</a>.
<br>
*Your logo will show up on the [github repository](https://github.com/laradock/laradock/) index page and the [documentation](http://laradock.io/) main page.*
## Quick Overview ## Quick Overview
@ -82,27 +75,8 @@ That's it! enjoy :)
<a name="features"></a>
## Features
- Easy switch between PHP versions: 7.3, 7.2, 7.1, 5.6...
- Choose your favorite database engine: MySQL, Postgres, MariaDB...
- Run your own stack: Memcached, HHVM, RabbitMQ...
- Each software runs on its own container: PHP-FPM, NGINX, PHP-CLI...
- Easy to customize any container, with simple edit to the `Dockerfile`.
- All Images extends from an official base Image. (Trusted base Images).
- Pre-configured NGINX to host any code at your root directory.
- Can use Laradock per project, or single Laradock for all projects.
- Easy to install/remove software's in Containers using environment variables.
- Clean and well structured Dockerfiles (`Dockerfile`).
- Latest version of the Docker Compose file (`docker-compose`).
- Everything is visible and editable.
- Fast Images Builds.
<a name="Supported-Containers"></a> <a name="Supported-Containers"></a>
## Supported Software (Docker Images) ## Supported Services
> Laradock, adheres to the 'separation of concerns' principle, thus it runs each software on its own Docker Container. > Laradock, adheres to the 'separation of concerns' principle, thus it runs each software on its own Docker Container.
> You can turn On/Off as many instances as you want without worrying about the configurations. > You can turn On/Off as many instances as you want without worrying about the configurations.
@ -159,6 +133,7 @@ That's it! enjoy :)
- Eclipse Mosquitto - Eclipse Mosquitto
- PHP Worker - PHP Worker
- Laravel Horizon - Laravel Horizon
- Gearman
- **Mail Servers:** - **Mail Servers:**
- Mailu - Mailu
@ -233,77 +208,273 @@ You can choose, which tools to install in your workspace container and other con
*If you can't find your Software in the list, build it yourself and submit it. Contributions are welcomed :)* *If you can't find your Software in the list, build it yourself and submit it. Contributions are welcomed :)*
---
<a name="what-is-docker"></a>
## What is Docker?
[Docker](https://www.docker.com) is an open platform for developing, shipping, and running applications.
Docker enables you to separate your applications from your infrastructure so you can deliver software quickly.
With Docker, you can manage your infrastructure in the same ways you manage your applications.
By taking advantage of Dockers methodologies for shipping, testing, and deploying code quickly, you can significantly reduce the delay between writing code and running it in production.
<a name="why-docker-not-vagrant"></a>
## Why Docker not Vagrant!?
[Vagrant](https://www.vagrantup.com) creates Virtual Machines in minutes while Docker creates Virtual Containers in seconds.
Instead of providing a full Virtual Machines, like you get with Vagrant, Docker provides you **lightweight** Virtual Containers, that share the same kernel and allow to safely execute independent processes.
In addition to the speed, Docker gives tons of features that cannot be achieved with Vagrant.
Most importantly Docker can run on Development and on Production (same environment everywhere). While Vagrant is designed for Development only, (so you have to re-provision your server on Production every time).
<a name="Demo"></a>
## Demo Video
What's better than a **Demo Video**:
- Laradock [v4.*](https://www.youtube.com/watch?v=TQii1jDa96Y)
- Laradock [v2.*](https://www.youtube.com/watch?v=-DamFMczwDA)
- Laradock [v0.3](https://www.youtube.com/watch?v=jGkyO6Is_aI)
- Laradock [v0.1](https://www.youtube.com/watch?v=3YQsHe6oF80)
<a name="Chat"></a> <a name="Chat"></a>
## Chat with us ## Chat with us
You are welcome to join our chat room on Gitter. Feel free to join us on Gitter.
[![Gitter](https://badges.gitter.im/Laradock/laradock.svg)](https://gitter.im/Laradock/laradock?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge) [![Gitter](https://badges.gitter.im/Laradock/laradock.svg)](https://gitter.im/Laradock/laradock?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge)
---
Laradock exists thanks to all the people who contribute.
## Project Maintainers
<table>
<tbody>
<tr>
<td align="center" valign="top">
<img width="125" height="125" src="https://github.com/mahmoudz.png?s=150">
<br>
<strong>Mahmoud Zalt</strong>
<br>
<a href="https://github.com/Mahmoudz">@mahmoudz</a>
</td>
<td align="center" valign="top">
<img width="125" height="125" src="https://github.com/appleboy.png?s=150">
<br>
<strong>Bo-Yi Wu</strong>
<br>
<a href="https://github.com/appleboy">@appleboy</a>
</td>
<td align="center" valign="top">
<img width="125" height="125" src="https://github.com/philtrep.png?s=150">
<br>
<strong>Philippe Trépanier</strong>
<br>
<a href="https://github.com/philtrep">@philtrep</a>
</td>
<td align="center" valign="top">
<img width="125" height="125" src="https://github.com/mikeerickson.png?s=150">
<br>
<strong>Mike Erickson</strong>
<br>
<a href="https://github.com/mikeerickson">@mikeerickson</a>
</td>
<td align="center" valign="top">
<img width="125" height="125" src="https://github.com/zeroc0d3.png?s=150">
<br>
<strong>Dwi Fahni Denni</strong>
<br>
<a href="https://github.com/zeroc0d3">@zeroc0d3</a>
</td>
</tr>
<tr>
<td align="center" valign="top">
<img width="125" height="125" src="https://github.com/thorerik.png?s=150">
<br>
<strong>Thor Erik</strong>
<br>
<a href="https://github.com/thorerik">@thorerik</a>
</td>
<td align="center" valign="top">
<img width="125" height="125" src="https://github.com/winfried-van-loon.png?s=150">
<br>
<strong>Winfried van Loon</strong>
<br>
<a href="https://github.com/winfried-van-loon">@winfried-van-loon</a>
</td>
<td align="center" valign="top">
<img width="125" height="125" src="https://github.com/sixlive.png?s=150">
<br>
<strong>TJ Miller</strong>
<br>
<a href="https://github.com/sixlive">@sixlive</a>
</td>
<td align="center" valign="top">
<img width="125" height="125" src="https://github.com/bestlong.png?s=150">
<br>
<strong>Yu-Lung Shao (Allen)</strong>
<br>
<a href="https://github.com/bestlong">@bestlong</a>
</td>
<td align="center" valign="top">
<img width="125" height="125" src="https://github.com/urukalo.png?s=150">
<br>
<strong>Milan Urukalo</strong>
<br>
<a href="https://github.com/urukalo">@urukalo</a>
</td>
</tr>
<tr>
<td align="center" valign="top">
<img width="125" height="125" src="https://github.com/vwchu.png?s=150">
<br>
<strong>Vince Chu</strong>
<br>
<a href="https://github.com/vwchu">@vwchu</a>
</td>
<td align="center" valign="top">
<img width="125" height="125" src="https://github.com/zuohuadong.png?s=150">
<br>
<strong>Huadong Zuo</strong>
<br>
<a href="https://github.com/zuohuadong">@zuohuadong</a>
</td>
<td align="center" valign="top">
<img width="125" height="125" src="https://github.com/lanphan.png?s=150">
<br>
<strong>Lan Phan</strong>
<br>
<a href="https://github.com/lanphan">@lanphan</a>
</td>
<td align="center" valign="top">
<img width="125" height="125" src="https://github.com/ahkui.png?s=150">
<br>
<strong>Ahkui</strong>
<br>
<a href="https://github.com/ahkui">@ahkui</a>
</td>
<td align="center" valign="top">
<img width="125" height="125" src="https://raw.githubusercontent.com/laradock/laradock/master/.github/home-page-images/join-us.png">
<br>
<strong>< Join Us ></strong>
<br>
<a href="https://github.com/laradock">@laradock</a>
</td>
</tr>
</tbody>
</table>
## Code Contributors
<a href="https://github.com/undefined/undefined/graphs/contributors"><img src="https://opencollective.com/laradock/contributors.svg?width=890&button=false" /></a>
---
<a name="Donations"></a> <a name="Donations"></a>
## Donations ## Financial Contributors
> Help keeping the project development going, by [contributing](http://laradock.io/contributing) or donating a little. Contribute and help us sustain the project.
> Thanks in advance.
Donate directly via [Paypal](https://paypal.me/mzmmzz) <b>Option 1:</b> Donate via [Paypal](https://paypal.me/mzmmzz).
<br>
<b>Option 2:</b> Become a Sponsor via [Github Sponsors](https://github.com/sponsors/Mahmoudz).
<br>
<b>Option 3:</b> Become a Sponsor/Backer via [Open Collective](https://opencollective.com/laradock/contribute).
<br>
<b>Option 4:</b> Become a [Patreon](https://www.patreon.com/zalt).
[![Donate](https://img.shields.io/badge/Donate-PayPal-green.svg)](https://paypal.me/mzmmzz) <a name="sponsors"></a>
## Sponsors
or show your support via [Beerpay](https://beerpay.io/laradock/laradock) <a href="https://opencollective.com/laradock/sponsor/0/website?requireActive=false" target="_blank"><img src="https://opencollective.com/laradock/sponsor/0/avatar.svg?requireActive=false"></a>
<a href="https://opencollective.com/laradock/sponsor/1/website?requireActive=false" target="_blank"><img src="https://opencollective.com/laradock/sponsor/1/avatar.svg?requireActive=false"></a>
<a href="https://opencollective.com/laradock/sponsor/2/website?requireActive=false" target="_blank"><img src="https://opencollective.com/laradock/sponsor/2/avatar.svg?requireActive=false"></a>
<a href="https://opencollective.com/laradock/sponsor/3/website?requireActive=false" target="_blank"><img src="https://opencollective.com/laradock/sponsor/3/avatar.svg?requireActive=false"></a>
<a href="https://opencollective.com/laradock/sponsor/4/website?requireActive=false" target="_blank"><img src="https://opencollective.com/laradock/sponsor/4/avatar.svg?requireActive=false"></a>
<a href="https://opencollective.com/laradock/sponsor/5/website?requireActive=false" target="_blank"><img src="https://opencollective.com/laradock/sponsor/5/avatar.svg?requireActive=false"></a>
<a href="https://opencollective.com/laradock/sponsor/6/website?requireActive=false" target="_blank"><img src="https://opencollective.com/laradock/sponsor/6/avatar.svg?requireActive=false"></a>
<a href="https://opencollective.com/laradock/sponsor/7/website?requireActive=false" target="_blank"><img src="https://opencollective.com/laradock/sponsor/7/avatar.svg?requireActive=false"></a>
<a href="https://opencollective.com/laradock/sponsor/8/website?requireActive=false" target="_blank"><img src="https://opencollective.com/laradock/sponsor/8/avatar.svg?requireActive=false"></a>
<a href="https://opencollective.com/laradock/sponsor/9/website?requireActive=false" target="_blank"><img src="https://opencollective.com/laradock/sponsor/9/avatar.svg?requireActive=false"></a>
<a href="https://opencollective.com/laradock/sponsor/10/website?requireActive=false" target="_blank"><img src="https://opencollective.com/laradock/sponsor/10/avatar.svg?requireActive=false"></a>
<a href="https://opencollective.com/laradock/sponsor/11/website?requireActive=false" target="_blank"><img src="https://opencollective.com/laradock/sponsor/11/avatar.svg?requireActive=false"></a>
<a href="https://opencollective.com/laradock/sponsor/12/website?requireActive=false" target="_blank"><img src="https://opencollective.com/laradock/sponsor/12/avatar.svg?requireActive=false"></a>
<a href="https://opencollective.com/laradock/sponsor/13/website?requireActive=false" target="_blank"><img src="https://opencollective.com/laradock/sponsor/13/avatar.svg?requireActive=false"></a>
<a href="https://opencollective.com/laradock/sponsor/14/website?requireActive=false" target="_blank"><img src="https://opencollective.com/laradock/sponsor/14/avatar.svg?requireActive=false"></a>
<a href="https://opencollective.com/laradock/sponsor/15/website?requireActive=false" target="_blank"><img src="https://opencollective.com/laradock/sponsor/15/avatar.svg?requireActive=false"></a>
<a href="https://opencollective.com/laradock/sponsor/16/website?requireActive=false" target="_blank"><img src="https://opencollective.com/laradock/sponsor/16/avatar.svg?requireActive=false"></a>
<a href="https://opencollective.com/laradock/sponsor/17/website?requireActive=false" target="_blank"><img src="https://opencollective.com/laradock/sponsor/17/avatar.svg?requireActive=false"></a>
<a href="https://opencollective.com/laradock/sponsor/18/website?requireActive=false" target="_blank"><img src="https://opencollective.com/laradock/sponsor/18/avatar.svg?requireActive=false"></a>
<a href="https://opencollective.com/laradock/sponsor/19/website?requireActive=false" target="_blank"><img src="https://opencollective.com/laradock/sponsor/19/avatar.svg?requireActive=false"></a>
<a href="https://opencollective.com/laradock/sponsor/20/website?requireActive=false" target="_blank"><img src="https://opencollective.com/laradock/sponsor/20/avatar.svg?requireActive=false"></a>
<a href="https://opencollective.com/laradock/sponsor/21/website?requireActive=false" target="_blank"><img src="https://opencollective.com/laradock/sponsor/21/avatar.svg?requireActive=false"></a>
<a href="https://opencollective.com/laradock/sponsor/22/website?requireActive=false" target="_blank"><img src="https://opencollective.com/laradock/sponsor/22/avatar.svg?requireActive=false"></a>
<a href="https://opencollective.com/laradock/sponsor/23/website?requireActive=false" target="_blank"><img src="https://opencollective.com/laradock/sponsor/23/avatar.svg?requireActive=false"></a>
<a href="https://opencollective.com/laradock/sponsor/24/website?requireActive=false" target="_blank"><img src="https://opencollective.com/laradock/sponsor/24/avatar.svg?requireActive=false"></a>
<a href="https://opencollective.com/laradock/sponsor/25/website?requireActive=false" target="_blank"><img src="https://opencollective.com/laradock/sponsor/25/avatar.svg?requireActive=false"></a>
<a href="https://opencollective.com/laradock/sponsor/26/website?requireActive=false" target="_blank"><img src="https://opencollective.com/laradock/sponsor/26/avatar.svg?requireActive=false"></a>
<a href="https://opencollective.com/laradock/sponsor/27/website?requireActive=false" target="_blank"><img src="https://opencollective.com/laradock/sponsor/27/avatar.svg?requireActive=false"></a>
<a href="https://opencollective.com/laradock/sponsor/28/website?requireActive=false" target="_blank"><img src="https://opencollective.com/laradock/sponsor/28/avatar.svg?requireActive=false"></a>
<a href="https://opencollective.com/laradock/sponsor/29/website?requireActive=false" target="_blank"><img src="https://opencollective.com/laradock/sponsor/29/avatar.svg?requireActive=false"></a>
<a href="https://opencollective.com/laradock/sponsor/30/website?requireActive=false" target="_blank"><img src="https://opencollective.com/laradock/sponsor/30/avatar.svg?requireActive=false"></a>
<a href="https://opencollective.com/laradock/sponsor/31/website?requireActive=false" target="_blank"><img src="https://opencollective.com/laradock/sponsor/31/avatar.svg?requireActive=false"></a>
<a href="https://opencollective.com/laradock/sponsor/32/website?requireActive=false" target="_blank"><img src="https://opencollective.com/laradock/sponsor/32/avatar.svg?requireActive=false"></a>
<a href="https://opencollective.com/laradock/sponsor/33/website?requireActive=false" target="_blank"><img src="https://opencollective.com/laradock/sponsor/33/avatar.svg?requireActive=false"></a>
<a href="https://opencollective.com/laradock/sponsor/34/website?requireActive=false" target="_blank"><img src="https://opencollective.com/laradock/sponsor/34/avatar.svg?requireActive=false"></a>
<a href="https://opencollective.com/laradock/sponsor/35/website?requireActive=false" target="_blank"><img src="https://opencollective.com/laradock/sponsor/35/avatar.svg?requireActive=false"></a>
<a href="https://opencollective.com/laradock/sponsor/36/website?requireActive=false" target="_blank"><img src="https://opencollective.com/laradock/sponsor/36/avatar.svg?requireActive=false"></a>
<a href="https://opencollective.com/laradock/sponsor/37/website?requireActive=false" target="_blank"><img src="https://opencollective.com/laradock/sponsor/37/avatar.svg?requireActive=false"></a>
<a href="https://opencollective.com/laradock/sponsor/38/website?requireActive=false" target="_blank"><img src="https://opencollective.com/laradock/sponsor/38/avatar.svg?requireActive=false"></a>
<a href="https://opencollective.com/laradock/sponsor/39/website?requireActive=false" target="_blank"><img src="https://opencollective.com/laradock/sponsor/39/avatar.svg?requireActive=false"></a>
<a href="https://opencollective.com/laradock/sponsor/40/website?requireActive=false" target="_blank"><img src="https://opencollective.com/laradock/sponsor/40/avatar.svg?requireActive=false"></a>
<a href="https://opencollective.com/laradock/sponsor/41/website?requireActive=false" target="_blank"><img src="https://opencollective.com/laradock/sponsor/41/avatar.svg?requireActive=false"></a>
<a href="https://opencollective.com/laradock/sponsor/42/website?requireActive=false" target="_blank"><img src="https://opencollective.com/laradock/sponsor/42/avatar.svg?requireActive=false"></a>
<a href="https://opencollective.com/laradock/sponsor/43/website?requireActive=false" target="_blank"><img src="https://opencollective.com/laradock/sponsor/43/avatar.svg?requireActive=false"></a>
<a href="https://opencollective.com/laradock/sponsor/44/website?requireActive=false" target="_blank"><img src="https://opencollective.com/laradock/sponsor/44/avatar.svg?requireActive=false"></a>
<a href="https://opencollective.com/laradock/sponsor/45/website?requireActive=false" target="_blank"><img src="https://opencollective.com/laradock/sponsor/45/avatar.svg?requireActive=false"></a>
<a href="https://opencollective.com/laradock/sponsor/46/website?requireActive=false" target="_blank"><img src="https://opencollective.com/laradock/sponsor/46/avatar.svg?requireActive=false"></a>
<a href="https://opencollective.com/laradock/sponsor/47/website?requireActive=false" target="_blank"><img src="https://opencollective.com/laradock/sponsor/47/avatar.svg?requireActive=false"></a>
<a href="https://opencollective.com/laradock/sponsor/48/website?requireActive=false" target="_blank"><img src="https://opencollective.com/laradock/sponsor/48/avatar.svg?requireActive=false"></a>
<a href="https://opencollective.com/laradock/sponsor/49/website?requireActive=false" target="_blank"><img src="https://opencollective.com/laradock/sponsor/49/avatar.svg?requireActive=false"></a>
[![Beerpay](https://beerpay.io/laradock/laradock/badge.svg?style=flat)](https://beerpay.io/laradock/laradock) Support Laradock with your [organization](https://opencollective.com/laradock/contribute/).
<br>
Your logo will show up on the [github repository](https://github.com/laradock/laradock/) index page and the [documentation](http://laradock.io/) main page.
<br>
For more info contact <a href = "mailto: support@laradock.io">support@laradock.io</a>.
or become a backer on [Open Collective](https://opencollective.com/laradock#backer) <a name="Backers"></a>
## Backers
<a href="https://opencollective.com/laradock/backer/0/website?requireActive=false" target="_blank"><img src="https://opencollective.com/laradock/backer/0/avatar.svg?requireActive=false"></a>
<a href="https://opencollective.com/laradock/backer/1/website?requireActive=false" target="_blank"><img src="https://opencollective.com/laradock/backer/1/avatar.svg?requireActive=false"></a>
<a href="https://opencollective.com/laradock/backer/2/website?requireActive=false" target="_blank"><img src="https://opencollective.com/laradock/backer/2/avatar.svg?requireActive=false"></a>
<a href="https://opencollective.com/laradock/backer/3/website?requireActive=false" target="_blank"><img src="https://opencollective.com/laradock/backer/3/avatar.svg?requireActive=false"></a>
<a href="https://opencollective.com/laradock/backer/4/website?requireActive=false" target="_blank"><img src="https://opencollective.com/laradock/backer/4/avatar.svg?requireActive=false"></a>
<a href="https://opencollective.com/laradock/backer/5/website?requireActive=false" target="_blank"><img src="https://opencollective.com/laradock/backer/5/avatar.svg?requireActive=false"></a>
<a href="https://opencollective.com/laradock/backer/6/website?requireActive=false" target="_blank"><img src="https://opencollective.com/laradock/backer/6/avatar.svg?requireActive=false"></a>
<a href="https://opencollective.com/laradock/backer/7/website?requireActive=false" target="_blank"><img src="https://opencollective.com/laradock/backer/7/avatar.svg?requireActive=false"></a>
<a href="https://opencollective.com/laradock/backer/8/website?requireActive=false" target="_blank"><img src="https://opencollective.com/laradock/backer/8/avatar.svg?requireActive=false"></a>
<a href="https://opencollective.com/laradock/backer/9/website?requireActive=false" target="_blank"><img src="https://opencollective.com/laradock/backer/9/avatar.svg?requireActive=false"></a>
<a href="https://opencollective.com/laradock/backer/10/website?requireActive=false" target="_blank"><img src="https://opencollective.com/laradock/backer/10/avatar.svg?requireActive=false"></a>
<a href="https://opencollective.com/laradock/backer/11/website?requireActive=false" target="_blank"><img src="https://opencollective.com/laradock/backer/11/avatar.svg?requireActive=false"></a>
<a href="https://opencollective.com/laradock/backer/12/website?requireActive=false" target="_blank"><img src="https://opencollective.com/laradock/backer/12/avatar.svg?requireActive=false"></a>
<a href="https://opencollective.com/laradock/backer/13/website?requireActive=false" target="_blank"><img src="https://opencollective.com/laradock/backer/13/avatar.svg?requireActive=false"></a>
<a href="https://opencollective.com/laradock/backer/14/website?requireActive=false" target="_blank"><img src="https://opencollective.com/laradock/backer/14/avatar.svg?requireActive=false"></a>
<a href="https://opencollective.com/laradock/backer/15/website?requireActive=false" target="_blank"><img src="https://opencollective.com/laradock/backer/15/avatar.svg?requireActive=false"></a>
<a href="https://opencollective.com/laradock/backer/16/website?requireActive=false" target="_blank"><img src="https://opencollective.com/laradock/backer/16/avatar.svg?requireActive=false"></a>
<a href="https://opencollective.com/laradock/backer/17/website?requireActive=false" target="_blank"><img src="https://opencollective.com/laradock/backer/17/avatar.svg?requireActive=false"></a>
<a href="https://opencollective.com/laradock/backer/18/website?requireActive=false" target="_blank"><img src="https://opencollective.com/laradock/backer/18/avatar.svg?requireActive=false"></a>
<a href="https://opencollective.com/laradock/backer/19/website?requireActive=false" target="_blank"><img src="https://opencollective.com/laradock/backer/19/avatar.svg?requireActive=false"></a>
<a href="https://opencollective.com/laradock/backer/20/website?requireActive=false" target="_blank"><img src="https://opencollective.com/laradock/backer/20/avatar.svg?requireActive=false"></a>
<a href="https://opencollective.com/laradock/backer/21/website?requireActive=false" target="_blank"><img src="https://opencollective.com/laradock/backer/21/avatar.svg?requireActive=false"></a>
<a href="https://opencollective.com/laradock/backer/22/website?requireActive=false" target="_blank"><img src="https://opencollective.com/laradock/backer/22/avatar.svg?requireActive=false"></a>
<a href="https://opencollective.com/laradock/backer/23/website?requireActive=false" target="_blank"><img src="https://opencollective.com/laradock/backer/23/avatar.svg?requireActive=false"></a>
<a href="https://opencollective.com/laradock/backer/24/website?requireActive=false" target="_blank"><img src="https://opencollective.com/laradock/backer/24/avatar.svg?requireActive=false"></a>
<a href="https://opencollective.com/laradock/backer/25/website?requireActive=false" target="_blank"><img src="https://opencollective.com/laradock/backer/25/avatar.svg?requireActive=false"></a>
<a href="https://opencollective.com/laradock/backer/26/website?requireActive=false" target="_blank"><img src="https://opencollective.com/laradock/backer/26/avatar.svg?requireActive=false"></a>
<a href="https://opencollective.com/laradock/backer/27/website?requireActive=false" target="_blank"><img src="https://opencollective.com/laradock/backer/27/avatar.svg?requireActive=false"></a>
<a href="https://opencollective.com/laradock/backer/28/website?requireActive=false" target="_blank"><img src="https://opencollective.com/laradock/backer/28/avatar.svg?requireActive=false"></a>
<a href="https://opencollective.com/laradock/backer/29/website?requireActive=false" target="_blank"><img src="https://opencollective.com/laradock/backer/29/avatar.svg?requireActive=false"></a>
<a href="https://opencollective.com/laradock/backer/30/website?requireActive=false" target="_blank"><img src="https://opencollective.com/laradock/backer/30/avatar.svg?requireActive=false"></a>
<a href="https://opencollective.com/laradock/backer/31/website?requireActive=false" target="_blank"><img src="https://opencollective.com/laradock/backer/31/avatar.svg?requireActive=false"></a>
<a href="https://opencollective.com/laradock/backer/32/website?requireActive=false" target="_blank"><img src="https://opencollective.com/laradock/backer/32/avatar.svg?requireActive=false"></a>
<a href="https://opencollective.com/laradock/backer/33/website?requireActive=false" target="_blank"><img src="https://opencollective.com/laradock/backer/33/avatar.svg?requireActive=false"></a>
<a href="https://opencollective.com/laradock/backer/34/website?requireActive=false" target="_blank"><img src="https://opencollective.com/laradock/backer/34/avatar.svg?requireActive=false"></a>
<a href="https://opencollective.com/laradock/backer/35/website?requireActive=false" target="_blank"><img src="https://opencollective.com/laradock/backer/35/avatar.svg?requireActive=false"></a>
<a href="https://opencollective.com/laradock/backer/36/website?requireActive=false" target="_blank"><img src="https://opencollective.com/laradock/backer/36/avatar.svg?requireActive=false"></a>
<a href="https://opencollective.com/laradock/backer/37/website?requireActive=false" target="_blank"><img src="https://opencollective.com/laradock/backer/37/avatar.svg?requireActive=false"></a>
<a href="https://opencollective.com/laradock/backer/38/website?requireActive=false" target="_blank"><img src="https://opencollective.com/laradock/backer/38/avatar.svg?requireActive=false"></a>
<a href="https://opencollective.com/laradock/backer/39/website?requireActive=false" target="_blank"><img src="https://opencollective.com/laradock/backer/39/avatar.svg?requireActive=false"></a>
<a href="https://opencollective.com/laradock/backer/40/website?requireActive=false" target="_blank"><img src="https://opencollective.com/laradock/backer/40/avatar.svg?requireActive=false"></a>
<a href="https://opencollective.com/laradock/backer/41/website?requireActive=false" target="_blank"><img src="https://opencollective.com/laradock/backer/41/avatar.svg?requireActive=false"></a>
<a href="https://opencollective.com/laradock/backer/42/website?requireActive=false" target="_blank"><img src="https://opencollective.com/laradock/backer/42/avatar.svg?requireActive=false"></a>
<a href="https://opencollective.com/laradock/backer/43/website?requireActive=false" target="_blank"><img src="https://opencollective.com/laradock/backer/43/avatar.svg?requireActive=false"></a>
<a href="https://opencollective.com/laradock/backer/44/website?requireActive=false" target="_blank"><img src="https://opencollective.com/laradock/backer/44/avatar.svg?requireActive=false"></a>
<a href="https://opencollective.com/laradock/backer/45/website?requireActive=false" target="_blank"><img src="https://opencollective.com/laradock/backer/45/avatar.svg?requireActive=false"></a>
<a href="https://opencollective.com/laradock/backer/46/website?requireActive=false" target="_blank"><img src="https://opencollective.com/laradock/backer/46/avatar.svg?requireActive=false"></a>
<a href="https://opencollective.com/laradock/backer/47/website?requireActive=false" target="_blank"><img src="https://opencollective.com/laradock/backer/47/avatar.svg?requireActive=false"></a>
<a href="https://opencollective.com/laradock/backer/48/website?requireActive=false" target="_blank"><img src="https://opencollective.com/laradock/backer/48/avatar.svg?requireActive=false"></a>
<a href="https://opencollective.com/laradock/backer/49/website?requireActive=false" target="_blank"><img src="https://opencollective.com/laradock/backer/49/avatar.svg?requireActive=false"></a>
<br>
<a href="https://opencollective.com/laradock#backers" target="_blank"><img src="https://opencollective.com/laradock/backers.svg?width=890"></a>

View File

@ -1,7 +0,0 @@
---
title: 8. License
type: index
weight: 8
---
[MIT License](https://github.com/laradock/laradock/blob/master/LICENSE) (MIT)

View File

@ -1,19 +1,49 @@
--- ---
title: 6. Related Projects title: Related Projects
type: index type: index
weight: 6 weight: 5
--- ---
Laradock related projects: ## Laradock Related Projects
* [Laradock CLI](https://github.com/lorinlee/laradock-cli) by [LorinLee](https://github.com/lorinlee)
* [Laradock Env](https://github.com/bagart/laradock_env) by [BAGArt](https://github.com/bagart)
* [Klaradock](https://github.com/poyhsiao/Klaradock) by [Kim Hsiao](https://github.com/poyhsiao)
* [Ansible Laradock Kubernetes](https://github.com/sifat-rahim/ansible-laradock-kubernetes) by [Sifat Rahim](https://github.com/sifat-rahim)
These Docker Compose projects have piqued our interest:
* [MageDock](https://github.com/ojhaujjwal/magedock) by [Ujjwal Ojha](https://github.com/ojhaujjwal)
* [RubyDev-Dock](https://github.com/scudelletti/rubydev-dock) by [Diogo Scudelletti](https://github.com/scudelletti)
* [NoDock](https://github.com/Osedea/nodock) by [Osedea](https://github.com/Osedea)
* [Dockery](https://github.com/taufek/dockery) by [Taufek](https://github.com/Taufek)
If you want your project listed here, please open an issue. * [Docker Stacks](https://github.com/sfx101/docker-stacks): A GUI for managing Laradock. (by [Subhadip Naskar](https://github.com/sfx101))
* [Laradock CLI](https://github.com/lorinlee/laradock-cli): A CLI for managing Laradock. (by [Lorin Lee](https://github.com/lorinlee))
* [Laradock CLI](https://github.com/loonpwn/laradock-cli): A CLI for managing Laradock. (by [Harlan Wilton](https://github.com/loonpwn))
* [Ansible Laradock Kubernetes](https://github.com/sifat-rahim/ansible-laradock-kubernetes): Ansible playbook to setup docker containers for Laravel apps using Laradock. (by [Sifat Rahim](https://github.com/sifat-rahim))
* [Monitor Laradock](https://github.com/zeroc0d3/monitor-laradock): Laradock Monitoring Tools (using Grafana). (by [Dwi Fahni Denni](https://github.com/zeroc0d3))
* [Laradock Manager](https://github.com/Lyimmi/laradock-manager): A simple app for managing Laradock containers. Made with wails.app (go & vue.js & vuetify). (by [Zámbó Levente](https://github.com/Lyimmi))
* [Laradock Env](https://github.com/bagart/laradock_env): A wrapper with commands for managing Laradock. (by [BAG Art](https://github.com/bagart))
* [Lara Query](https://github.com/TanisukeGoro/laraQuery): Easy Laradock CLI. (by [Okita kamegoro](https://github.com/TanisukeGoro))
* [Laradock CLI](https://github.com/tonysm/laradock-cli): Laradock CLI helper. (by [Tony Messias](https://github.com/Tonysm))
* [Laradock Lite](https://github.com/yangliuyu/laradock-lite): A Docker based laravel development environment with minimal dependencies. (by [Liu Yang](https://github.com/yangliuyu))
* [Laradock Makefile](https://github.com/bazavlukd/laradock-makefile): Makefile with some useful commands for Laradock. (by [Dmitry Bazavluk](https://github.com/bazavlukd))
* [Laradock Build](https://github.com/dockerframework/laradock-build): Docker builder & running script for Laradock. (by [Docker Framework](https://github.com/dockerframework))
* [Laravel Laradock PHPStorm](https://github.com/LarryEitel/laravel-laradock-phpstorm): Guide for configuring PHPStorm for remote debugging with Laravel & Laradock. (by [Larry Eitel](https://github.com/LarryEitel))
* [Laradock Crudbooster](https://github.com/nutellinoit/laradock-crudbooster): Docker compose & Kubernetes solution to build apps with crudbooster & Laradock. (by [Samuele Chiocca](https://github.com/nutellinoit))
* [Laradock Sample](https://github.com/tadaken3/laradock-sample): Install Laravel with Laradock. (by [Tadaken3](https://github.com/tadaken3))
* [Stylemix's Laradock](https://github.com/stylemix/laradock): Alternate laradock for multiproject purpose. (by [Stylemix LLC](https://github.com/stylemix))
## Inspired by Laradock
* [Dockery](https://github.com/taufek/dockery): Laradock for Ruby. (by [Taufek Johar](https://github.com/Taufek))
* [RubyDev Dock](https://github.com/scudelletti/rubydev-dock): Laradock for Ruby. (by [Diogo Scudelletti](https://github.com/scudelletti))
* [NoDock](https://github.com/Osedea/nodock): Laradock for NodeJS. (by [Osedea](https://github.com/Osedea))
* [Laradock Multi](https://github.com/bagart/laradock-multi): Laradock for PHP & NodeJS. (by [BAG Art](https://github.com/bagart))
* [Wordpress Laradock](https://github.com/shov/wordpress-laradock): Laradock for Wordpress. (by [Alexandr Shevchenko](https://github.com/shov))
* [Yii2 Laradock](https://github.com/ydatech/yii2-laradock): Laradock for Yii2. (by [Yuda Sukmana](https://github.com/ydatech))
* [MageDock](https://github.com/ojhaujjwal/magedock): Laradock for Magento. (by [Ujjwal Ojha](https://github.com/ojhaujjwal))
* [Docker Codeigniter](https://github.com/sebastianlzy/docker-codeigniter): Laradock for Codeigniter. (by [Sebastian](https://github.com/sebastianlzy))
* [Klaradock](https://github.com/poyhsiao/Klaradock): A customized Laradock. (by [Kim Hsiao](https://github.com/poyhsiao))
* [Laravel Boilerplate](https://github.com/casivaagustin/laravel-boilerplate): A boilerplate with support for JWT. (by [Casiva Agustin](https://github.com/casivaagustin))
<br><br>
> Feel free to submit a PR for listing your project here.

View File

@ -11,3 +11,20 @@
height: 70px; height: 70px;
padding: 25px; padding: 25px;
} }
.palette-primary-deep-purple .article h1{
color: #7e57c2;
font-size: 35px;
}
.palette-primary-deep-purple .article h2{
color: #ce2046;
font-size: 25px;
}
.palette-primary-deep-purple .article h3{
color: #851d54;
font-size: 18px;
}
.palette-primary-deep-purple .article code{
color: #851d54;
background: #eeeeeea8;
}

View File

@ -36,6 +36,7 @@
{{ with .Site.Params.copyright }} {{ with .Site.Params.copyright }}
&copy; {{ $.Now.Format "2006" }} {{ . }} &ndash; &copy; {{ $.Now.Format "2006" }} {{ . }} &ndash;
{{ end }} {{ end }}
<br><br>
Documentation built with Documentation built with
<a href="https://www.gohugo.io" target="_blank">Hugo</a> <a href="https://www.gohugo.io" target="_blank">Hugo</a>
using the using the

View File

@ -24,20 +24,6 @@
<article class="article"> <article class="article">
<div class="wrapper"> <div class="wrapper">
<!-- ------------------------------------------------------------------------- -->
<!-- Google Ads -->
<script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
<!-- Laradock Horizontal -->
<ins class="adsbygoogle"
style="display:inline-block;width:890px;height:100px"
data-ad-client="ca-pub-9826129398689742"
data-ad-slot="2340256024"></ins>
<script>
(adsbygoogle = window.adsbygoogle || []).push({});
</script>
<!-- ------------------------------------------------------------------------- -->
<h1>{{ .Title }} {{ if .IsDraft }} (Draft){{ end }}</h1> <h1>{{ .Title }} {{ if .IsDraft }} (Draft){{ end }}</h1>
{{ .Content }} {{ .Content }}
@ -46,6 +32,7 @@
{{ with .Site.Params.copyright }} {{ with .Site.Params.copyright }}
&copy; {{ $.Now.Format "2006" }} {{ . }} &ndash; &copy; {{ $.Now.Format "2006" }} {{ . }} &ndash;
{{ end }} {{ end }}
<br><br>
Documentation built with Documentation built with
<a href="https://www.gohugo.io" target="_blank">Hugo</a> <a href="https://www.gohugo.io" target="_blank">Hugo</a>
using the using the

View File

@ -1,8 +1,8 @@
{{ partial "head" . }} {{ partial "head" . }}
{{ if (eq (trim .Site.Params.provider " " | lower) "github") | and (isset .Site.Params "repo_url") }} {{ if (eq (trim .Site.Params.provider " " | lower) "github") | and (isset .Site.Params "repo_url") }}
{{ $repo_id := replace .Site.Params.repo_url "https://github.com/" ""}} {{ $repo_id := replace .Site.Params.repo_url "https://github.com/" ""}}
{{ .Scratch.Set "repo_id" $repo_id }} {{ .Scratch.Set "repo_id" $repo_id }}
{{ end }} {{ end }}
<div class="backdrop"> <div class="backdrop">
@ -25,38 +25,42 @@
<article class="article"> <article class="article">
<div class="wrapper"> <div class="wrapper">
<!-- Wrapper arround google ads for seedanddew --> <!-- ------------------------------------------------------------------------- -->
<div class='snd-ad'> <!-- Google Ads -->
<!-- ------------------------------------------------------------------------- --> <script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
<!-- Google Ads --> <!-- Laradock Horizontal -->
<script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script> <ins class="adsbygoogle"
<!-- Laradock Horizontal --> style="display:inline-block;width:890px;height:100px"
<ins class="adsbygoogle" data-ad-client="ca-pub-9826129398689742"
style="display:inline-block;width:890px;height:100px" data-ad-slot="2340256024"></ins>
data-ad-client="ca-pub-9826129398689742" <script>
data-ad-slot="2340256024"></ins> (adsbygoogle = window.adsbygoogle || []).push({});
<script> </script>
(adsbygoogle = window.adsbygoogle || []).push({}); <!-- ------------------------------------------------------------------------- -->
</script>
<!-- ------------------------------------------------------------------------- --> <br><br><br>
</div> <img src="images/laradock-full-logo.jpg" alt="laradock logo">
{{ range where .Site.Pages "Type" "index" }} {{ range where .Site.Pages "Type" "index" }}
<h1>{{ .Title }} {{ if .IsDraft }} (Draft){{ end }}</h1> <br><br><br><br><br><br>
<hr>
<br>
<h1>{{ .Title }} {{ if .IsDraft }} (Draft){{ end }}</h1>
{{ .Content }} {{ .Content }}
{{ end }} {{ end }}
<aside class="copyright" role="note"> <aside class="copyright" role="note">
{{ with .Site.Params.copyright }} {{ with .Site.Params.copyright }}
&copy; {{ $.Now.Format "2006" }} {{ . }} &ndash; &copy; {{ $.Now.Format "2006" }} {{ . }} &ndash;
{{ end }} {{ end }}
<br><br>
Documentation built with Documentation built with
<a href="https://www.gohugo.io" target="_blank">Hugo</a> <a href="https://www.gohugo.io" target="_blank">Hugo</a>
using the using the
<a href="http://github.com/digitalcraftsman/hugo-material-docs" target="_blank">Material</a> theme, <a href="http://github.com/digitalcraftsman/hugo-material-docs" target="_blank">Material</a> theme,
by by
<a href="https://zalt.me">Mahmoud Zalt</a>. <a href="https://zalt.me">Mahmoud Zalt</a>.
</aside> </aside>
<footer class="footer"> <footer class="footer">

View File

@ -12,17 +12,23 @@
<title>{{ .Title }}{{ if not .IsHome }} - {{ .Site.Title }}{{ end }}</title> <title>{{ .Title }}{{ if not .IsHome }} - {{ .Site.Title }}{{ end }}</title>
{{ .Hugo.Generator }} {{ .Hugo.Generator }}
{{ with .Site.Params.description }} {{ with .Site.Params.description }}<meta name="description" content="{{ . }}">{{ end }}
<meta name="description" content="{{ . }}">
{{ end }}
<link rel="canonical" href="{{ .Permalink }}"> <link rel="canonical" href="{{ .Permalink }}">
{{ with .Site.Params.author }} {{ with .Site.Params.author }}<meta name="author" content="{{ . }}">{{ end }}
<meta name="author" content="{{ . }}">
{{ end }}
<meta property="og:url" content="{{ .Permalink }}"> <meta property="og:url" content="{{ .Permalink }}">
<meta property="og:type" content="website">
{{ with .Site.Title }}<meta property="og:site_name" content="{{ . }}">{{ end }}
{{ with .Site.Params.description }}<meta property="og:description" content="{{ . }}">{{ end }}
{{ with .Site.Title }}<meta property="og:title" content="{{ . }}">{{ end }} {{ with .Site.Title }}<meta property="og:title" content="{{ . }}">{{ end }}
{{ with .Site.Params.logo }}<meta property="og:image" content="{{ . | absURL }}">{{ end }} {{ with .Site.Params.logo }}<meta property="og:image" content="{{ . | absURL }}">{{ end }}
<meta name="twitter:card" content="summary">
<meta name="twitter:site" content="@Mahmoud_Zalt">
{{ with .Site.Title }}<meta name="twitter:title" content="{{ . }}">{{ end }}
{{ with .Site.Params.description }}<meta name="twitter:description" content="{{ . }}">{{ end }}
{{ with .Site.Params.logo }}<meta name="twitter:image" content="{{ . | absURL }}">{{ end }}
{{ with .Site.Title }}<meta name="apple-mobile-web-app-title" content="{{ . }}">{{ end }} {{ with .Site.Title }}<meta name="apple-mobile-web-app-title" content="{{ . }}">{{ end }}
<meta name="apple-mobile-web-app-capable" content="yes"> <meta name="apple-mobile-web-app-capable" content="yes">
<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent"> <meta name="apple-mobile-web-app-status-bar-style" content="black-translucent">
@ -30,6 +36,25 @@
<link rel="shortcut icon" type="image/x-icon" href="{{ with .Site.Params.favicon }}{{ . | absURL }}{{ else }}{{ "images/favicon.ico" | absURL }}{{ end }}"> <link rel="shortcut icon" type="image/x-icon" href="{{ with .Site.Params.favicon }}{{ . | absURL }}{{ else }}{{ "images/favicon.ico" | absURL }}{{ end }}">
<link rel="icon" type="image/x-icon" href="{{ with .Site.Params.favicon }}{{ . | absURL }}{{ else }}{{ "images/favicon.ico" | absURL }}{{ end }}"> <link rel="icon" type="image/x-icon" href="{{ with .Site.Params.favicon }}{{ . | absURL }}{{ else }}{{ "images/favicon.ico" | absURL }}{{ end }}">
<!-- <link rel="icon" type="image/png" sizes="192x192" href="images/favicons/android-icon-192x192.png">-->
<!-- <link rel="icon" type="image/png" sizes="32x32" href="images/favicons/favicon-32x32.png">-->
<!-- <link rel="icon" type="image/png" sizes="96x96" href="images/favicons/favicon-96x96.png">-->
<!-- <link rel="icon" type="image/png" sizes="16x16" href="images/favicons/favicon-16x16.png">-->
<link rel="apple-touch-icon" sizes="57x57" href="images/favicons/apple-icon-57x57.png">
<link rel="apple-touch-icon" sizes="60x60" href="images/favicons/apple-icon-60x60.png">
<link rel="apple-touch-icon" sizes="72x72" href="images/favicons/apple-icon-72x72.png">
<link rel="apple-touch-icon" sizes="76x76" href="images/favicons/apple-icon-76x76.png">
<link rel="apple-touch-icon" sizes="114x114" href="images/favicons/apple-icon-114x114.png">
<link rel="apple-touch-icon" sizes="120x120" href="images/favicons/apple-icon-120x120.png">
<link rel="apple-touch-icon" sizes="144x144" href="images/favicons/apple-icon-144x144.png">
<link rel="apple-touch-icon" sizes="152x152" href="images/favicons/apple-icon-152x152.png">
<link rel="apple-touch-icon" sizes="180x180" href="images/favicons/apple-icon-180x180.png">
<link rel="manifest" href="images/favicons/manifest.json">
<meta name="msapplication-TileColor" content="#7e57c2">
<meta name="msapplication-TileImage" content="images/favicons/ms-icon-144x144.png">
<meta name="theme-color" content="#7e57c2">
<style> <style>
@font-face { @font-face {
font-family: 'Icon'; font-family: 'Icon';
@ -70,27 +95,6 @@
{{ end }} {{ end }}
<script src="{{ "javascripts/modernizr.js" | absURL }}"></script> <script src="{{ "javascripts/modernizr.js" | absURL }}"></script>
<script>
// ------------------------------------------------------------
// seedanddew.com integration
var SeedAndDewConfig = {};
(function() {
SeedAndDewConfig['adClass'] = "snd-ad";
/* * * DON'T EDIT BELOW THIS LINE * * */
SeedAndDewConfig['projectId'] = 'd69f3ea2-1e30-44c7-bd2a-87686c0136e6';
SeedAndDewConfig['loadStartTime'] = performance.now();
SeedAndDewConfig['apiVersion'] = '2018-05-28'
SeedAndDewConfig['sessionId'] = Math.random().toString(36).substring(2, 15);
var snd = document.createElement('script');
snd.type = 'text/javascript';
snd.async = true;
snd.src = 'https://www.seedanddew.com/static/embed.min.js';
(document.getElementsByTagName('head')[0] ||
document.getElementsByTagName('body')[0]).appendChild(snd);
})();
// ------------------------------------------------------------
</script>
{{ with .RSSLink }} {{ with .RSSLink }}
<link href="{{ . }}" rel="alternate" type="application/rss+xml" title="{{ $.Site.Title }}" /> <link href="{{ . }}" rel="alternate" type="application/rss+xml" title="{{ $.Site.Title }}" />
<link href="{{ . }}" rel="feed" type="application/rss+xml" title="{{ $.Site.Title }}" /> <link href="{{ . }}" rel="feed" type="application/rss+xml" title="{{ $.Site.Title }}" />

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.9 KiB

View File

@ -0,0 +1,2 @@
<?xml version="1.0" encoding="utf-8"?>
<browserconfig><msapplication><tile><square70x70logo src="/ms-icon-70x70.png"/><square150x150logo src="/ms-icon-150x150.png"/><square310x310logo src="/ms-icon-310x310.png"/><TileColor>#ffffff</TileColor></tile></msapplication></browserconfig>

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

View File

@ -0,0 +1,41 @@
{
"name": "App",
"icons": [
{
"src": "\/android-icon-36x36.png",
"sizes": "36x36",
"type": "image\/png",
"density": "0.75"
},
{
"src": "\/android-icon-48x48.png",
"sizes": "48x48",
"type": "image\/png",
"density": "1.0"
},
{
"src": "\/android-icon-72x72.png",
"sizes": "72x72",
"type": "image\/png",
"density": "1.5"
},
{
"src": "\/android-icon-96x96.png",
"sizes": "96x96",
"type": "image\/png",
"density": "2.0"
},
{
"src": "\/android-icon-144x144.png",
"sizes": "144x144",
"type": "image\/png",
"density": "3.0"
},
{
"src": "\/android-icon-192x192.png",
"sizes": "192x192",
"type": "image\/png",
"density": "4.0"
}
]
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 287 KiB

297
README.md Normal file
View File

@ -0,0 +1,297 @@
<p align="center">
<img src="/.github/home-page-images/laradock-logo.jpg?raw=true" alt="Laradock Logo"/>
</p>
---
<p align="center"><b>Full PHP development environment based on Docker.</b></p>
<p align="center">Supporting a variety of common services, all pre-configured to provide a full PHP development environment.</p>
<p align="center">
<a href="http://laradock.io/contributing"><img src="https://img.shields.io/badge/contributions-welcome-brightgreen.svg?style=flat" alt="contributions welcome"></a>
<a href="https://github.com/laradock/laradock/network"><img src="https://img.shields.io/github/forks/laradock/laradock.svg" alt="GitHub forks"></a>
<a href="https://github.com/laradock/laradock/issues"><img src="https://img.shields.io/github/issues/laradock/laradock.svg" alt="GitHub issues"></a>
<a href="https://github.com/laradock/laradock/stargazers"><a href="#backers" alt="sponsors on Open Collective"><img src="https://opencollective.com/laradock/backers/badge.svg" /></a> <a href="#sponsors" alt="Sponsors on Open Collective"><img src="https://opencollective.com/laradock/sponsors/badge.svg" /></a> <img src="https://img.shields.io/github/stars/laradock/laradock.svg" alt="GitHub stars"></a>
<a href="https://travis-ci.org/laradock/laradock"><img src="https://travis-ci.org/laradock/laradock.svg?branch=master" alt="Build status"></a>
<a href="https://raw.githubusercontent.com/laradock/laradock/master/LICENSE"><img src="https://img.shields.io/badge/license-MIT-blue.svg" alt="GitHub license"></a>
</p>
<p align="center">
<a href="http://zalt.me"><img src="http://forthebadge.com/images/badges/built-by-developers.svg" alt="forthebadge" width="240"></a>
</p>
<h4 align="center" style="color:#7d58c2">Use Docker First - Then Learn About It Later!</h4>
<p align="center">
<a href="http://laradock.io">
<img src="https://raw.githubusercontent.com/laradock/laradock/master/.github/home-page-images/documentation-button.png" width="300px" alt="Laradock Documentation"/>
</a>
</p>
---
<a name="Chat"></a>
## Chat with us
Feel free to join us on Gitter.
[![Gitter](https://badges.gitter.im/Laradock/laradock.svg)](https://gitter.im/Laradock/laradock?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge)
---
## Awesome People
Laradock exists thanks to all the people who contribute.
### Project Maintainers
<table>
<tbody>
<tr>
<td align="center" valign="top">
<img width="125" height="125" src="https://github.com/mahmoudz.png?s=150">
<br>
<strong>Mahmoud Zalt</strong>
<br>
<a href="https://github.com/Mahmoudz">@mahmoudz</a>
</td>
<td align="center" valign="top">
<img width="125" height="125" src="https://github.com/appleboy.png?s=150">
<br>
<strong>Bo-Yi Wu</strong>
<br>
<a href="https://github.com/appleboy">@appleboy</a>
</td>
<td align="center" valign="top">
<img width="125" height="125" src="https://github.com/philtrep.png?s=150">
<br>
<strong>Philippe Trépanier</strong>
<br>
<a href="https://github.com/philtrep">@philtrep</a>
</td>
<td align="center" valign="top">
<img width="125" height="125" src="https://github.com/mikeerickson.png?s=150">
<br>
<strong>Mike Erickson</strong>
<br>
<a href="https://github.com/mikeerickson">@mikeerickson</a>
</td>
<td align="center" valign="top">
<img width="125" height="125" src="https://github.com/zeroc0d3.png?s=150">
<br>
<strong>Dwi Fahni Denni</strong>
<br>
<a href="https://github.com/zeroc0d3">@zeroc0d3</a>
</td>
</tr>
<tr>
<td align="center" valign="top">
<img width="125" height="125" src="https://github.com/thorerik.png?s=150">
<br>
<strong>Thor Erik</strong>
<br>
<a href="https://github.com/thorerik">@thorerik</a>
</td>
<td align="center" valign="top">
<img width="125" height="125" src="https://github.com/winfried-van-loon.png?s=150">
<br>
<strong>Winfried van Loon</strong>
<br>
<a href="https://github.com/winfried-van-loon">@winfried-van-loon</a>
</td>
<td align="center" valign="top">
<img width="125" height="125" src="https://github.com/sixlive.png?s=150">
<br>
<strong>TJ Miller</strong>
<br>
<a href="https://github.com/sixlive">@sixlive</a>
</td>
<td align="center" valign="top">
<img width="125" height="125" src="https://github.com/bestlong.png?s=150">
<br>
<strong>Yu-Lung Shao (Allen)</strong>
<br>
<a href="https://github.com/bestlong">@bestlong</a>
</td>
<td align="center" valign="top">
<img width="125" height="125" src="https://github.com/urukalo.png?s=150">
<br>
<strong>Milan Urukalo</strong>
<br>
<a href="https://github.com/urukalo">@urukalo</a>
</td>
</tr>
<tr>
<td align="center" valign="top">
<img width="125" height="125" src="https://github.com/vwchu.png?s=150">
<br>
<strong>Vince Chu</strong>
<br>
<a href="https://github.com/vwchu">@vwchu</a>
</td>
<td align="center" valign="top">
<img width="125" height="125" src="https://github.com/zuohuadong.png?s=150">
<br>
<strong>Huadong Zuo</strong>
<br>
<a href="https://github.com/zuohuadong">@zuohuadong</a>
</td>
<td align="center" valign="top">
<img width="125" height="125" src="https://github.com/lanphan.png?s=150">
<br>
<strong>Lan Phan</strong>
<br>
<a href="https://github.com/lanphan">@lanphan</a>
</td>
<td align="center" valign="top">
<img width="125" height="125" src="https://github.com/ahkui.png?s=150">
<br>
<strong>Ahkui</strong>
<br>
<a href="https://github.com/ahkui">@ahkui</a>
</td>
<td align="center" valign="top">
<img width="125" height="125" src="https://raw.githubusercontent.com/laradock/laradock/master/.github/home-page-images/join-us.png">
<br>
<strong>< Join Us ></strong>
<br>
<a href="https://github.com/laradock">@laradock</a>
</td>
</tr>
</tbody>
</table>
### Code Contributors
<a href="https://github.com/laradock/laradock/graphs/contributors"><img src="https://opencollective.com/laradock/contributors.svg?width=890&button=false" /></a>
### Financial Contributors
Contribute and help us sustain the project.
<b>Option 1:</b> Donate via [Paypal](https://paypal.me/mzmmzz).
<br>
<b>Option 2:</b> Become a Sponsor via [Github Sponsors](https://github.com/sponsors/Mahmoudz).
<br>
<b>Option 3:</b> Become a Sponsor/Backer via [Open Collective](https://opencollective.com/laradock/contribute).
<br>
<b>Option 4:</b> Become a [Patreon](https://www.patreon.com/zalt).
## Sponsors
<a href="https://opencollective.com/laradock/sponsor/0/website?requireActive=false" target="_blank"><img src="https://opencollective.com/laradock/sponsor/0/avatar.svg?requireActive=false"></a>
<a href="https://opencollective.com/laradock/sponsor/1/website?requireActive=false" target="_blank"><img src="https://opencollective.com/laradock/sponsor/1/avatar.svg?requireActive=false"></a>
<a href="https://opencollective.com/laradock/sponsor/2/website?requireActive=false" target="_blank"><img src="https://opencollective.com/laradock/sponsor/2/avatar.svg?requireActive=false"></a>
<a href="https://opencollective.com/laradock/sponsor/3/website?requireActive=false" target="_blank"><img src="https://opencollective.com/laradock/sponsor/3/avatar.svg?requireActive=false"></a>
<a href="https://opencollective.com/laradock/sponsor/4/website?requireActive=false" target="_blank"><img src="https://opencollective.com/laradock/sponsor/4/avatar.svg?requireActive=false"></a>
<a href="https://opencollective.com/laradock/sponsor/5/website?requireActive=false" target="_blank"><img src="https://opencollective.com/laradock/sponsor/5/avatar.svg?requireActive=false"></a>
<a href="https://opencollective.com/laradock/sponsor/6/website?requireActive=false" target="_blank"><img src="https://opencollective.com/laradock/sponsor/6/avatar.svg?requireActive=false"></a>
<a href="https://opencollective.com/laradock/sponsor/7/website?requireActive=false" target="_blank"><img src="https://opencollective.com/laradock/sponsor/7/avatar.svg?requireActive=false"></a>
<a href="https://opencollective.com/laradock/sponsor/8/website?requireActive=false" target="_blank"><img src="https://opencollective.com/laradock/sponsor/8/avatar.svg?requireActive=false"></a>
<a href="https://opencollective.com/laradock/sponsor/9/website?requireActive=false" target="_blank"><img src="https://opencollective.com/laradock/sponsor/9/avatar.svg?requireActive=false"></a>
<a href="https://opencollective.com/laradock/sponsor/10/website?requireActive=false" target="_blank"><img src="https://opencollective.com/laradock/sponsor/10/avatar.svg?requireActive=false"></a>
<a href="https://opencollective.com/laradock/sponsor/11/website?requireActive=false" target="_blank"><img src="https://opencollective.com/laradock/sponsor/11/avatar.svg?requireActive=false"></a>
<a href="https://opencollective.com/laradock/sponsor/12/website?requireActive=false" target="_blank"><img src="https://opencollective.com/laradock/sponsor/12/avatar.svg?requireActive=false"></a>
<a href="https://opencollective.com/laradock/sponsor/13/website?requireActive=false" target="_blank"><img src="https://opencollective.com/laradock/sponsor/13/avatar.svg?requireActive=false"></a>
<a href="https://opencollective.com/laradock/sponsor/14/website?requireActive=false" target="_blank"><img src="https://opencollective.com/laradock/sponsor/14/avatar.svg?requireActive=false"></a>
<a href="https://opencollective.com/laradock/sponsor/15/website?requireActive=false" target="_blank"><img src="https://opencollective.com/laradock/sponsor/15/avatar.svg?requireActive=false"></a>
<a href="https://opencollective.com/laradock/sponsor/16/website?requireActive=false" target="_blank"><img src="https://opencollective.com/laradock/sponsor/16/avatar.svg?requireActive=false"></a>
<a href="https://opencollective.com/laradock/sponsor/17/website?requireActive=false" target="_blank"><img src="https://opencollective.com/laradock/sponsor/17/avatar.svg?requireActive=false"></a>
<a href="https://opencollective.com/laradock/sponsor/18/website?requireActive=false" target="_blank"><img src="https://opencollective.com/laradock/sponsor/18/avatar.svg?requireActive=false"></a>
<a href="https://opencollective.com/laradock/sponsor/19/website?requireActive=false" target="_blank"><img src="https://opencollective.com/laradock/sponsor/19/avatar.svg?requireActive=false"></a>
<a href="https://opencollective.com/laradock/sponsor/20/website?requireActive=false" target="_blank"><img src="https://opencollective.com/laradock/sponsor/20/avatar.svg?requireActive=false"></a>
<a href="https://opencollective.com/laradock/sponsor/21/website?requireActive=false" target="_blank"><img src="https://opencollective.com/laradock/sponsor/21/avatar.svg?requireActive=false"></a>
<a href="https://opencollective.com/laradock/sponsor/22/website?requireActive=false" target="_blank"><img src="https://opencollective.com/laradock/sponsor/22/avatar.svg?requireActive=false"></a>
<a href="https://opencollective.com/laradock/sponsor/23/website?requireActive=false" target="_blank"><img src="https://opencollective.com/laradock/sponsor/23/avatar.svg?requireActive=false"></a>
<a href="https://opencollective.com/laradock/sponsor/24/website?requireActive=false" target="_blank"><img src="https://opencollective.com/laradock/sponsor/24/avatar.svg?requireActive=false"></a>
<a href="https://opencollective.com/laradock/sponsor/25/website?requireActive=false" target="_blank"><img src="https://opencollective.com/laradock/sponsor/25/avatar.svg?requireActive=false"></a>
<a href="https://opencollective.com/laradock/sponsor/26/website?requireActive=false" target="_blank"><img src="https://opencollective.com/laradock/sponsor/26/avatar.svg?requireActive=false"></a>
<a href="https://opencollective.com/laradock/sponsor/27/website?requireActive=false" target="_blank"><img src="https://opencollective.com/laradock/sponsor/27/avatar.svg?requireActive=false"></a>
<a href="https://opencollective.com/laradock/sponsor/28/website?requireActive=false" target="_blank"><img src="https://opencollective.com/laradock/sponsor/28/avatar.svg?requireActive=false"></a>
<a href="https://opencollective.com/laradock/sponsor/29/website?requireActive=false" target="_blank"><img src="https://opencollective.com/laradock/sponsor/29/avatar.svg?requireActive=false"></a>
<a href="https://opencollective.com/laradock/sponsor/30/website?requireActive=false" target="_blank"><img src="https://opencollective.com/laradock/sponsor/30/avatar.svg?requireActive=false"></a>
<a href="https://opencollective.com/laradock/sponsor/31/website?requireActive=false" target="_blank"><img src="https://opencollective.com/laradock/sponsor/31/avatar.svg?requireActive=false"></a>
<a href="https://opencollective.com/laradock/sponsor/32/website?requireActive=false" target="_blank"><img src="https://opencollective.com/laradock/sponsor/32/avatar.svg?requireActive=false"></a>
<a href="https://opencollective.com/laradock/sponsor/33/website?requireActive=false" target="_blank"><img src="https://opencollective.com/laradock/sponsor/33/avatar.svg?requireActive=false"></a>
<a href="https://opencollective.com/laradock/sponsor/34/website?requireActive=false" target="_blank"><img src="https://opencollective.com/laradock/sponsor/34/avatar.svg?requireActive=false"></a>
<a href="https://opencollective.com/laradock/sponsor/35/website?requireActive=false" target="_blank"><img src="https://opencollective.com/laradock/sponsor/35/avatar.svg?requireActive=false"></a>
<a href="https://opencollective.com/laradock/sponsor/36/website?requireActive=false" target="_blank"><img src="https://opencollective.com/laradock/sponsor/36/avatar.svg?requireActive=false"></a>
<a href="https://opencollective.com/laradock/sponsor/37/website?requireActive=false" target="_blank"><img src="https://opencollective.com/laradock/sponsor/37/avatar.svg?requireActive=false"></a>
<a href="https://opencollective.com/laradock/sponsor/38/website?requireActive=false" target="_blank"><img src="https://opencollective.com/laradock/sponsor/38/avatar.svg?requireActive=false"></a>
<a href="https://opencollective.com/laradock/sponsor/39/website?requireActive=false" target="_blank"><img src="https://opencollective.com/laradock/sponsor/39/avatar.svg?requireActive=false"></a>
<a href="https://opencollective.com/laradock/sponsor/40/website?requireActive=false" target="_blank"><img src="https://opencollective.com/laradock/sponsor/40/avatar.svg?requireActive=false"></a>
<a href="https://opencollective.com/laradock/sponsor/41/website?requireActive=false" target="_blank"><img src="https://opencollective.com/laradock/sponsor/41/avatar.svg?requireActive=false"></a>
<a href="https://opencollective.com/laradock/sponsor/42/website?requireActive=false" target="_blank"><img src="https://opencollective.com/laradock/sponsor/42/avatar.svg?requireActive=false"></a>
<a href="https://opencollective.com/laradock/sponsor/43/website?requireActive=false" target="_blank"><img src="https://opencollective.com/laradock/sponsor/43/avatar.svg?requireActive=false"></a>
<a href="https://opencollective.com/laradock/sponsor/44/website?requireActive=false" target="_blank"><img src="https://opencollective.com/laradock/sponsor/44/avatar.svg?requireActive=false"></a>
<a href="https://opencollective.com/laradock/sponsor/45/website?requireActive=false" target="_blank"><img src="https://opencollective.com/laradock/sponsor/45/avatar.svg?requireActive=false"></a>
<a href="https://opencollective.com/laradock/sponsor/46/website?requireActive=false" target="_blank"><img src="https://opencollective.com/laradock/sponsor/46/avatar.svg?requireActive=false"></a>
<a href="https://opencollective.com/laradock/sponsor/47/website?requireActive=false" target="_blank"><img src="https://opencollective.com/laradock/sponsor/47/avatar.svg?requireActive=false"></a>
<a href="https://opencollective.com/laradock/sponsor/48/website?requireActive=false" target="_blank"><img src="https://opencollective.com/laradock/sponsor/48/avatar.svg?requireActive=false"></a>
<a href="https://opencollective.com/laradock/sponsor/49/website?requireActive=false" target="_blank"><img src="https://opencollective.com/laradock/sponsor/49/avatar.svg?requireActive=false"></a>
Support Laradock with your [organization](https://opencollective.com/laradock/contribute/).
<br>
Your logo will show up on the [github repository](https://github.com/laradock/laradock/) index page and the [documentation](http://laradock.io/) main page.
<br>
For more info contact <a href = "mailto: support@laradock.io">support@laradock.io</a>.
## Backers
<a href="https://opencollective.com/laradock/backer/0/website?requireActive=false" target="_blank"><img src="https://opencollective.com/laradock/backer/0/avatar.svg?requireActive=false"></a>
<a href="https://opencollective.com/laradock/backer/1/website?requireActive=false" target="_blank"><img src="https://opencollective.com/laradock/backer/1/avatar.svg?requireActive=false"></a>
<a href="https://opencollective.com/laradock/backer/2/website?requireActive=false" target="_blank"><img src="https://opencollective.com/laradock/backer/2/avatar.svg?requireActive=false"></a>
<a href="https://opencollective.com/laradock/backer/3/website?requireActive=false" target="_blank"><img src="https://opencollective.com/laradock/backer/3/avatar.svg?requireActive=false"></a>
<a href="https://opencollective.com/laradock/backer/4/website?requireActive=false" target="_blank"><img src="https://opencollective.com/laradock/backer/4/avatar.svg?requireActive=false"></a>
<a href="https://opencollective.com/laradock/backer/5/website?requireActive=false" target="_blank"><img src="https://opencollective.com/laradock/backer/5/avatar.svg?requireActive=false"></a>
<a href="https://opencollective.com/laradock/backer/6/website?requireActive=false" target="_blank"><img src="https://opencollective.com/laradock/backer/6/avatar.svg?requireActive=false"></a>
<a href="https://opencollective.com/laradock/backer/7/website?requireActive=false" target="_blank"><img src="https://opencollective.com/laradock/backer/7/avatar.svg?requireActive=false"></a>
<a href="https://opencollective.com/laradock/backer/8/website?requireActive=false" target="_blank"><img src="https://opencollective.com/laradock/backer/8/avatar.svg?requireActive=false"></a>
<a href="https://opencollective.com/laradock/backer/9/website?requireActive=false" target="_blank"><img src="https://opencollective.com/laradock/backer/9/avatar.svg?requireActive=false"></a>
<a href="https://opencollective.com/laradock/backer/10/website?requireActive=false" target="_blank"><img src="https://opencollective.com/laradock/backer/10/avatar.svg?requireActive=false"></a>
<a href="https://opencollective.com/laradock/backer/11/website?requireActive=false" target="_blank"><img src="https://opencollective.com/laradock/backer/11/avatar.svg?requireActive=false"></a>
<a href="https://opencollective.com/laradock/backer/12/website?requireActive=false" target="_blank"><img src="https://opencollective.com/laradock/backer/12/avatar.svg?requireActive=false"></a>
<a href="https://opencollective.com/laradock/backer/13/website?requireActive=false" target="_blank"><img src="https://opencollective.com/laradock/backer/13/avatar.svg?requireActive=false"></a>
<a href="https://opencollective.com/laradock/backer/14/website?requireActive=false" target="_blank"><img src="https://opencollective.com/laradock/backer/14/avatar.svg?requireActive=false"></a>
<a href="https://opencollective.com/laradock/backer/15/website?requireActive=false" target="_blank"><img src="https://opencollective.com/laradock/backer/15/avatar.svg?requireActive=false"></a>
<a href="https://opencollective.com/laradock/backer/16/website?requireActive=false" target="_blank"><img src="https://opencollective.com/laradock/backer/16/avatar.svg?requireActive=false"></a>
<a href="https://opencollective.com/laradock/backer/17/website?requireActive=false" target="_blank"><img src="https://opencollective.com/laradock/backer/17/avatar.svg?requireActive=false"></a>
<a href="https://opencollective.com/laradock/backer/18/website?requireActive=false" target="_blank"><img src="https://opencollective.com/laradock/backer/18/avatar.svg?requireActive=false"></a>
<a href="https://opencollective.com/laradock/backer/19/website?requireActive=false" target="_blank"><img src="https://opencollective.com/laradock/backer/19/avatar.svg?requireActive=false"></a>
<a href="https://opencollective.com/laradock/backer/20/website?requireActive=false" target="_blank"><img src="https://opencollective.com/laradock/backer/20/avatar.svg?requireActive=false"></a>
<a href="https://opencollective.com/laradock/backer/21/website?requireActive=false" target="_blank"><img src="https://opencollective.com/laradock/backer/21/avatar.svg?requireActive=false"></a>
<a href="https://opencollective.com/laradock/backer/22/website?requireActive=false" target="_blank"><img src="https://opencollective.com/laradock/backer/22/avatar.svg?requireActive=false"></a>
<a href="https://opencollective.com/laradock/backer/23/website?requireActive=false" target="_blank"><img src="https://opencollective.com/laradock/backer/23/avatar.svg?requireActive=false"></a>
<a href="https://opencollective.com/laradock/backer/24/website?requireActive=false" target="_blank"><img src="https://opencollective.com/laradock/backer/24/avatar.svg?requireActive=false"></a>
<a href="https://opencollective.com/laradock/backer/25/website?requireActive=false" target="_blank"><img src="https://opencollective.com/laradock/backer/25/avatar.svg?requireActive=false"></a>
<a href="https://opencollective.com/laradock/backer/26/website?requireActive=false" target="_blank"><img src="https://opencollective.com/laradock/backer/26/avatar.svg?requireActive=false"></a>
<a href="https://opencollective.com/laradock/backer/27/website?requireActive=false" target="_blank"><img src="https://opencollective.com/laradock/backer/27/avatar.svg?requireActive=false"></a>
<a href="https://opencollective.com/laradock/backer/28/website?requireActive=false" target="_blank"><img src="https://opencollective.com/laradock/backer/28/avatar.svg?requireActive=false"></a>
<a href="https://opencollective.com/laradock/backer/29/website?requireActive=false" target="_blank"><img src="https://opencollective.com/laradock/backer/29/avatar.svg?requireActive=false"></a>
<a href="https://opencollective.com/laradock/backer/30/website?requireActive=false" target="_blank"><img src="https://opencollective.com/laradock/backer/30/avatar.svg?requireActive=false"></a>
<a href="https://opencollective.com/laradock/backer/31/website?requireActive=false" target="_blank"><img src="https://opencollective.com/laradock/backer/31/avatar.svg?requireActive=false"></a>
<a href="https://opencollective.com/laradock/backer/32/website?requireActive=false" target="_blank"><img src="https://opencollective.com/laradock/backer/32/avatar.svg?requireActive=false"></a>
<a href="https://opencollective.com/laradock/backer/33/website?requireActive=false" target="_blank"><img src="https://opencollective.com/laradock/backer/33/avatar.svg?requireActive=false"></a>
<a href="https://opencollective.com/laradock/backer/34/website?requireActive=false" target="_blank"><img src="https://opencollective.com/laradock/backer/34/avatar.svg?requireActive=false"></a>
<a href="https://opencollective.com/laradock/backer/35/website?requireActive=false" target="_blank"><img src="https://opencollective.com/laradock/backer/35/avatar.svg?requireActive=false"></a>
<a href="https://opencollective.com/laradock/backer/36/website?requireActive=false" target="_blank"><img src="https://opencollective.com/laradock/backer/36/avatar.svg?requireActive=false"></a>
<a href="https://opencollective.com/laradock/backer/37/website?requireActive=false" target="_blank"><img src="https://opencollective.com/laradock/backer/37/avatar.svg?requireActive=false"></a>
<a href="https://opencollective.com/laradock/backer/38/website?requireActive=false" target="_blank"><img src="https://opencollective.com/laradock/backer/38/avatar.svg?requireActive=false"></a>
<a href="https://opencollective.com/laradock/backer/39/website?requireActive=false" target="_blank"><img src="https://opencollective.com/laradock/backer/39/avatar.svg?requireActive=false"></a>
<a href="https://opencollective.com/laradock/backer/40/website?requireActive=false" target="_blank"><img src="https://opencollective.com/laradock/backer/40/avatar.svg?requireActive=false"></a>
<a href="https://opencollective.com/laradock/backer/41/website?requireActive=false" target="_blank"><img src="https://opencollective.com/laradock/backer/41/avatar.svg?requireActive=false"></a>
<a href="https://opencollective.com/laradock/backer/42/website?requireActive=false" target="_blank"><img src="https://opencollective.com/laradock/backer/42/avatar.svg?requireActive=false"></a>
<a href="https://opencollective.com/laradock/backer/43/website?requireActive=false" target="_blank"><img src="https://opencollective.com/laradock/backer/43/avatar.svg?requireActive=false"></a>
<a href="https://opencollective.com/laradock/backer/44/website?requireActive=false" target="_blank"><img src="https://opencollective.com/laradock/backer/44/avatar.svg?requireActive=false"></a>
<a href="https://opencollective.com/laradock/backer/45/website?requireActive=false" target="_blank"><img src="https://opencollective.com/laradock/backer/45/avatar.svg?requireActive=false"></a>
<a href="https://opencollective.com/laradock/backer/46/website?requireActive=false" target="_blank"><img src="https://opencollective.com/laradock/backer/46/avatar.svg?requireActive=false"></a>
<a href="https://opencollective.com/laradock/backer/47/website?requireActive=false" target="_blank"><img src="https://opencollective.com/laradock/backer/47/avatar.svg?requireActive=false"></a>
<a href="https://opencollective.com/laradock/backer/48/website?requireActive=false" target="_blank"><img src="https://opencollective.com/laradock/backer/48/avatar.svg?requireActive=false"></a>
<a href="https://opencollective.com/laradock/backer/49/website?requireActive=false" target="_blank"><img src="https://opencollective.com/laradock/backer/49/avatar.svg?requireActive=false"></a>
## License
[MIT](https://github.com/laradock/laradock/blob/master/LICENSE) © Mahmoud Zalt

View File

@ -1,4 +1,4 @@
FROM webdevops/apache:ubuntu-16.04 FROM webdevops/apache:ubuntu-18.04
LABEL maintainer="Eric Pfeiffer <computerfr33k@users.noreply.github.com>" LABEL maintainer="Eric Pfeiffer <computerfr33k@users.noreply.github.com>"

View File

@ -47,6 +47,10 @@ volumes:
driver: ${VOLUMES_DRIVER} driver: ${VOLUMES_DRIVER}
cassandra: cassandra:
driver: ${VOLUMES_DRIVER} driver: ${VOLUMES_DRIVER}
graylog:
driver: ${VOLUMES_DRIVER}
docker-in-docker:
driver: ${VOLUMES_DRIVER}
services: services:
@ -55,25 +59,35 @@ services:
build: build:
context: ./workspace context: ./workspace
args: args:
- CHANGE_SOURCE=${CHANGE_SOURCE}
- SHELL_OH_MY_ZSH=${SHELL_OH_MY_ZSH}
- UBUNTU_SOURCE=${UBUNTU_SOURCE}
- BASE_IMAGE_TAG_PREFIX=${WORKSPACE_BASE_IMAGE_TAG_PREFIX}
- LARADOCK_PHP_VERSION=${PHP_VERSION} - LARADOCK_PHP_VERSION=${PHP_VERSION}
- LARADOCK_PHALCON_VERSION=${PHALCON_VERSION} - LARADOCK_PHALCON_VERSION=${PHALCON_VERSION}
- INSTALL_SUBVERSION=${WORKSPACE_INSTALL_SUBVERSION} - INSTALL_SUBVERSION=${WORKSPACE_INSTALL_SUBVERSION}
- INSTALL_BZ2=${WORKSPACE_INSTALL_BZ2}
- INSTALL_GMP=${WORKSPACE_INSTALL_GMP}
- INSTALL_XDEBUG=${WORKSPACE_INSTALL_XDEBUG} - INSTALL_XDEBUG=${WORKSPACE_INSTALL_XDEBUG}
- INSTALL_PCOV=${WORKSPACE_INSTALL_PCOV}
- INSTALL_PHPDBG=${WORKSPACE_INSTALL_PHPDBG} - INSTALL_PHPDBG=${WORKSPACE_INSTALL_PHPDBG}
- INSTALL_BLACKFIRE=${INSTALL_BLACKFIRE} - INSTALL_BLACKFIRE=${INSTALL_BLACKFIRE}
- INSTALL_SSH2=${WORKSPACE_INSTALL_SSH2} - INSTALL_SSH2=${WORKSPACE_INSTALL_SSH2}
- INSTALL_GMP=${WORKSPACE_INSTALL_GMP}
- INSTALL_SOAP=${WORKSPACE_INSTALL_SOAP} - INSTALL_SOAP=${WORKSPACE_INSTALL_SOAP}
- INSTALL_XSL=${WORKSPACE_INSTALL_XSL} - INSTALL_XSL=${WORKSPACE_INSTALL_XSL}
- INSTALL_LDAP=${WORKSPACE_INSTALL_LDAP} - INSTALL_LDAP=${WORKSPACE_INSTALL_LDAP}
- INSTALL_SMB=${WORKSPACE_INSTALL_SMB}
- INSTALL_IMAP=${WORKSPACE_INSTALL_IMAP} - INSTALL_IMAP=${WORKSPACE_INSTALL_IMAP}
- INSTALL_MONGO=${WORKSPACE_INSTALL_MONGO} - INSTALL_MONGO=${WORKSPACE_INSTALL_MONGO}
- INSTALL_AMQP=${WORKSPACE_INSTALL_AMQP} - INSTALL_AMQP=${WORKSPACE_INSTALL_AMQP}
- INSTALL_CASSANDRA=${WORKSPACE_INSTALL_CASSANDRA} - INSTALL_CASSANDRA=${WORKSPACE_INSTALL_CASSANDRA}
- INSTALL_GEARMAN=${WORKSPACE_INSTALL_GEARMAN}
- INSTALL_PHPREDIS=${WORKSPACE_INSTALL_PHPREDIS} - INSTALL_PHPREDIS=${WORKSPACE_INSTALL_PHPREDIS}
- INSTALL_MSSQL=${WORKSPACE_INSTALL_MSSQL} - INSTALL_MSSQL=${WORKSPACE_INSTALL_MSSQL}
- NVM_NODEJS_ORG_MIRROR=${WORKSPACE_NVM_NODEJS_ORG_MIRROR}
- INSTALL_NODE=${WORKSPACE_INSTALL_NODE} - INSTALL_NODE=${WORKSPACE_INSTALL_NODE}
- NPM_REGISTRY=${WORKSPACE_NPM_REGISTRY} - NPM_REGISTRY=${WORKSPACE_NPM_REGISTRY}
- INSTALL_PNPM=${WORKSPACE_INSTALL_PNPM}
- INSTALL_YARN=${WORKSPACE_INSTALL_YARN} - INSTALL_YARN=${WORKSPACE_INSTALL_YARN}
- INSTALL_NPM_GULP=${WORKSPACE_INSTALL_NPM_GULP} - INSTALL_NPM_GULP=${WORKSPACE_INSTALL_NPM_GULP}
- INSTALL_NPM_BOWER=${WORKSPACE_INSTALL_NPM_BOWER} - INSTALL_NPM_BOWER=${WORKSPACE_INSTALL_NPM_BOWER}
@ -83,6 +97,7 @@ services:
- INSTALL_WP_CLI=${WORKSPACE_INSTALL_WP_CLI} - INSTALL_WP_CLI=${WORKSPACE_INSTALL_WP_CLI}
- INSTALL_DRUPAL_CONSOLE=${WORKSPACE_INSTALL_DRUPAL_CONSOLE} - INSTALL_DRUPAL_CONSOLE=${WORKSPACE_INSTALL_DRUPAL_CONSOLE}
- INSTALL_AEROSPIKE=${WORKSPACE_INSTALL_AEROSPIKE} - INSTALL_AEROSPIKE=${WORKSPACE_INSTALL_AEROSPIKE}
- INSTALL_OCI8=${WORKSPACE_INSTALL_OCI8}
- INSTALL_V8JS=${WORKSPACE_INSTALL_V8JS} - INSTALL_V8JS=${WORKSPACE_INSTALL_V8JS}
- COMPOSER_GLOBAL_INSTALL=${WORKSPACE_COMPOSER_GLOBAL_INSTALL} - COMPOSER_GLOBAL_INSTALL=${WORKSPACE_COMPOSER_GLOBAL_INSTALL}
- COMPOSER_AUTH=${WORKSPACE_COMPOSER_AUTH} - COMPOSER_AUTH=${WORKSPACE_COMPOSER_AUTH}
@ -109,31 +124,51 @@ services:
- INSTALL_MYSQL_CLIENT=${WORKSPACE_INSTALL_MYSQL_CLIENT} - INSTALL_MYSQL_CLIENT=${WORKSPACE_INSTALL_MYSQL_CLIENT}
- INSTALL_PING=${WORKSPACE_INSTALL_PING} - INSTALL_PING=${WORKSPACE_INSTALL_PING}
- INSTALL_SSHPASS=${WORKSPACE_INSTALL_SSHPASS} - INSTALL_SSHPASS=${WORKSPACE_INSTALL_SSHPASS}
- INSTALL_INOTIFY=${WORKSPACE_INSTALL_INOTIFY}
- INSTALL_FSWATCH=${WORKSPACE_INSTALL_FSWATCH}
- INSTALL_AST=${WORKSPACE_INSTALL_AST}
- INSTALL_YAML=${WORKSPACE_INSTALL_YAML}
- INSTALL_MAILPARSE=${WORKSPACE_INSTALL_MAILPARSE}
- INSTALL_GIT_PROMPT=${WORKSPACE_INSTALL_GIT_PROMPT}
- INSTALL_XMLRPC=${WORKSPACE_INSTALL_XMLRPC}
- PUID=${WORKSPACE_PUID} - PUID=${WORKSPACE_PUID}
- PGID=${WORKSPACE_PGID} - PGID=${WORKSPACE_PGID}
- CHROME_DRIVER_VERSION=${WORKSPACE_CHROME_DRIVER_VERSION} - CHROME_DRIVER_VERSION=${WORKSPACE_CHROME_DRIVER_VERSION}
- NODE_VERSION=${WORKSPACE_NODE_VERSION} - NODE_VERSION=${WORKSPACE_NODE_VERSION}
- YARN_VERSION=${WORKSPACE_YARN_VERSION} - YARN_VERSION=${WORKSPACE_YARN_VERSION}
- DRUSH_VERSION=${WORKSPACE_DRUSH_VERSION} - DRUSH_VERSION=${WORKSPACE_DRUSH_VERSION}
- AST_VERSION=${WORKSPACE_AST_VERSION}
- TZ=${WORKSPACE_TIMEZONE} - TZ=${WORKSPACE_TIMEZONE}
- BLACKFIRE_CLIENT_ID=${BLACKFIRE_CLIENT_ID} - BLACKFIRE_CLIENT_ID=${BLACKFIRE_CLIENT_ID}
- BLACKFIRE_CLIENT_TOKEN=${BLACKFIRE_CLIENT_TOKEN} - BLACKFIRE_CLIENT_TOKEN=${BLACKFIRE_CLIENT_TOKEN}
- INSTALL_POWERLINE=${WORKSPACE_INSTALL_POWERLINE} - INSTALL_POWERLINE=${WORKSPACE_INSTALL_POWERLINE}
- INSTALL_SUPERVISOR=${WORKSPACE_INSTALL_SUPERVISOR}
- INSTALL_FFMPEG=${WORKSPACE_INSTALL_FFMPEG} - INSTALL_FFMPEG=${WORKSPACE_INSTALL_FFMPEG}
- INSTALL_WKHTMLTOPDF=${WORKSPACE_INSTALL_WKHTMLTOPDF}
- INSTALL_GNU_PARALLEL=${WORKSPACE_INSTALL_GNU_PARALLEL} - INSTALL_GNU_PARALLEL=${WORKSPACE_INSTALL_GNU_PARALLEL}
- http_proxy - http_proxy
- https_proxy - https_proxy
- no_proxy - no_proxy
volumes: volumes:
- ${APP_CODE_PATH_HOST}:${APP_CODE_PATH_CONTAINER}${APP_CODE_CONTAINER_FLAG} - ${APP_CODE_PATH_HOST}:${APP_CODE_PATH_CONTAINER}${APP_CODE_CONTAINER_FLAG}
- docker-in-docker:/certs/client
- ./php-worker/supervisord.d:/etc/supervisord.d
extra_hosts: extra_hosts:
- "dockerhost:${DOCKER_HOST_IP}" - "dockerhost:${DOCKER_HOST_IP}"
ports: ports:
- "${WORKSPACE_SSH_PORT}:22" - "${WORKSPACE_SSH_PORT}:22"
- "${WORKSPACE_BROWSERSYNC_HOST_PORT}:3000"
- "${WORKSPACE_BROWSERSYNC_UI_HOST_PORT}:3001"
- "${WORKSPACE_VUE_CLI_SERVE_HOST_PORT}:8080"
- "${WORKSPACE_VUE_CLI_UI_HOST_PORT}:8000"
- "${WORKSPACE_ANGULAR_CLI_SERVE_HOST_PORT}:4200"
tty: true tty: true
environment: environment:
- PHP_IDE_CONFIG=${PHP_IDE_CONFIG} - PHP_IDE_CONFIG=${PHP_IDE_CONFIG}
- DOCKER_HOST=tcp://docker-in-docker:2375 - DOCKER_HOST=tcp://docker-in-docker:2376
- DOCKER_TLS_VERIFY=1
- DOCKER_TLS_CERTDIR=/certs
- DOCKER_CERT_PATH=/certs/client
networks: networks:
- frontend - frontend
- backend - backend
@ -145,26 +180,33 @@ services:
build: build:
context: ./php-fpm context: ./php-fpm
args: args:
- CHANGE_SOURCE=${CHANGE_SOURCE}
- BASE_IMAGE_TAG_PREFIX=${PHP_FPM_BASE_IMAGE_TAG_PREFIX}
- LARADOCK_PHP_VERSION=${PHP_VERSION} - LARADOCK_PHP_VERSION=${PHP_VERSION}
- LARADOCK_PHALCON_VERSION=${PHALCON_VERSION} - LARADOCK_PHALCON_VERSION=${PHALCON_VERSION}
- INSTALL_BZ2=${PHP_FPM_INSTALL_BZ2}
- INSTALL_GMP=${PHP_FPM_INSTALL_GMP}
- INSTALL_XDEBUG=${PHP_FPM_INSTALL_XDEBUG} - INSTALL_XDEBUG=${PHP_FPM_INSTALL_XDEBUG}
- INSTALL_PCOV=${PHP_FPM_INSTALL_PCOV}
- INSTALL_PHPDBG=${PHP_FPM_INSTALL_PHPDBG} - INSTALL_PHPDBG=${PHP_FPM_INSTALL_PHPDBG}
- INSTALL_BLACKFIRE=${INSTALL_BLACKFIRE} - INSTALL_BLACKFIRE=${INSTALL_BLACKFIRE}
- INSTALL_SSH2=${PHP_FPM_INSTALL_SSH2} - INSTALL_SSH2=${PHP_FPM_INSTALL_SSH2}
- INSTALL_SOAP=${PHP_FPM_INSTALL_SOAP} - INSTALL_SOAP=${PHP_FPM_INSTALL_SOAP}
- INSTALL_XSL=${PHP_FPM_INSTALL_XSL} - INSTALL_XSL=${PHP_FPM_INSTALL_XSL}
- INSTALL_SMB=${PHP_FPM_INSTALL_SMB}
- INSTALL_IMAP=${PHP_FPM_INSTALL_IMAP} - INSTALL_IMAP=${PHP_FPM_INSTALL_IMAP}
- INSTALL_MONGO=${PHP_FPM_INSTALL_MONGO} - INSTALL_MONGO=${PHP_FPM_INSTALL_MONGO}
- INSTALL_AMQP=${PHP_FPM_INSTALL_AMQP} - INSTALL_AMQP=${PHP_FPM_INSTALL_AMQP}
- INSTALL_CASSANDRA=${PHP_FPM_INSTALL_CASSANDRA} - INSTALL_CASSANDRA=${PHP_FPM_INSTALL_CASSANDRA}
- INSTALL_GEARMAN=${PHP_FPM_INSTALL_GEARMAN}
- INSTALL_MSSQL=${PHP_FPM_INSTALL_MSSQL} - INSTALL_MSSQL=${PHP_FPM_INSTALL_MSSQL}
- INSTALL_BCMATH=${PHP_FPM_INSTALL_BCMATH} - INSTALL_BCMATH=${PHP_FPM_INSTALL_BCMATH}
- INSTALL_GMP=${PHP_FPM_INSTALL_GMP}
- INSTALL_PHPREDIS=${PHP_FPM_INSTALL_PHPREDIS} - INSTALL_PHPREDIS=${PHP_FPM_INSTALL_PHPREDIS}
- INSTALL_MEMCACHED=${PHP_FPM_INSTALL_MEMCACHED} - INSTALL_MEMCACHED=${PHP_FPM_INSTALL_MEMCACHED}
- INSTALL_OPCACHE=${PHP_FPM_INSTALL_OPCACHE} - INSTALL_OPCACHE=${PHP_FPM_INSTALL_OPCACHE}
- INSTALL_EXIF=${PHP_FPM_INSTALL_EXIF} - INSTALL_EXIF=${PHP_FPM_INSTALL_EXIF}
- INSTALL_AEROSPIKE=${PHP_FPM_INSTALL_AEROSPIKE} - INSTALL_AEROSPIKE=${PHP_FPM_INSTALL_AEROSPIKE}
- INSTALL_OCI8=${PHP_FPM_INSTALL_OCI8}
- INSTALL_MYSQLI=${PHP_FPM_INSTALL_MYSQLI} - INSTALL_MYSQLI=${PHP_FPM_INSTALL_MYSQLI}
- INSTALL_PGSQL=${PHP_FPM_INSTALL_PGSQL} - INSTALL_PGSQL=${PHP_FPM_INSTALL_PGSQL}
- INSTALL_PG_CLIENT=${PHP_FPM_INSTALL_PG_CLIENT} - INSTALL_PG_CLIENT=${PHP_FPM_INSTALL_PG_CLIENT}
@ -181,28 +223,41 @@ services:
- INSTALL_FAKETIME=${PHP_FPM_INSTALL_FAKETIME} - INSTALL_FAKETIME=${PHP_FPM_INSTALL_FAKETIME}
- INSTALL_IONCUBE=${PHP_FPM_INSTALL_IONCUBE} - INSTALL_IONCUBE=${PHP_FPM_INSTALL_IONCUBE}
- INSTALL_APCU=${PHP_FPM_INSTALL_APCU} - INSTALL_APCU=${PHP_FPM_INSTALL_APCU}
- INSTALL_CACHETOOL=${PHP_FPM_INSTALL_CACHETOOL}
- INSTALL_YAML=${PHP_FPM_INSTALL_YAML} - INSTALL_YAML=${PHP_FPM_INSTALL_YAML}
- INSTALL_RDKAFKA=${PHP_FPM_INSTALL_RDKAFKA} - INSTALL_RDKAFKA=${PHP_FPM_INSTALL_RDKAFKA}
- INSTALL_GETTEXT=${PHP_FPM_INSTALL_GETTEXT}
- INSTALL_ADDITIONAL_LOCALES=${PHP_FPM_INSTALL_ADDITIONAL_LOCALES} - INSTALL_ADDITIONAL_LOCALES=${PHP_FPM_INSTALL_ADDITIONAL_LOCALES}
- INSTALL_MYSQL_CLIENT=${PHP_FPM_INSTALL_MYSQL_CLIENT} - INSTALL_MYSQL_CLIENT=${PHP_FPM_INSTALL_MYSQL_CLIENT}
- INSTALL_PING=${PHP_FPM_INSTALL_PING} - INSTALL_PING=${PHP_FPM_INSTALL_PING}
- INSTALL_SSHPASS=${PHP_FPM_INSTALL_SSHPASS} - INSTALL_SSHPASS=${PHP_FPM_INSTALL_SSHPASS}
- INSTALL_MAILPARSE=${PHP_FPM_INSTALL_MAILPARSE}
- INSTALL_PCNTL=${PHP_FPM_INSTALL_PCNTL}
- ADDITIONAL_LOCALES=${PHP_FPM_ADDITIONAL_LOCALES} - ADDITIONAL_LOCALES=${PHP_FPM_ADDITIONAL_LOCALES}
- INSTALL_FFMPEG=${PHP_FPM_FFMPEG} - INSTALL_FFMPEG=${PHP_FPM_FFMPEG}
- INSTALL_WKHTMLTOPDF=${PHP_FPM_INSTALL_WKHTMLTOPDF}
- INSTALL_XHPROF=${PHP_FPM_INSTALL_XHPROF} - INSTALL_XHPROF=${PHP_FPM_INSTALL_XHPROF}
- INSTALL_XMLRPC=${PHP_FPM_INSTALL_XMLRPC}
- PUID=${PHP_FPM_PUID}
- PGID=${PHP_FPM_PGID}
- LOCALE=${PHP_FPM_DEFAULT_LOCALE}
- http_proxy - http_proxy
- https_proxy - https_proxy
- no_proxy - no_proxy
volumes: volumes:
- ./php-fpm/php${PHP_VERSION}.ini:/usr/local/etc/php/php.ini - ./php-fpm/php${PHP_VERSION}.ini:/usr/local/etc/php/php.ini
- ${APP_CODE_PATH_HOST}:${APP_CODE_PATH_CONTAINER}${APP_CODE_CONTAINER_FLAG} - ${APP_CODE_PATH_HOST}:${APP_CODE_PATH_CONTAINER}${APP_CODE_CONTAINER_FLAG}
- docker-in-docker:/certs/client
expose: expose:
- "9000" - "9000"
extra_hosts: extra_hosts:
- "dockerhost:${DOCKER_HOST_IP}" - "dockerhost:${DOCKER_HOST_IP}"
environment: environment:
- PHP_IDE_CONFIG=${PHP_IDE_CONFIG} - PHP_IDE_CONFIG=${PHP_IDE_CONFIG}
- DOCKER_HOST=tcp://docker-in-docker:2375 - DOCKER_HOST=tcp://docker-in-docker:2376
- DOCKER_TLS_VERIFY=1
- DOCKER_TLS_CERTDIR=/certs
- DOCKER_CERT_PATH=/certs/client
- FAKETIME=${PHP_FPM_FAKETIME} - FAKETIME=${PHP_FPM_FAKETIME}
depends_on: depends_on:
- workspace - workspace
@ -216,21 +271,30 @@ services:
build: build:
context: ./php-worker context: ./php-worker
args: args:
- PHP_VERSION=${PHP_VERSION} - CHANGE_SOURCE=${CHANGE_SOURCE}
- LARADOCK_PHP_VERSION=${PHP_VERSION}
- PHALCON_VERSION=${PHALCON_VERSION} - PHALCON_VERSION=${PHALCON_VERSION}
- INSTALL_BZ2=${PHP_WORKER_INSTALL_BZ2}
- INSTALL_GD=${PHP_WORKER_INSTALL_GD}
- INSTALL_IMAGEMAGICK=${PHP_WORKER_INSTALL_IMAGEMAGICK}
- INSTALL_GMP=${PHP_WORKER_INSTALL_GMP}
- INSTALL_PGSQL=${PHP_WORKER_INSTALL_PGSQL} - INSTALL_PGSQL=${PHP_WORKER_INSTALL_PGSQL}
- INSTALL_BCMATH=${PHP_WORKER_INSTALL_BCMATH} - INSTALL_BCMATH=${PHP_WORKER_INSTALL_BCMATH}
- INSTALL_OCI8=${PHP_WORKER_INSTALL_OCI8}
- INSTALL_PHALCON=${PHP_WORKER_INSTALL_PHALCON} - INSTALL_PHALCON=${PHP_WORKER_INSTALL_PHALCON}
- INSTALL_SOAP=${PHP_WORKER_INSTALL_SOAP} - INSTALL_SOAP=${PHP_WORKER_INSTALL_SOAP}
- INSTALL_ZIP_ARCHIVE=${PHP_WORKER_INSTALL_ZIP_ARCHIVE} - INSTALL_ZIP_ARCHIVE=${PHP_WORKER_INSTALL_ZIP_ARCHIVE}
- INSTALL_MYSQL_CLIENT=${PHP_WORKER_INSTALL_MYSQL_CLIENT} - INSTALL_MYSQL_CLIENT=${PHP_WORKER_INSTALL_MYSQL_CLIENT}
- INSTALL_AMQP=${PHP_WORKER_INSTALL_AMQP} - INSTALL_AMQP=${PHP_WORKER_INSTALL_AMQP}
- INSTALL_CASSANDRA=${PHP_WORKER_INSTALL_CASSANDRA} - INSTALL_CASSANDRA=${PHP_WORKER_INSTALL_CASSANDRA}
- INSTALL_GEARMAN=${PHP_WORKER_INSTALL_GEARMAN}
- INSTALL_GHOSTSCRIPT=${PHP_WORKER_INSTALL_GHOSTSCRIPT} - INSTALL_GHOSTSCRIPT=${PHP_WORKER_INSTALL_GHOSTSCRIPT}
- INSTALL_SWOOLE=${PHP_WORKER_INSTALL_SWOOLE} - INSTALL_SWOOLE=${PHP_WORKER_INSTALL_SWOOLE}
- INSTALL_TAINT=${PHP_WORKER_INSTALL_TAINT} - INSTALL_TAINT=${PHP_WORKER_INSTALL_TAINT}
- INSTALL_FFMPEG=${PHP_WORKER_INSTALL_FFMPEG} - INSTALL_FFMPEG=${PHP_WORKER_INSTALL_FFMPEG}
- INSTALL_GMP=${PHP_WORKER_INSTALL_GMP} - INSTALL_REDIS=${PHP_WORKER_INSTALL_REDIS}
- INSTALL_IMAP=${PHP_WORKER_INSTALL_IMAP}
- INSTALL_XMLRPC=${PHP_WORKER_INSTALL_XMLRPC}
- PUID=${PHP_WORKER_PUID} - PUID=${PHP_WORKER_PUID}
- PGID=${PHP_WORKER_PGID} - PGID=${PHP_WORKER_PGID}
volumes: volumes:
@ -247,12 +311,24 @@ services:
build: build:
context: ./laravel-horizon context: ./laravel-horizon
args: args:
- PHP_VERSION=${PHP_VERSION} - CHANGE_SOURCE=${CHANGE_SOURCE}
- LARADOCK_PHP_VERSION=${PHP_VERSION}
- INSTALL_BZ2=${LARAVEL_HORIZON_INSTALL_BZ2}
- INSTALL_GD=${LARAVEL_HORIZON_INSTALL_GD}
- INSTALL_GMP=${LARAVEL_HORIZON_INSTALL_GMP}
- INSTALL_IMAGEMAGICK=${LARAVEL_HORIZON_INSTALL_IMAGEMAGICK}
- INSTALL_PGSQL=${PHP_FPM_INSTALL_PGSQL} - INSTALL_PGSQL=${PHP_FPM_INSTALL_PGSQL}
- INSTALL_ZIP_ARCHIVE=${LARAVEL_HORIZON_INSTALL_ZIP_ARCHIVE}
- INSTALL_BCMATH=${PHP_FPM_INSTALL_BCMATH} - INSTALL_BCMATH=${PHP_FPM_INSTALL_BCMATH}
- INSTALL_MEMCACHED=${PHP_FPM_INSTALL_MEMCACHED} - INSTALL_MEMCACHED=${PHP_FPM_INSTALL_MEMCACHED}
- INSTALL_SOCKETS=${LARAVEL_HORIZON_INSTALL_SOCKETS} - INSTALL_SOCKETS=${LARAVEL_HORIZON_INSTALL_SOCKETS}
- INSTALL_YAML=${LARAVEL_HORIZON_INSTALL_YAML}
- INSTALL_CASSANDRA=${PHP_FPM_INSTALL_CASSANDRA} - INSTALL_CASSANDRA=${PHP_FPM_INSTALL_CASSANDRA}
- INSTALL_PHPREDIS=${LARAVEL_HORIZON_INSTALL_PHPREDIS}
- INSTALL_MONGO=${LARAVEL_HORIZON_INSTALL_MONGO}
- INSTALL_FFMPEG=${LARAVEL_HORIZON_INSTALL_FFMPEG}
- PUID=${LARAVEL_HORIZON_PUID}
- PGID=${LARAVEL_HORIZON_PGID}
volumes: volumes:
- ${APP_CODE_PATH_HOST}:${APP_CODE_PATH_CONTAINER} - ${APP_CODE_PATH_HOST}:${APP_CODE_PATH_CONTAINER}
- ./laravel-horizon/supervisord.d:/etc/supervisord.d - ./laravel-horizon/supervisord.d:/etc/supervisord.d
@ -268,9 +344,9 @@ services:
build: build:
context: ./nginx context: ./nginx
args: args:
- CHANGE_SOURCE=${CHANGE_SOURCE}
- PHP_UPSTREAM_CONTAINER=${NGINX_PHP_UPSTREAM_CONTAINER} - PHP_UPSTREAM_CONTAINER=${NGINX_PHP_UPSTREAM_CONTAINER}
- PHP_UPSTREAM_PORT=${NGINX_PHP_UPSTREAM_PORT} - PHP_UPSTREAM_PORT=${NGINX_PHP_UPSTREAM_PORT}
- CHANGE_SOURCE=${CHANGE_SOURCE}
- http_proxy - http_proxy
- https_proxy - https_proxy
- no_proxy - no_proxy
@ -282,6 +358,7 @@ services:
ports: ports:
- "${NGINX_HOST_HTTP_PORT}:80" - "${NGINX_HOST_HTTP_PORT}:80"
- "${NGINX_HOST_HTTPS_PORT}:443" - "${NGINX_HOST_HTTPS_PORT}:443"
- "${VARNISH_BACKEND_PORT}:81"
depends_on: depends_on:
- php-fpm - php-fpm
networks: networks:
@ -391,6 +468,7 @@ services:
build: build:
context: ./mssql context: ./mssql
environment: environment:
- MSSQL_PID=Express
- MSSQL_DATABASE=${MSSQL_DATABASE} - MSSQL_DATABASE=${MSSQL_DATABASE}
- SA_PASSWORD=${MSSQL_PASSWORD} - SA_PASSWORD=${MSSQL_PASSWORD}
- ACCEPT_EULA=Y - ACCEPT_EULA=Y
@ -426,7 +504,10 @@ services:
### PostgreSQL ########################################### ### PostgreSQL ###########################################
postgres: postgres:
build: ./postgres build:
context: ./postgres
args:
- POSTGRES_VERSION=${POSTGRES_VERSION}
volumes: volumes:
- ${DATA_PATH_HOST}/postgres:/var/lib/postgresql/data - ${DATA_PATH_HOST}/postgres:/var/lib/postgresql/data
- ${POSTGRES_ENTRYPOINT_INITDB}:/docker-entrypoint-initdb.d - ${POSTGRES_ENTRYPOINT_INITDB}:/docker-entrypoint-initdb.d
@ -489,6 +570,7 @@ services:
- "${MONGODB_PORT}:27017" - "${MONGODB_PORT}:27017"
volumes: volumes:
- ${DATA_PATH_HOST}/mongo:/data/db - ${DATA_PATH_HOST}/mongo:/data/db
- ${DATA_PATH_HOST}/mongo_config:/data/configdb
networks: networks:
- backend - backend
@ -623,6 +705,39 @@ services:
networks: networks:
- backend - backend
### Gearman ############################################
gearman:
build: ./gearman
ports:
- "${GEARMAN_PORT}:4730"
privileged: true
environment:
- GEARMAN_VERSION=${GEARMAN_VERSION}
- GEARMAN_VERBOSE=${GEARMAN_VERBOSE}
- GEARMAN_QUEUE_TYPE=${GEARMAN_QUEUE_TYPE}
- GEARMAN_THREADS=${GEARMAN_THREADS}
- GEARMAN_BACKLOG=${GEARMAN_BACKLOG}
- GEARMAN_FILE_DESCRIPTORS=${GEARMAN_FILE_DESCRIPTORS}
- GEARMAN_JOB_RETRIES=${GEARMAN_JOB_RETRIES}
- GEARMAN_ROUND_ROBIN=${GEARMAN_ROUND_ROBIN}
- GEARMAN_WORKER_WAKEUP=${GEARMAN_WORKER_WAKEUP}
- GEARMAN_KEEPALIVE=${GEARMAN_KEEPALIVE}
- GEARMAN_KEEPALIVE_IDLE=${GEARMAN_KEEPALIVE_IDLE}
- GEARMAN_KEEPALIVE_INTERVAL=${GEARMAN_KEEPALIVE_INTERVAL}
- GEARMAN_KEEPALIVE_COUNT=${GEARMAN_KEEPALIVE_COUNT}
- GEARMAN_MYSQL_HOST=${GEARMAN_MYSQL_HOST}
- GEARMAN_MYSQL_PORT=${GEARMAN_MYSQL_PORT}
- GEARMAN_MYSQL_USER=${GEARMAN_MYSQL_USER}
- GEARMAN_MYSQL_PASSWORD=${GEARMAN_MYSQL_PASSWORD}
- GEARMAN_MYSQL_PASSWORD_FILE=${GEARMAN_MYSQL_PASSWORD_FILE}
- GEARMAN_MYSQL_DB=${GEARMAN_MYSQL_DB}
- GEARMAN_MYSQL_TABLE=${GEARMAN_MYSQL_TABLE}
hostname: laradock-gearman
depends_on:
- php-fpm
networks:
- backend
### Beanstalkd Console ################################### ### Beanstalkd Console ###################################
beanstalkd-console: beanstalkd-console:
build: ./beanstalkd-console build: ./beanstalkd-console
@ -698,7 +813,10 @@ services:
### ElasticSearch ######################################## ### ElasticSearch ########################################
elasticsearch: elasticsearch:
build: ./elasticsearch build:
context: ./elasticsearch
args:
- ELK_VERSION=${ELK_VERSION}
volumes: volumes:
- elasticsearch:/usr/share/elasticsearch/data - elasticsearch:/usr/share/elasticsearch/data
environment: environment:
@ -711,6 +829,9 @@ services:
memlock: memlock:
soft: -1 soft: -1
hard: -1 hard: -1
nofile:
soft: 65536
hard: 65536
ports: ports:
- "${ELASTICSEARCH_HOST_HTTP_PORT}:9200" - "${ELASTICSEARCH_HOST_HTTP_PORT}:9200"
- "${ELASTICSEARCH_HOST_TRANSPORT_PORT}:9300" - "${ELASTICSEARCH_HOST_TRANSPORT_PORT}:9300"
@ -722,7 +843,10 @@ services:
### Logstash ############################################## ### Logstash ##############################################
logstash: logstash:
build: ./logstash build:
context: ./logstash
args:
- ELK_VERSION=${ELK_VERSION}
volumes: volumes:
- './logstash/config/logstash.yml:/usr/share/logstash/config/logstash.yml' - './logstash/config/logstash.yml:/usr/share/logstash/config/logstash.yml'
- './logstash/pipeline:/usr/share/logstash/pipeline' - './logstash/pipeline:/usr/share/logstash/pipeline'
@ -740,7 +864,10 @@ services:
### Kibana ############################################## ### Kibana ##############################################
kibana: kibana:
build: ./kibana build:
context: ./kibana
args:
- ELK_VERSION=${ELK_VERSION}
ports: ports:
- "${KIBANA_HTTP_PORT}:5601" - "${KIBANA_HTTP_PORT}:5601"
depends_on: depends_on:
@ -794,6 +921,7 @@ services:
### Varnish ########################################## ### Varnish ##########################################
proxy: proxy:
container_name: proxy
build: ./varnish build: ./varnish
expose: expose:
- ${VARNISH_PORT} - ${VARNISH_PORT}
@ -805,12 +933,15 @@ services:
- BACKEND_HOST=${VARNISH_PROXY1_BACKEND_HOST} - BACKEND_HOST=${VARNISH_PROXY1_BACKEND_HOST}
- BACKEND_PORT=${VARNISH_BACKEND_PORT} - BACKEND_PORT=${VARNISH_BACKEND_PORT}
- VARNISH_SERVER=${VARNISH_PROXY1_SERVER} - VARNISH_SERVER=${VARNISH_PROXY1_SERVER}
ports:
- "${VARNISH_PORT}:${VARNISH_PORT}"
links: links:
- workspace - workspace
networks: networks:
- frontend - frontend
proxy2: proxy2:
container_name: proxy2
build: ./varnish build: ./varnish
expose: expose:
- ${VARNISH_PORT} - ${VARNISH_PORT}
@ -822,6 +953,8 @@ services:
- BACKEND_HOST=${VARNISH_PROXY2_BACKEND_HOST} - BACKEND_HOST=${VARNISH_PROXY2_BACKEND_HOST}
- BACKEND_PORT=${VARNISH_BACKEND_PORT} - BACKEND_PORT=${VARNISH_BACKEND_PORT}
- VARNISH_SERVER=${VARNISH_PROXY2_SERVER} - VARNISH_SERVER=${VARNISH_PROXY2_SERVER}
ports:
- "${VARNISH_PORT}:${VARNISH_PORT}"
links: links:
- workspace - workspace
networks: networks:
@ -889,9 +1022,9 @@ services:
- ${GRAYLOG_GELF_TCP_PORT}:12201 - ${GRAYLOG_GELF_TCP_PORT}:12201
# GELF UDP # GELF UDP
- ${GRAYLOG_GELF_UDP_PORT}:12201/udp - ${GRAYLOG_GELF_UDP_PORT}:12201/udp
user: root user: graylog
volumes: volumes:
- ./graylog/config:/usr/share/graylog/data/config - ${DATA_PATH_HOST}/graylog:/usr/share/graylog/data
networks: networks:
- backend - backend
@ -1167,10 +1300,13 @@ services:
### Docker-in-Docker ################################################ ### Docker-in-Docker ################################################
docker-in-docker: docker-in-docker:
image: docker:dind image: docker:19.03-dind
environment:
DOCKER_TLS_SAN: DNS:docker-in-docker
privileged: true privileged: true
volumes: volumes:
- ${APP_CODE_PATH_HOST}:${APP_CODE_PATH_CONTAINER} - ${APP_CODE_PATH_HOST}:${APP_CODE_PATH_CONTAINER}
- docker-in-docker:/certs/client
expose: expose:
- 2375 - 2375
networks: networks:
@ -1178,11 +1314,13 @@ services:
### NetData ################################################ ### NetData ################################################
netdata: netdata:
image: titpetric/netdata:latest image: netdata/netdata:latest
cap_add: cap_add:
- SYS_PTRACE - SYS_PTRACE
volumes: volumes:
- /:/host:ro - /proc:/host/proc:ro
- /sys:/host/sys:ro
- /var/run/docker.sock:/var/run/docker.sock:ro
ports: ports:
- "${NETDATA_PORT}:19999" - "${NETDATA_PORT}:19999"
networks: networks:
@ -1487,19 +1625,38 @@ services:
traefik: traefik:
build: build:
context: ./traefik context: ./traefik
command: --docker
volumes: volumes:
- /var/run/docker.sock:/var/run/docker.sock - /var/run/docker.sock:/var/run/docker.sock
- ./traefik/data:/data
command:
- "--api"
- "--providers.docker.exposedbydefault=false"
- "--accesslog.filepath=/data/access.log"
# entrypoints
- "--entrypoints.http.address=:${TRAEFIK_HOST_HTTP_PORT}"
- "--entrypoints.http.http.redirections.entrypoint.to=https"
- "--entrypoints.https.address=:${TRAEFIK_HOST_HTTPS_PORT}"
- "--entrypoints.traefik.address=:${TRAEFIK_DASHBOARD_PORT}"
# certificatesresolvers
- "--certificatesresolvers.letsencrypt.acme.email=${ACME_EMAIL}"
- "--certificatesresolvers.letsencrypt.acme.storage=/data/acme.json"
- "--certificatesresolvers.letsencrypt.acme.httpchallenge.entrypoint=http"
ports: ports:
- "${TRAEFIK_HOST_HTTP_PORT}:80" - "${TRAEFIK_HOST_HTTP_PORT}:${TRAEFIK_HOST_HTTP_PORT}"
- "${TRAEFIK_HOST_HTTPS_PORT}:443" - "${TRAEFIK_HOST_HTTPS_PORT}:${TRAEFIK_HOST_HTTPS_PORT}"
- "${TRAEFIK_DASHBOARD_PORT}:${TRAEFIK_DASHBOARD_PORT}"
networks: networks:
- frontend - frontend
- backend - backend
labels: labels:
- traefik.backend=traefik - "traefik.enable=true"
- traefik.frontend.rule=Host:monitor.localhost - "traefik.http.routers.traefik.rule=Host(`${ACME_DOMAIN}`)"
- traefik.port=8080 - "traefik.http.routers.traefik.entrypoints=traefik"
- "traefik.http.routers.traefik.service=api@internal"
- "traefik.http.routers.traefik.middlewares=access-auth"
- "traefik.http.routers.traefik.tls.certresolver=letsencrypt"
- "traefik.http.middlewares.access-auth.basicauth.realm=Login Required"
- "traefik.http.middlewares.access-auth.basicauth.users=${TRAEFIK_DASHBOARD_USER}"
### MOSQUITTO Broker ######################################### ### MOSQUITTO Broker #########################################
mosquitto: mosquitto:
@ -1531,7 +1688,7 @@ services:
volumes: volumes:
- ${MANTICORE_CONFIG_PATH}:/etc/sphinxsearch - ${MANTICORE_CONFIG_PATH}:/etc/sphinxsearch
- ${DATA_PATH_HOST}/manticore/data:/var/lib/manticore/data - ${DATA_PATH_HOST}/manticore/data:/var/lib/manticore/data
- ${DATA_PATH_HOST}/manticore/log:/var/lib/manticore/log - ${DATA_PATH_HOST}/manticore/log:/var/log/manticore
ports: ports:
- "${MANTICORE_API_PORT}:9312" - "${MANTICORE_API_PORT}:9312"
- "${MANTICORE_SPHINXQL_PORT}:9306" - "${MANTICORE_SPHINXQL_PORT}:9306"
@ -1561,6 +1718,7 @@ services:
networks: networks:
- backend - backend
- frontend - frontend
### CONFLUENCE ################################################ ### CONFLUENCE ################################################
confluence: confluence:
container_name: Confluence container_name: Confluence
@ -1575,3 +1733,18 @@ services:
- postgres - postgres
volumes: volumes:
- ${DATA_PATH_HOST}/Confluence:/var/atlassian/application-data - ${DATA_PATH_HOST}/Confluence:/var/atlassian/application-data
### tomcat ####################################################
tomcat:
container_name: tomcat
image: tomcat:${TOMCAT_VERSION}
ports:
- "${TOMCAT_HOST_HTTP_PORT}:8080"
networks:
- frontend
- backend
volumes:
- ${DATA_PATH_HOST}/tomcat/webapps:/usr/local/tomcat/webapps
- ${DATA_PATH_HOST}/tomcat/logs:/usr/local/tomcat/logs
# restart: always

View File

@ -1,3 +1,4 @@
FROM docker.elastic.co/elasticsearch/elasticsearch:7.1.1 ARG ELK_VERSION=7.5.1
FROM docker.elastic.co/elasticsearch/elasticsearch:${ELK_VERSION}
EXPOSE 9200 9300 EXPOSE 9200 9300

View File

@ -32,18 +32,19 @@ COMPOSE_FILE=docker-compose.yml
# Change the separator from : to ; on Windows # Change the separator from : to ; on Windows
COMPOSE_PATH_SEPARATOR=: COMPOSE_PATH_SEPARATOR=:
# Define the prefix of container names. This is useful if you have multiple projects that use laradock to have seperate containers per project. # Define the prefix of container names. This is useful if you have multiple projects that use laradock to have separate containers per project.
COMPOSE_PROJECT_NAME=laradock COMPOSE_PROJECT_NAME=laradock
### PHP Version ########################################### ### PHP Version ###########################################
# Select a PHP version of the Workspace and PHP-FPM containers (Does not apply to HHVM). Accepted values: 7.3 - 7.2 - 7.1 - 7.0 - 5.6 # Select a PHP version of the Workspace and PHP-FPM containers (Does not apply to HHVM).
# Accepted values: 7.4 - 7.3 - 7.2 - 7.1 - 7.0 - 5.6
PHP_VERSION=7.3 PHP_VERSION=7.3
### Phalcon Version ########################################### ### Phalcon Version ###########################################
# Select a Phalcon version of the Workspace and PHP-FPM containers (Does not apply to HHVM). Accepted values: 3.4.0+ # Select a Phalcon version of the Workspace and PHP-FPM containers (Does not apply to HHVM). Accepted values: 3.4.0+
PHALCON_VERSION=3.4.1 PHALCON_VERSION=4.0.5
### PHP Interpreter ####################################### ### PHP Interpreter #######################################
@ -69,24 +70,35 @@ COMPOSE_CONVERT_WINDOWS_PATHS=1
# If you need to change the sources (i.e. to China), set CHANGE_SOURCE to true # If you need to change the sources (i.e. to China), set CHANGE_SOURCE to true
CHANGE_SOURCE=false CHANGE_SOURCE=false
# Set CHANGE_SOURCE and UBUNTU_SOURCE option if you want to change the Ubuntu system sources.list file.
UBUNTU_SOURCE=aliyun
### Docker Sync ########################################### ### Docker Sync ###########################################
# If you are using Docker Sync. For `osx` use 'native_osx', for `windows` use 'unison', for `linux` docker-sync is not required # If you are using Docker Sync. For `osx` use 'native_osx', for `windows` use 'unison', for `linux` docker-sync is not required
DOCKER_SYNC_STRATEGY=native_osx DOCKER_SYNC_STRATEGY=native_osx
### Install Oh My ZSH! ####################################
# If you want to use "Oh My ZSH!" with Laravel autocomplete plugin, set SHELL_OH_MY_ZSH to true.
SHELL_OH_MY_ZSH=false
########################################################### ###########################################################
################ Containers Customization ################# ################ Containers Customization #################
########################################################### ###########################################################
### WORKSPACE ############################################# ### WORKSPACE #############################################
WORKSPACE_BASE_IMAGE_TAG_PREFIX=latest
WORKSPACE_COMPOSER_GLOBAL_INSTALL=true WORKSPACE_COMPOSER_GLOBAL_INSTALL=true
WORKSPACE_COMPOSER_AUTH=false WORKSPACE_COMPOSER_AUTH=false
WORKSPACE_COMPOSER_REPO_PACKAGIST= WORKSPACE_COMPOSER_REPO_PACKAGIST=
WORKSPACE_NVM_NODEJS_ORG_MIRROR=
WORKSPACE_INSTALL_NODE=true WORKSPACE_INSTALL_NODE=true
WORKSPACE_NODE_VERSION=node WORKSPACE_NODE_VERSION=node
WORKSPACE_NPM_REGISTRY= WORKSPACE_NPM_REGISTRY=
WORKSPACE_INSTALL_PNPM=false
WORKSPACE_INSTALL_YARN=true WORKSPACE_INSTALL_YARN=true
WORKSPACE_YARN_VERSION=latest WORKSPACE_YARN_VERSION=latest
WORKSPACE_INSTALL_NPM_GULP=true WORKSPACE_INSTALL_NPM_GULP=true
@ -96,23 +108,28 @@ WORKSPACE_INSTALL_NPM_ANGULAR_CLI=false
WORKSPACE_INSTALL_PHPREDIS=true WORKSPACE_INSTALL_PHPREDIS=true
WORKSPACE_INSTALL_WORKSPACE_SSH=false WORKSPACE_INSTALL_WORKSPACE_SSH=false
WORKSPACE_INSTALL_SUBVERSION=false WORKSPACE_INSTALL_SUBVERSION=false
WORKSPACE_INSTALL_BZ2=false
WORKSPACE_INSTALL_GMP=false
WORKSPACE_INSTALL_XDEBUG=false WORKSPACE_INSTALL_XDEBUG=false
WORKSPACE_INSTALL_PCOV=false
WORKSPACE_INSTALL_PHPDBG=false WORKSPACE_INSTALL_PHPDBG=false
WORKSPACE_INSTALL_SSH2=false WORKSPACE_INSTALL_SSH2=false
WORKSPACE_INSTALL_LDAP=false WORKSPACE_INSTALL_LDAP=false
WORKSPACE_INSTALL_GMP=false
WORKSPACE_INSTALL_SOAP=false WORKSPACE_INSTALL_SOAP=false
WORKSPACE_INSTALL_XSL=false WORKSPACE_INSTALL_XSL=false
WORKSPACE_INSTALL_SMB=false
WORKSPACE_INSTALL_IMAP=false WORKSPACE_INSTALL_IMAP=false
WORKSPACE_INSTALL_MONGO=false WORKSPACE_INSTALL_MONGO=false
WORKSPACE_INSTALL_AMQP=false WORKSPACE_INSTALL_AMQP=false
WORKSPACE_INSTALL_CASSANDRA=false WORKSPACE_INSTALL_CASSANDRA=false
WORKSPACE_INSTALL_GEARMAN=false
WORKSPACE_INSTALL_MSSQL=false WORKSPACE_INSTALL_MSSQL=false
WORKSPACE_INSTALL_DRUSH=false WORKSPACE_INSTALL_DRUSH=false
WORKSPACE_DRUSH_VERSION=8.1.17 WORKSPACE_DRUSH_VERSION=8.1.17
WORKSPACE_INSTALL_DRUPAL_CONSOLE=false WORKSPACE_INSTALL_DRUPAL_CONSOLE=false
WORKSPACE_INSTALL_WP_CLI=false WORKSPACE_INSTALL_WP_CLI=false
WORKSPACE_INSTALL_AEROSPIKE=false WORKSPACE_INSTALL_AEROSPIKE=false
WORKSPACE_INSTALL_OCI8=false
WORKSPACE_INSTALL_V8JS=false WORKSPACE_INSTALL_V8JS=false
WORKSPACE_INSTALL_LARAVEL_ENVOY=false WORKSPACE_INSTALL_LARAVEL_ENVOY=false
WORKSPACE_INSTALL_LARAVEL_INSTALLER=false WORKSPACE_INSTALL_LARAVEL_INSTALLER=false
@ -123,6 +140,7 @@ WORKSPACE_INSTALL_MC=false
WORKSPACE_INSTALL_SYMFONY=false WORKSPACE_INSTALL_SYMFONY=false
WORKSPACE_INSTALL_PYTHON=false WORKSPACE_INSTALL_PYTHON=false
WORKSPACE_INSTALL_POWERLINE=false WORKSPACE_INSTALL_POWERLINE=false
WORKSPACE_INSTALL_SUPERVISOR=false
WORKSPACE_INSTALL_IMAGE_OPTIMIZERS=false WORKSPACE_INSTALL_IMAGE_OPTIMIZERS=false
WORKSPACE_INSTALL_IMAGEMAGICK=false WORKSPACE_INSTALL_IMAGEMAGICK=false
WORKSPACE_INSTALL_TERRAFORM=false WORKSPACE_INSTALL_TERRAFORM=false
@ -138,16 +156,29 @@ WORKSPACE_INSTALL_PING=false
WORKSPACE_INSTALL_SSHPASS=false WORKSPACE_INSTALL_SSHPASS=false
WORKSPACE_INSTALL_INOTIFY=false WORKSPACE_INSTALL_INOTIFY=false
WORKSPACE_INSTALL_FSWATCH=false WORKSPACE_INSTALL_FSWATCH=false
WORKSPACE_INSTALL_YAML=false
WORKSPACE_INSTALL_MAILPARSE=false
WORKSPACE_INSTALL_XMLRPC=false
WORKSPACE_PUID=1000 WORKSPACE_PUID=1000
WORKSPACE_PGID=1000 WORKSPACE_PGID=1000
WORKSPACE_CHROME_DRIVER_VERSION=2.42 WORKSPACE_CHROME_DRIVER_VERSION=2.42
WORKSPACE_TIMEZONE=UTC WORKSPACE_TIMEZONE=UTC
WORKSPACE_SSH_PORT=2222 WORKSPACE_SSH_PORT=2222
WORKSPACE_INSTALL_FFMPEG=false WORKSPACE_INSTALL_FFMPEG=false
WORKSPACE_INSTALL_WKHTMLTOPDF=false
WORKSPACE_INSTALL_GNU_PARALLEL=false WORKSPACE_INSTALL_GNU_PARALLEL=false
WORKSPACE_INSTALL_AST=true
WORKSPACE_AST_VERSION=1.0.3
WORKSPACE_BROWSERSYNC_HOST_PORT=3000
WORKSPACE_BROWSERSYNC_UI_HOST_PORT=3001
WORKSPACE_VUE_CLI_SERVE_HOST_PORT=8080
WORKSPACE_VUE_CLI_UI_HOST_PORT=8001
WORKSPACE_ANGULAR_CLI_SERVE_HOST_PORT=4200
WORKSPACE_INSTALL_GIT_PROMPT=false
### PHP_FPM ############################################### ### PHP_FPM ###############################################
PHP_FPM_BASE_IMAGE_TAG_PREFIX=latest
PHP_FPM_INSTALL_BCMATH=true PHP_FPM_INSTALL_BCMATH=true
PHP_FPM_INSTALL_MYSQLI=true PHP_FPM_INSTALL_MYSQLI=true
PHP_FPM_INSTALL_INTL=true PHP_FPM_INSTALL_INTL=true
@ -156,20 +187,25 @@ PHP_FPM_INSTALL_OPCACHE=true
PHP_FPM_INSTALL_IMAGE_OPTIMIZERS=true PHP_FPM_INSTALL_IMAGE_OPTIMIZERS=true
PHP_FPM_INSTALL_PHPREDIS=true PHP_FPM_INSTALL_PHPREDIS=true
PHP_FPM_INSTALL_MEMCACHED=false PHP_FPM_INSTALL_MEMCACHED=false
PHP_FPM_INSTALL_BZ2=false
PHP_FPM_INSTALL_GMP=false
PHP_FPM_INSTALL_XDEBUG=false PHP_FPM_INSTALL_XDEBUG=false
PHP_FPM_INSTALL_PCOV=false
PHP_FPM_INSTALL_XHPROF=false PHP_FPM_INSTALL_XHPROF=false
PHP_FPM_INSTALL_PHPDBG=false PHP_FPM_INSTALL_PHPDBG=false
PHP_FPM_INSTALL_SMB=false
PHP_FPM_INSTALL_IMAP=false PHP_FPM_INSTALL_IMAP=false
PHP_FPM_INSTALL_MONGO=false PHP_FPM_INSTALL_MONGO=false
PHP_FPM_INSTALL_AMQP=false PHP_FPM_INSTALL_AMQP=false
PHP_FPM_INSTALL_CASSANDRA=false PHP_FPM_INSTALL_CASSANDRA=false
PHP_FPM_INSTALL_GEARMAN=false
PHP_FPM_INSTALL_MSSQL=false PHP_FPM_INSTALL_MSSQL=false
PHP_FPM_INSTALL_SSH2=false PHP_FPM_INSTALL_SSH2=false
PHP_FPM_INSTALL_SOAP=false PHP_FPM_INSTALL_SOAP=false
PHP_FPM_INSTALL_XSL=false PHP_FPM_INSTALL_XSL=false
PHP_FPM_INSTALL_GMP=false
PHP_FPM_INSTALL_EXIF=false PHP_FPM_INSTALL_EXIF=false
PHP_FPM_INSTALL_AEROSPIKE=false PHP_FPM_INSTALL_AEROSPIKE=false
PHP_FPM_INSTALL_OCI8=false
PHP_FPM_INSTALL_PGSQL=false PHP_FPM_INSTALL_PGSQL=false
PHP_FPM_INSTALL_GHOSTSCRIPT=false PHP_FPM_INSTALL_GHOSTSCRIPT=false
PHP_FPM_INSTALL_LDAP=false PHP_FPM_INSTALL_LDAP=false
@ -183,20 +219,35 @@ PHP_FPM_INSTALL_CALENDAR=false
PHP_FPM_INSTALL_FAKETIME=false PHP_FPM_INSTALL_FAKETIME=false
PHP_FPM_INSTALL_IONCUBE=false PHP_FPM_INSTALL_IONCUBE=false
PHP_FPM_INSTALL_RDKAFKA=false PHP_FPM_INSTALL_RDKAFKA=false
PHP_FPM_INSTALL_GETTEXT=false
PHP_FPM_INSTALL_XMLRPC=false
PHP_FPM_FAKETIME=-0 PHP_FPM_FAKETIME=-0
PHP_FPM_INSTALL_APCU=false PHP_FPM_INSTALL_APCU=false
PHP_FPM_INSTALL_CACHETOOL=false
PHP_FPM_INSTALL_YAML=false PHP_FPM_INSTALL_YAML=false
PHP_FPM_INSTALL_ADDITIONAL_LOCALES=false PHP_FPM_INSTALL_ADDITIONAL_LOCALES=false
PHP_FPM_INSTALL_MYSQL_CLIENT=false PHP_FPM_INSTALL_MYSQL_CLIENT=false
PHP_FPM_INSTALL_PING=false PHP_FPM_INSTALL_PING=false
PHP_FPM_INSTALL_SSHPASS=false PHP_FPM_INSTALL_SSHPASS=false
PHP_FPM_INSTALL_MAILPARSE=false
PHP_FPM_INSTALL_WKHTMLTOPDF=false
PHP_FPM_FFMPEG=false PHP_FPM_FFMPEG=false
PHP_FPM_ADDITIONAL_LOCALES="es_ES.UTF-8 fr_FR.UTF-8" PHP_FPM_ADDITIONAL_LOCALES="en_US.UTF-8 es_ES.UTF-8 fr_FR.UTF-8"
PHP_FPM_DEFAULT_LOCALE=POSIX
PHP_FPM_PUID=1000
PHP_FPM_PGID=1000
### PHP_WORKER ############################################ ### PHP_WORKER ############################################
PHP_WORKER_INSTALL_BZ2=false
PHP_WORKER_INSTALL_GD=false
PHP_WORKER_INSTALL_IMAGEMAGICK=false
PHP_WORKER_INSTALL_GMP=false
PHP_WORKER_INSTALL_PGSQL=false PHP_WORKER_INSTALL_PGSQL=false
PHP_WORKER_INSTALL_BCMATH=false PHP_WORKER_INSTALL_BCMATH=false
# PHP_WORKER_INSTALL_OCI8 Does not work in php5.6 version
PHP_WORKER_INSTALL_OCI8=false
PHP_WORKER_INSTALL_PHALCON=false PHP_WORKER_INSTALL_PHALCON=false
PHP_WORKER_INSTALL_SOAP=false PHP_WORKER_INSTALL_SOAP=false
PHP_WORKER_INSTALL_ZIP_ARCHIVE=false PHP_WORKER_INSTALL_ZIP_ARCHIVE=false
@ -206,8 +257,11 @@ PHP_WORKER_INSTALL_GHOSTSCRIPT=false
PHP_WORKER_INSTALL_SWOOLE=false PHP_WORKER_INSTALL_SWOOLE=false
PHP_WORKER_INSTALL_TAINT=false PHP_WORKER_INSTALL_TAINT=false
PHP_WORKER_INSTALL_FFMPEG=false PHP_WORKER_INSTALL_FFMPEG=false
PHP_WORKER_INSTALL_GMP=false
PHP_WORKER_INSTALL_CASSANDRA=false PHP_WORKER_INSTALL_CASSANDRA=false
PHP_WORKER_INSTALL_GEARMAN=false
PHP_WORKER_INSTALL_REDIS=false
PHP_WORKER_INSTALL_IMAP=false
PHP_WORKER_INSTALL_XMLRPC
PHP_WORKER_PUID=1000 PHP_WORKER_PUID=1000
PHP_WORKER_PGID=1000 PHP_WORKER_PGID=1000
@ -224,7 +278,18 @@ NGINX_SSL_PATH=./nginx/ssl/
### LARAVEL_HORIZON ################################################ ### LARAVEL_HORIZON ################################################
LARAVEL_HORIZON_INSTALL_BZ2=false
LARAVEL_HORIZON_INSTALL_GD=false
LARAVEL_HORIZON_INSTALL_GMP=false
LARAVEL_HORIZON_INSTALL_IMAGEMAGICK=false
LARAVEL_HORIZON_INSTALL_SOCKETS=false LARAVEL_HORIZON_INSTALL_SOCKETS=false
LARAVEL_HORIZON_INSTALL_YAML=false
LARAVEL_HORIZON_INSTALL_ZIP_ARCHIVE=false
LARAVEL_HORIZON_INSTALL_PHPREDIS=true
LARAVEL_HORIZON_INSTALL_MONGO=false
LARAVEL_HORIZON_INSTALL_FFMPEG=false
LARAVEL_HORIZON_PGID=1000
LARAVEL_HORIZON_PUID=1000
### APACHE ################################################ ### APACHE ################################################
@ -270,8 +335,8 @@ PERCONA_ENTRYPOINT_INITDB=./percona/docker-entrypoint-initdb.d
### MSSQL ################################################# ### MSSQL #################################################
MSSQL_DATABASE=homestead MSSQL_DATABASE=master
MSSQL_PASSWORD=yourStrong(!)Password MSSQL_PASSWORD="yourStrong(!)Password"
MSSQL_PORT=1433 MSSQL_PORT=1433
### MARIADB ############################################### ### MARIADB ###############################################
@ -286,6 +351,7 @@ MARIADB_ENTRYPOINT_INITDB=./mariadb/docker-entrypoint-initdb.d
### POSTGRES ############################################## ### POSTGRES ##############################################
POSTGRES_VERSION=alpine
POSTGRES_DB=default POSTGRES_DB=default
POSTGRES_USER=default POSTGRES_USER=default
POSTGRES_PASSWORD=secret POSTGRES_PASSWORD=secret
@ -333,7 +399,7 @@ MINIO_PORT=9000
### ADMINER ############################################### ### ADMINER ###############################################
ADM_PORT=8080 ADM_PORT=8081
ADM_INSTALL_MSSQL=false ADM_INSTALL_MSSQL=false
### PHP MY ADMIN ########################################## ### PHP MY ADMIN ##########################################
@ -347,7 +413,7 @@ PMA_DB_ENGINE=mysql
PMA_USER=default PMA_USER=default
PMA_PASSWORD=secret PMA_PASSWORD=secret
PMA_ROOT_PASSWORD=secret PMA_ROOT_PASSWORD=secret
PMA_PORT=8080 PMA_PORT=8081
### MAILDEV ############################################### ### MAILDEV ###############################################
@ -357,9 +423,9 @@ MAILDEV_SMTP_PORT=25
### VARNISH ############################################### ### VARNISH ###############################################
VARNISH_CONFIG=/etc/varnish/default.vcl VARNISH_CONFIG=/etc/varnish/default.vcl
VARNISH_PORT=8080 VARNISH_PORT=6081
VARNISH_BACKEND_PORT=8888 VARNISH_BACKEND_PORT=81
VARNISHD_PARAMS=-p default_ttl=3600 -p default_grace=3600 VARNISHD_PARAMS="-p default_ttl=3600 -p default_grace=3600"
### Varnish ############################################### ### Varnish ###############################################
@ -411,10 +477,10 @@ GRAYLOG_GELF_UDP_PORT=12201
# Create an account on blackfire.io. Don't enable blackfire and xDebug at the same time. # visit https://blackfire.io/docs/24-days/06-installation#install-probe-debian for more info. # Create an account on blackfire.io. Don't enable blackfire and xDebug at the same time. # visit https://blackfire.io/docs/24-days/06-installation#install-probe-debian for more info.
INSTALL_BLACKFIRE=false INSTALL_BLACKFIRE=false
BLACKFIRE_CLIENT_ID=<client_id> BLACKFIRE_CLIENT_ID="<client_id>"
BLACKFIRE_CLIENT_TOKEN=<client_token> BLACKFIRE_CLIENT_TOKEN="<client_token>"
BLACKFIRE_SERVER_ID=<server_id> BLACKFIRE_SERVER_ID="<server_id>"
BLACKFIRE_SERVER_TOKEN=<server_token> BLACKFIRE_SERVER_TOKEN="<server_token>"
### AEROSPIKE ############################################# ### AEROSPIKE #############################################
@ -523,7 +589,7 @@ FACE_DETECTOR_CASCADE_FILE=haarcascade_frontalface_alt.xml
OPTIMIZERS=[] OPTIMIZERS=[]
JPEGTRAN_PATH=/usr/bin/jpegtran JPEGTRAN_PATH=/usr/bin/jpegtran
PROGRESSIVE_JPEG=True PROGRESSIVE_JPEG=True
FILTERS=["thumbor.filters.brightness", "thumbor.filters.contrast", "thumbor.filters.rgb", "thumbor.filters.round_corner", "thumbor.filters.quality", "thumbor.filters.noise", "thumbor.filters.watermark", "thumbor.filters.equalize", "thumbor.filters.fill", "thumbor.filters.sharpen", "thumbor.filters.strip_icc", "thumbor.filters.frame", "thumbor.filters.grayscale", "thumbor.filters.rotate", "thumbor.filters.format", "thumbor.filters.max_bytes", "thumbor.filters.convolution", "thumbor.filters.blur", "thumbor.filters.extract_focal", "thumbor.filters.no_upscale"] FILTERS="[thumbor.filters.brightness, thumbor.filters.contrast, thumbor.filters.rgb, thumbor.filters.round_corner, thumbor.filters.quality, thumbor.filters.noise, thumbor.filters.watermark, thumbor.filters.equalize, thumbor.filters.fill, thumbor.filters.sharpen, thumbor.filters.strip_icc, thumbor.filters.frame, thumbor.filters.grayscale, thumbor.filters.rotate, thumbor.filters.format, thumbor.filters.max_bytes, thumbor.filters.convolution, thumbor.filters.blur, thumbor.filters.extract_focal, thumbor.filters.no_upscale]"
RESULT_STORAGE_EXPIRATION_SECONDS=0 RESULT_STORAGE_EXPIRATION_SECONDS=0
RESULT_STORAGE_FILE_STORAGE_ROOT_PATH=/data/result_storage RESULT_STORAGE_FILE_STORAGE_ROOT_PATH=/data/result_storage
RESULT_STORAGE_STORES_UNSAFE=False RESULT_STORAGE_STORES_UNSAFE=False
@ -575,7 +641,7 @@ GITLAB_POSTGRES_DB=laradock_gitlab
### GITLAB-RUNNER ############################################### ### GITLAB-RUNNER ###############################################
GITLAB_CI_SERVER_URL=http://localhost:8989 GITLAB_CI_SERVER_URL=http://localhost:8989
GITLAB_RUNNER_REGISTRATION_TOKEN=<my-registration-token> GITLAB_RUNNER_REGISTRATION_TOKEN="<my-registration-token>"
GITLAB_REGISTER_NON_INTERACTIVE=true GITLAB_REGISTER_NON_INTERACTIVE=true
### JUPYTERHUB ############################################### ### JUPYTERHUB ###############################################
@ -636,8 +702,8 @@ DOCKER_WEBUI_PORT=8754
### MAILU ############################################### ### MAILU ###############################################
MAILU_VERSION=latest MAILU_VERSION=latest
MAILU_RECAPTCHA_PUBLIC_KEY=<YOUR_RECAPTCHA_PUBLIC_KEY> MAILU_RECAPTCHA_PUBLIC_KEY="<YOUR_RECAPTCHA_PUBLIC_KEY>"
MAILU_RECAPTCHA_PRIVATE_KEY=<YOUR_RECAPTCHA_PRIVATE_KEY> MAILU_RECAPTCHA_PRIVATE_KEY="<YOUR_RECAPTCHA_PRIVATE_KEY>"
# Main mail domain # Main mail domain
MAILU_HTTP_PORT=6080 MAILU_HTTP_PORT=6080
MAILU_HTTPS_PORT=60443 MAILU_HTTPS_PORT=60443
@ -653,7 +719,7 @@ MAILU_SECRET_KEY=ChangeMeChangeMe
# Choose how secure connections will behave (value: letsencrypt, cert, notls, mail) # Choose how secure connections will behave (value: letsencrypt, cert, notls, mail)
MAILU_TLS_FLAVOR=cert MAILU_TLS_FLAVOR=cert
# Authentication rate limit (per source IP address) # Authentication rate limit (per source IP address)
MAILU_AUTH_RATELIMIT=10/minute;1000/hour MAILU_AUTH_RATELIMIT="10/minute;1000/hour"
# Opt-out of statistics, replace with "True" to opt out # Opt-out of statistics, replace with "True" to opt out
MAILU_DISABLE_STATISTICS=False MAILU_DISABLE_STATISTICS=False
# Message size limit in bytes # Message size limit in bytes
@ -675,14 +741,14 @@ MAILU_DMARC_RUF=admin
# Welcome email, enable and set a topic and body if you wish to send welcome # Welcome email, enable and set a topic and body if you wish to send welcome
# emails to all users. # emails to all users.
MAILU_WELCOME=True MAILU_WELCOME=True
MAILU_WELCOME_SUBJECT=Welcome to your new email account MAILU_WELCOME_SUBJECT="Welcome to your new email account"
MAILU_WELCOME_BODY=Welcome to your new email account, if you can read this, then it is configured properly! MAILU_WELCOME_BODY="Welcome to your new email account, if you can read this, then it is configured properly!"
# Path to the admin interface if enabled # Path to the admin interface if enabled
MAILU_WEB_ADMIN=/admin MAILU_WEB_ADMIN=/admin
# Path to the webmail if enabled # Path to the webmail if enabled
MAILU_WEB_WEBMAIL=/webmail MAILU_WEB_WEBMAIL=/webmail
# Website name # Website name
MAILU_SITENAME=Example Mail MAILU_SITENAME="Example Mail"
# Linked Website URL # Linked Website URL
MAILU_WEBSITE=http://mail.example.com MAILU_WEBSITE=http://mail.example.com
# Default password scheme used for newly created accounts and changed passwords # Default password scheme used for newly created accounts and changed passwords
@ -700,6 +766,11 @@ MAILU_WEBDAV=radicale
TRAEFIK_HOST_HTTP_PORT=80 TRAEFIK_HOST_HTTP_PORT=80
TRAEFIK_HOST_HTTPS_PORT=443 TRAEFIK_HOST_HTTPS_PORT=443
TRAEFIK_DASHBOARD_PORT=8888
# basic authentication for traefik dashboard username: admin password:admin
TRAEFIK_DASHBOARD_USER=admin:$2y$10$lXaL3lj6raFic6rFqr2.lOBoCudAIhB6zyoqObNg290UFppiUzTTi
ACME_DOMAIN=example.org
ACME_EMAIL=email@example.org
### MOSQUITTO ################################################# ### MOSQUITTO #################################################
@ -739,6 +810,10 @@ SONARQUBE_POSTGRES_DB=sonar
SONARQUBE_POSTGRES_USER=sonar SONARQUBE_POSTGRES_USER=sonar
SONARQUBE_POSTGRES_PASSWORD=sonarPass SONARQUBE_POSTGRES_PASSWORD=sonarPass
### TOMCAT ################################################
TOMCAT_VERSION=8.5.43
TOMCAT_HOST_HTTP_PORT=8080
### CASSANDRA ################################################ ### CASSANDRA ################################################
# Cassandra Version, supported tags can be found at https://hub.docker.com/r/bitnami/cassandra/ # Cassandra Version, supported tags can be found at https://hub.docker.com/r/bitnami/cassandra/
@ -771,3 +846,51 @@ CASSANDRA_ENABLE_RPC=true
CASSANDRA_DATACENTER=dc1 CASSANDRA_DATACENTER=dc1
# Rack name for the cluster. Ignored in SimpleSnitch endpoint snitch. Default: rack1. # Rack name for the cluster. Ignored in SimpleSnitch endpoint snitch. Default: rack1.
CASSANDRA_RACK=rack1 CASSANDRA_RACK=rack1
### GEARMAN ##################################################
# Gearman version to use. See available tags at https://hub.docker.com/r/artefactual/gearmand
GEARMAN_VERSION=latest
# Port to use (Default: 6379)
GEARMAN_PORT=6379
# Logging Level (Default: INFO)
GEARMAN_VERBOSE=INFO
# Persistent queue type to use (Default: builtin)
GEARMAN_QUEUE_TYPE=builtin
# Number of I/O threads to use (Default: 4)
GEARMAN_THREADS=4
# Number of backlog connections for listen (Default: 32)
GEARMAN_BACKLOG=32
# Number of file descriptors to allow for the process (Default is max allowed for user)
GEARMAN_FILE_DESCRIPTORS=
# Number of attempts to run the job before the job server removes it. (Default: no limit = 0)
GEARMAN_JOB_RETRIES=0
# Assign work in round-robin order per worker connection (Default: 0)
GEARMAN_ROUND_ROBIN=0
# Number of workers to wakeup for each job received (Default: 0)
GEARMAN_WORKER_WAKEUP=0
# Enable keepalive on sockets (Default: 0)
GEARMAN_KEEPALIVE=0
# The duration between two keepalive transmissions in idle condition (Default: 30)
GEARMAN_KEEPALIVE_IDLE=30
# The duration between two successive keepalive retransmissions, if acknowledgement to the previous keepalive transmission is not received (Default: 10)
GEARMAN_KEEPALIVE_INTERVAL=10
# The number of retransmissions to be carried out before declaring that remote end is not available (Default: 5)
GEARMAN_KEEPALIVE_COUNT=5
# Mysql server host (Default: localhost)
GEARMAN_MYSQL_HOST=localhost
# Mysql server port (Default: 3306)
GEARMAN_MYSQL_PORT=3306
# Mysql server user (Default: root)
GEARMAN_MYSQL_USER=root
# Mysql password
GEARMAN_MYSQL_PASSWORD=
# Path to file with mysql password(Docker secrets)
GEARMAN_MYSQL_PASSWORD_FILE=
# Database to use by Gearman (Default: Gearmand)
GEARMAN_MYSQL_DB=Gearmand
# Table to use by Gearman (Default: gearman_queue)
GEARMAN_MYSQL_TABLE=gearman_queue
### ELK Stack ##################################################
ELK_VERSION=7.5.1

5
gearman/Dockerfile Normal file
View File

@ -0,0 +1,5 @@
ARG GEARMAN_VERSION=latest
FROM artefactual/gearmand:${GEARMAN_VERSION}
LABEL maintainer="Stefan Neuhaus <https://www.github.com/stefnats>"

View File

@ -1,3 +1,4 @@
FROM docker.elastic.co/kibana/kibana:6.6.0 ARG ELK_VERSION=7.5.1
FROM docker.elastic.co/kibana/kibana:${ELK_VERSION}
EXPOSE 5601 EXPOSE 5601

View File

@ -4,11 +4,21 @@
#-------------------------------------------------------------------------- #--------------------------------------------------------------------------
# #
ARG PHP_VERSION=${PHP_VERSION} ARG LARADOCK_PHP_VERSION
FROM php:${PHP_VERSION}-alpine FROM php:${LARADOCK_PHP_VERSION}-alpine
LABEL maintainer="Mahmoud Zalt <mahmoud@zalt.me>" LABEL maintainer="Mahmoud Zalt <mahmoud@zalt.me>"
ARG LARADOCK_PHP_VERSION
# If you're in China, or you need to change sources, will be set CHANGE_SOURCE to true in .env.
ARG CHANGE_SOURCE=false
RUN if [ ${CHANGE_SOURCE} = true ]; then \
# Change application source from dl-cdn.alpinelinux.org to aliyun source
sed -i 's/dl-cdn.alpinelinux.org/mirrors.aliyun.com/' /etc/apk/repositories \
;fi
RUN apk --update add wget \ RUN apk --update add wget \
curl \ curl \
git \ git \
@ -21,11 +31,52 @@ RUN apk --update add wget \
cyrus-sasl-dev \ cyrus-sasl-dev \
libgsasl-dev \ libgsasl-dev \
supervisor \ supervisor \
oniguruma-dev \
procps procps
RUN docker-php-ext-install mysqli mbstring pdo pdo_mysql tokenizer xml pcntl RUN docker-php-ext-install mysqli mbstring pdo pdo_mysql tokenizer xml pcntl
RUN pecl channel-update pecl.php.net && pecl install memcached mcrypt-1.0.1 mongodb && docker-php-ext-enable memcached mongodb RUN pecl channel-update pecl.php.net && pecl install memcached mcrypt-1.0.1 mongodb && docker-php-ext-enable memcached mongodb
# Add a non-root user to help install ffmpeg:
ARG PUID=1000
ENV PUID ${PUID}
ARG PGID=1000
ENV PGID ${PGID}
RUN addgroup -g ${PGID} laradock && \
adduser -D -G laradock -u ${PUID} laradock
#Install BZ2:
ARG INSTALL_BZ2=false
RUN if [ ${INSTALL_BZ2} = true ]; then \
apk --update add bzip2-dev; \
docker-php-ext-install bz2 \
;fi
#Install GD package:
ARG INSTALL_GD=false
RUN if [ ${INSTALL_GD} = true ]; then \
apk add --update --no-cache libpng-dev; \
docker-php-ext-install gd \
;fi
#Install GMP package:
ARG INSTALL_GMP=false
RUN if [ ${INSTALL_GMP} = true ]; then \
apk add --update --no-cache gmp gmp-dev; \
docker-php-ext-install gmp \
;fi
#Install ImageMagick package:
ARG INSTALL_IMAGEMAGICK=false
RUN set -eux; \
if [ ${INSTALL_IMAGEMAGICK} = true ]; then \
apk add --update --no-cache imagemagick-dev; \
pecl install imagick; \
docker-php-ext-enable imagick; \
php -m | grep -q 'imagick'; \
fi
#Install BCMath package: #Install BCMath package:
ARG INSTALL_BCMATH=false ARG INSTALL_BCMATH=false
RUN if [ ${INSTALL_BCMATH} = true ]; then \ RUN if [ ${INSTALL_BCMATH} = true ]; then \
@ -45,6 +96,35 @@ RUN if [ ${INSTALL_PGSQL} = true ]; then \
&& docker-php-ext-install pdo_pgsql \ && docker-php-ext-install pdo_pgsql \
;fi ;fi
# Install ZipArchive:
ARG INSTALL_ZIP_ARCHIVE=false
RUN set -eux; \
if [ ${INSTALL_ZIP_ARCHIVE} = true ]; then \
apk --update add libzip-dev && \
if [ ${LARADOCK_PHP_VERSION} = "7.3" ] || [ ${LARADOCK_PHP_VERSION} = "7.4" ]; then \
docker-php-ext-configure zip; \
else \
docker-php-ext-configure zip --with-libzip; \
fi && \
# Install the zip extension
docker-php-ext-install zip \
;fi
# Install PhpRedis package:
ARG INSTALL_PHPREDIS=false
RUN if [ ${INSTALL_PHPREDIS} = true ]; then \
# Install Php Redis Extension
printf "\n" | pecl install -o -f redis \
&& rm -rf /tmp/pear \
&& docker-php-ext-enable redis \
;fi
ARG INSTALL_FFMPEG=false
RUN if [ ${INSTALL_FFMPEG} = true ]; then \
# Add ffmpeg to horizon
apk add ffmpeg \
;fi
# Install Cassandra drivers: # Install Cassandra drivers:
ARG INSTALL_CASSANDRA=false ARG INSTALL_CASSANDRA=false
RUN if [ ${INSTALL_CASSANDRA} = true ]; then \ RUN if [ ${INSTALL_CASSANDRA} = true ]; then \
@ -65,6 +145,30 @@ RUN if [ ${INSTALL_CASSANDRA} = true ]; then \
&& docker-php-ext-enable cassandra \ && docker-php-ext-enable cassandra \
;fi ;fi
# Install MongoDB drivers:
ARG INSTALL_MONGO=false
RUN if [ ${INSTALL_MONGO} = true ]; then \
pecl install mongodb \
&& docker-php-ext-enable mongodb \
;fi
###########################################################################
# YAML: extension
###########################################################################
ARG INSTALL_YAML=false
RUN if [ ${INSTALL_YAML} = true ]; then \
apk --update add -U --no-cache --virtual temp yaml-dev \
&& apk add --no-cache yaml \
&& docker-php-source extract \
&& pecl channel-update pecl.php.net \
&& pecl install yaml \
&& docker-php-ext-enable yaml \
&& pecl clear-cache \
&& docker-php-source delete \
&& apk del temp \
;fi
########################################################################### ###########################################################################
@ -78,7 +182,7 @@ RUN if [ ${INSTALL_MEMCACHED} = true ]; then \
if [ $(php -r "echo PHP_MAJOR_VERSION;") = "5" ]; then \ if [ $(php -r "echo PHP_MAJOR_VERSION;") = "5" ]; then \
curl -L -o /tmp/memcached.tar.gz "https://github.com/php-memcached-dev/php-memcached/archive/2.2.0.tar.gz"; \ curl -L -o /tmp/memcached.tar.gz "https://github.com/php-memcached-dev/php-memcached/archive/2.2.0.tar.gz"; \
else \ else \
curl -L -o /tmp/memcached.tar.gz "https://github.com/php-memcached-dev/php-memcached/archive/php7.tar.gz"; \ curl -L -o /tmp/memcached.tar.gz "https://github.com/php-memcached-dev/php-memcached/archive/v3.1.3.tar.gz"; \
fi \ fi \
&& mkdir -p memcached \ && mkdir -p memcached \
&& tar -C memcached -zxvf /tmp/memcached.tar.gz --strip 1 \ && tar -C memcached -zxvf /tmp/memcached.tar.gz --strip 1 \

View File

@ -1,5 +1,6 @@
[program:laravel-horizon] [program:laravel-horizon]
process_name=%(program_name)s_%(process_num)02d process_name=%(program_name)s_%(process_num)02d
user=laradock
command=php /var/www/artisan horizon command=php /var/www/artisan horizon
autostart=true autostart=true
autorestart=true autorestart=true

View File

@ -1,4 +1,5 @@
FROM docker.elastic.co/logstash/logstash:6.4.2 ARG ELK_VERSION=7.5.1
FROM docker.elastic.co/logstash/logstash:${ELK_VERSION}
USER root USER root
RUN rm -f /usr/share/logstash/pipeline/logstash.conf RUN rm -f /usr/share/logstash/pipeline/logstash.conf
@ -7,4 +8,5 @@ ADD ./pipeline/ /usr/share/logstash/pipeline/
ADD ./config/ /usr/share/logstash/config/ ADD ./config/ /usr/share/logstash/config/
RUN logstash-plugin install logstash-input-jdbc RUN logstash-plugin install logstash-input-jdbc
RUN logstash-plugin install logstash-input-beats

View File

@ -11,12 +11,12 @@ searchd {
listen = 9312 listen = 9312
listen = 9308:http listen = 9308:http
listen = 9306:mysql41 listen = 9306:mysql41
log = /var/lib/manticore/log/searchd.log log = /var/log/manticore/searchd.log
# you can also send query_log to /dev/stdout to be shown in docker logs # you can also send query_log to /dev/stdout to be shown in docker logs
query_log = /var/lib/manticore/log/query.log query_log = /var/log/manticore/query.log
read_timeout = 5 read_timeout = 5
max_children = 30 max_children = 30
pid_file = /var/run/searchd.pid pid_file = /var/run/manticore/searchd.pid
seamless_rotate = 1 seamless_rotate = 1
preopen_indexes = 1 preopen_indexes = 1
unlink_old = 1 unlink_old = 1

View File

@ -12,6 +12,8 @@ ENV TZ ${TZ}
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone && chown -R mysql:root /var/lib/mysql/ RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone && chown -R mysql:root /var/lib/mysql/
COPY my.cnf /etc/mysql/conf.d/my.cnf COPY my.cnf /etc/mysql/conf.d/my.cnf
RUN chmod -R 644 /etc/mysql/conf.d/my.cnf
CMD ["mysqld"] CMD ["mysqld"]
EXPOSE 3306 EXPOSE 3306

View File

@ -1,17 +1,6 @@
FROM microsoft/mssql-server-linux FROM mcr.microsoft.com/mssql/server:2017-latest-ubuntu
LABEL maintainer="Mahmoud Zalt <mahmoud@zalt.me>"
# Create config directory
# an set it as WORKDIR
RUN mkdir -p /usr/src/app
WORKDIR /usr/src/app
# Bundle app source
COPY . /usr/src/app
RUN chmod +x /usr/src/app/create_table.sh
ENV MSSQL_PID=Express
ENV MSSQL_DATABASE=$MSSQL_DATABASE ENV MSSQL_DATABASE=$MSSQL_DATABASE
ENV ACCEPT_EULA=Y ENV ACCEPT_EULA=Y
ENV SA_PASSWORD=$MSSQL_PASSWORD ENV SA_PASSWORD=$MSSQL_PASSWORD
@ -19,5 +8,3 @@ ENV SA_PASSWORD=$MSSQL_PASSWORD
VOLUME /var/opt/mssql VOLUME /var/opt/mssql
EXPOSE 1433 EXPOSE 1433
CMD /bin/bash ./entrypoint.sh

View File

@ -1,5 +0,0 @@
#wait for the SQL Server to come up
sleep 45
#run the setup script to create the DB and the schema in the DB
/opt/mssql-tools/bin/sqlcmd -S localhost -U sa -P $SA_PASSWORD -d master -i setup.sql

View File

@ -1,2 +0,0 @@
#start SQL Server, start the script to create the DB and import the data, start the app
/opt/mssql/bin/sqlservr & /usr/src/app/create_table.sh & tail -f /dev/null

View File

@ -1,4 +0,0 @@
CREATE DATABASE $(MSSQL_DATABASE);
GO
USE $(MSSQL_DATABASE);
GO

View File

@ -1,4 +1,4 @@
ARG MYSQL_VERSION=latest ARG MYSQL_VERSION
FROM mysql:${MYSQL_VERSION} FROM mysql:${MYSQL_VERSION}
LABEL maintainer="Mahmoud Zalt <mahmoud@zalt.me>" LABEL maintainer="Mahmoud Zalt <mahmoud@zalt.me>"
@ -13,6 +13,8 @@ RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone &
COPY my.cnf /etc/mysql/conf.d/my.cnf COPY my.cnf /etc/mysql/conf.d/my.cnf
RUN chmod 0444 /etc/mysql/conf.d/my.cnf
CMD ["mysqld"] CMD ["mysqld"]
EXPOSE 3306 EXPOSE 3306

View File

@ -8,3 +8,4 @@
[mysqld] [mysqld]
sql-mode="STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION" sql-mode="STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION"
character-set-server=utf8 character-set-server=utf8
default-authentication-plugin=mysql_native_password

View File

@ -18,6 +18,8 @@ RUN apk update \
&& apk add --no-cache openssl \ && apk add --no-cache openssl \
&& apk add --no-cache bash && apk add --no-cache bash
RUN apk add --no-cache curl
RUN set -x ; \ RUN set -x ; \
addgroup -g 82 -S www-data ; \ addgroup -g 82 -S www-data ; \
adduser -u 82 -D -S -G www-data www-data && exit 0 ; exit 1 adduser -u 82 -D -S -G www-data www-data && exit 0 ; exit 1
@ -39,4 +41,4 @@ ADD ./startup.sh /opt/startup.sh
RUN sed -i 's/\r//g' /opt/startup.sh RUN sed -i 's/\r//g' /opt/startup.sh
CMD ["/bin/bash", "/opt/startup.sh"] CMD ["/bin/bash", "/opt/startup.sh"]
EXPOSE 80 443 EXPOSE 80 81 443

View File

@ -0,0 +1,43 @@
server {
listen 80;
listen [::]:80;
server_name www.confluence-domain.com;
rewrite ^(.*) https://confluence-domain.com$1/ permanent;
}
server {
listen 80;
listen [::]:80;
server_name confluence-domain.com;
rewrite ^(.*) https://confluence-domain.com/ permanent;
}
server {
listen 443 ssl;
listen [::]:443 ssl;
ssl_certificate /etc/nginx/ssl/confluence-domain.com.crt;
ssl_certificate_key /etc/nginx/ssl/confluence-domain.com.key;
server_name confluence-domain.com;
location / {
client_max_body_size 100m;
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Server $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://confluence-domain.com:8090/;
}
location /synchrony {
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Server $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://confluence-domain.com:8090/synchrony-proxy;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
}
error_log /var/log/nginx/bookchangerru_error.log;
access_log /var/log/nginx/bookchangerru_access.log;
}

View File

@ -0,0 +1,110 @@
server {
listen 80;
listen [::]:80;
server_name www.laravel.test;
rewrite ^(.*) https://laravel.test$1/ permanent;
}
server {
listen 80;
listen [::]:80;
server_name laravel.test;
rewrite ^(.*) https://laravel.test$1/ permanent;
}
server {
listen 443 ssl ;
listen [::]:443 ssl;
ssl_certificate /etc/nginx/ssl/laravel.test.crt;
ssl_certificate_key /etc/nginx/ssl/laravel.test.key;
server_name www.laravel.test;
rewrite ^(.*) https://laravel.test$1/ permanent;
}
server {
server_name laravel.test;
# For https
listen 443 ssl ;
listen [::]:443 ssl;
ssl_certificate /etc/nginx/ssl/laravel.test.crt;
ssl_certificate_key /etc/nginx/ssl/laravel.test.key;
port_in_redirect off;
add_header Strict-Transport-Security "max-age=31536000";
add_header X-Content-Type-Options nosniff;
location / {
proxy_pass http://proxy:6081;
proxy_set_header Host $http_host;
proxy_set_header X-Forwarded-Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto https;
proxy_set_header HTTPS "on";
proxy_redirect off;
}
}
server {
server_name laravel.test;
listen 81;
listen [::]:81;
root /var/www/laravel.test/www;
index index.php index.html index.htm;
location / {
try_files $uri $uri/ /index.php$is_args$args;
}
location ~ \.php$ {
fastcgi_max_temp_file_size 4m;
fastcgi_pass php-upstream;
# Additional configs
fastcgi_pass_header Set-Cookie;
fastcgi_pass_header Cookie;
fastcgi_ignore_headers Cache-Control Expires Set-Cookie;
try_files $uri /index.php =404;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info;
fastcgi_param HTTPS on;
fastcgi_buffers 16 16k;
fastcgi_buffer_size 32k;
fastcgi_intercept_errors on;
#fixes timeouts
fastcgi_read_timeout 600;
include fastcgi_params;
}
# Caching
location ~* \.(ico|jpg|webp|jpeg|gif|css|png|js|ico|bmp|zip|woff)$ {
access_log off;
log_not_found off;
add_header Pragma public;
add_header Cache-Control "public";
expires 14d;
}
location ~* \.(php|html)$ {
access_log on;
log_not_found on;
add_header Pragma public;
add_header Cache-Control "public";
expires 14d;
}
location ~ /\.ht {
deny all;
}
}

View File

@ -13,8 +13,8 @@
# #
ARG LARADOCK_PHP_VERSION ARG LARADOCK_PHP_VERSION
ARG BASE_IMAGE_TAG_PREFIX=latest
FROM laradock/php-fpm:2.5-${LARADOCK_PHP_VERSION} FROM laradock/php-fpm:${BASE_IMAGE_TAG_PREFIX}-${LARADOCK_PHP_VERSION}
LABEL maintainer="Mahmoud Zalt <mahmoud@zalt.me>" LABEL maintainer="Mahmoud Zalt <mahmoud@zalt.me>"
@ -23,6 +23,16 @@ ARG LARADOCK_PHP_VERSION
# Set Environment Variables # Set Environment Variables
ENV DEBIAN_FRONTEND noninteractive ENV DEBIAN_FRONTEND noninteractive
# If you're in China, or you need to change sources, will be set CHANGE_SOURCE to true in .env.
ARG CHANGE_SOURCE=false
RUN if [ ${CHANGE_SOURCE} = true ]; then \
# Change application source from deb.debian.org to aliyun source
sed -i 's/deb.debian.org/mirrors.tuna.tsinghua.edu.cn/' /etc/apt/sources.list && \
sed -i 's/security.debian.org/mirrors.tuna.tsinghua.edu.cn/' /etc/apt/sources.list && \
sed -i 's/security-cdn.debian.org/mirrors.tuna.tsinghua.edu.cn/' /etc/apt/sources.list \
;fi
# always run apt update when start and after add new source list, then clean up at end. # always run apt update when start and after add new source list, then clean up at end.
RUN set -xe; \ RUN set -xe; \
apt-get update -yqq && \ apt-get update -yqq && \
@ -41,7 +51,11 @@ RUN set -xe; \
# #
# next lines are here becase there is no auto build on dockerhub see https://github.com/laradock/laradock/pull/1903#issuecomment-463142846 # next lines are here becase there is no auto build on dockerhub see https://github.com/laradock/laradock/pull/1903#issuecomment-463142846
libzip-dev zip unzip && \ libzip-dev zip unzip && \
docker-php-ext-configure zip --with-libzip && \ if [ ${LARADOCK_PHP_VERSION} = "7.3" ] || [ ${LARADOCK_PHP_VERSION} = "7.4" ]; then \
docker-php-ext-configure zip; \
else \
docker-php-ext-configure zip --with-libzip; \
fi && \
# Install the zip extension # Install the zip extension
docker-php-ext-install zip && \ docker-php-ext-install zip && \
php -m | grep -q 'zip' php -m | grep -q 'zip'
@ -57,6 +71,31 @@ RUN set -xe; \
# - INSTALL_SOAP=true # - INSTALL_SOAP=true
# #
###########################################################################
# BZ2:
###########################################################################
ARG INSTALL_BZ2=false
RUN if [ ${INSTALL_BZ2} = true ]; then \
apt-get -y install libbz2-dev; \
docker-php-ext-install bz2 \
;fi
###########################################################################
# GMP (GNU Multiple Precision):
###########################################################################
ARG INSTALL_GMP=false
RUN if [ ${INSTALL_GMP} = true ]; then \
# Install the GMP extension
apt-get install -y libgmp-dev && \
if [ $(php -r "echo PHP_MAJOR_VERSION;") = "5" ]; then \
ln -s /usr/include/x86_64-linux-gnu/gmp.h /usr/include/gmp.h \
;fi && \
docker-php-ext-install gmp \
;fi
########################################################################### ###########################################################################
# SSH2: # SSH2:
########################################################################### ###########################################################################
@ -69,7 +108,7 @@ RUN if [ ${INSTALL_SSH2} = true ]; then \
if [ $(php -r "echo PHP_MAJOR_VERSION;") = "5" ]; then \ if [ $(php -r "echo PHP_MAJOR_VERSION;") = "5" ]; then \
pecl install -a ssh2-0.13; \ pecl install -a ssh2-0.13; \
else \ else \
pecl install -a ssh2-1.1.2; \ pecl install -a ssh2-1.2; \
fi && \ fi && \
docker-php-ext-enable ssh2 \ docker-php-ext-enable ssh2 \
;fi ;fi
@ -151,7 +190,11 @@ RUN if [ ${INSTALL_XDEBUG} = true ]; then \
if [ $(php -r "echo PHP_MAJOR_VERSION;") = "5" ]; then \ if [ $(php -r "echo PHP_MAJOR_VERSION;") = "5" ]; then \
pecl install xdebug-2.5.5; \ pecl install xdebug-2.5.5; \
else \ else \
pecl install xdebug; \ if [ $(php -r "echo PHP_MINOR_VERSION;") = "0" ]; then \
pecl install xdebug-2.9.0; \
else \
pecl install xdebug; \
fi \
fi && \ fi && \
docker-php-ext-enable xdebug \ docker-php-ext-enable xdebug \
;fi ;fi
@ -163,6 +206,23 @@ RUN sed -i "s/xdebug.remote_autostart=0/xdebug.remote_autostart=1/" /usr/local/e
sed -i "s/xdebug.remote_enable=0/xdebug.remote_enable=1/" /usr/local/etc/php/conf.d/xdebug.ini && \ sed -i "s/xdebug.remote_enable=0/xdebug.remote_enable=1/" /usr/local/etc/php/conf.d/xdebug.ini && \
sed -i "s/xdebug.cli_color=0/xdebug.cli_color=1/" /usr/local/etc/php/conf.d/xdebug.ini sed -i "s/xdebug.cli_color=0/xdebug.cli_color=1/" /usr/local/etc/php/conf.d/xdebug.ini
###########################################################################
# pcov:
###########################################################################
USER root
ARG INSTALL_PCOV=false
RUN if [ ${INSTALL_PCOV} = true ]; then \
if [ $(php -r "echo PHP_MAJOR_VERSION;") = "7" ]; then \
if [ $(php -r "echo PHP_MINOR_VERSION;") != "0" ]; then \
pecl install pcov && \
docker-php-ext-enable pcov \
;fi \
;fi \
;fi
########################################################################### ###########################################################################
# Phpdbg: # Phpdbg:
########################################################################### ###########################################################################
@ -196,9 +256,13 @@ ARG INSTALL_PHPREDIS=false
RUN if [ ${INSTALL_PHPREDIS} = true ]; then \ RUN if [ ${INSTALL_PHPREDIS} = true ]; then \
# Install Php Redis Extension # Install Php Redis Extension
printf "\n" | pecl install -o -f redis \ if [ $(php -r "echo PHP_MAJOR_VERSION;") = "5" ]; then \
&& rm -rf /tmp/pear \ pecl install -o -f redis-4.3.0; \
&& docker-php-ext-enable redis \ else \
pecl install -o -f redis; \
fi \
&& rm -rf /tmp/pear \
&& docker-php-ext-enable redis \
;fi ;fi
########################################################################### ###########################################################################
@ -260,9 +324,9 @@ RUN if [ ${INSTALL_MONGO} = true ]; then \
ARG INSTALL_XHPROF=false ARG INSTALL_XHPROF=false
RUN if [ ${INSTALL_XHPROF} = true ]; then \ RUN if [ ${INSTALL_XHPROF} = true ]; then \
# Install the php xhprof extension # Install the php xhprof extension
if [ $(php -r "echo PHP_MAJOR_VERSION;") = 7 ]; then \ if [ $(php -r "echo PHP_MAJOR_VERSION;") = 7 ]; then \
curl -L -o /tmp/xhprof.tar.gz "https://github.com/tideways/php-xhprof-extension/archive/v4.1.7.tar.gz"; \ curl -L -o /tmp/xhprof.tar.gz "https://github.com/tideways/php-xhprof-extension/archive/v5.0.1.tar.gz"; \
else \ else \
curl -L -o /tmp/xhprof.tar.gz "https://codeload.github.com/phacility/xhprof/tar.gz/master"; \ curl -L -o /tmp/xhprof.tar.gz "https://codeload.github.com/phacility/xhprof/tar.gz/master"; \
fi \ fi \
@ -294,7 +358,7 @@ ARG INSTALL_AMQP=false
RUN if [ ${INSTALL_AMQP} = true ]; then \ RUN if [ ${INSTALL_AMQP} = true ]; then \
# download and install manually, to make sure it's compatible with ampq installed by pecl later # download and install manually, to make sure it's compatible with ampq installed by pecl later
# install cmake first # install cmake first
apt-get update && apt-get -y install cmake && \ apt-get -y install cmake && \
curl -L -o /tmp/rabbitmq-c.tar.gz https://github.com/alanxz/rabbitmq-c/archive/master.tar.gz && \ curl -L -o /tmp/rabbitmq-c.tar.gz https://github.com/alanxz/rabbitmq-c/archive/master.tar.gz && \
mkdir -p rabbitmq-c && \ mkdir -p rabbitmq-c && \
tar -C rabbitmq-c -zxvf /tmp/rabbitmq-c.tar.gz --strip 1 && \ tar -C rabbitmq-c -zxvf /tmp/rabbitmq-c.tar.gz --strip 1 && \
@ -309,6 +373,29 @@ RUN if [ ${INSTALL_AMQP} = true ]; then \
docker-php-ext-install sockets \ docker-php-ext-install sockets \
;fi ;fi
###########################################################################
# GEARMAN:
###########################################################################
ARG INSTALL_GEARMAN=false
RUN if [ ${INSTALL_GEARMAN} = true ]; then \
apt-get -y install libgearman-dev && \
cd /tmp && \
curl -L https://github.com/wcgallego/pecl-gearman/archive/gearman-2.0.5.zip -O && \
unzip gearman-2.0.5.zip && \
mv pecl-gearman-gearman-2.0.5 pecl-gearman && \
cd /tmp/pecl-gearman && \
phpize && \
./configure && \
make -j$(nproc) && \
make install && \
cd / && \
rm /tmp/gearman-2.0.5.zip && \
rm -r /tmp/pecl-gearman && \
docker-php-ext-enable gearman \
;fi
########################################################################### ###########################################################################
# pcntl # pcntl
########################################################################### ###########################################################################
@ -330,21 +417,6 @@ RUN if [ ${INSTALL_BCMATH} = true ]; then \
docker-php-ext-install bcmath \ docker-php-ext-install bcmath \
;fi ;fi
###########################################################################
# GMP (GNU Multiple Precision):
###########################################################################
ARG INSTALL_GMP=false
RUN if [ ${INSTALL_GMP} = true ]; then \
# Install the GMP extension
apt-get install -y libgmp-dev && \
if [ $(php -r "echo PHP_MAJOR_VERSION;") = "5" ]; then \
ln -s /usr/include/x86_64-linux-gnu/gmp.h /usr/include/gmp.h \
;fi && \
docker-php-ext-install gmp \
;fi
########################################################################### ###########################################################################
# PHP Memcached: # PHP Memcached:
########################################################################### ###########################################################################
@ -354,21 +426,10 @@ ARG INSTALL_MEMCACHED=false
RUN if [ ${INSTALL_MEMCACHED} = true ]; then \ RUN if [ ${INSTALL_MEMCACHED} = true ]; then \
# Install the php memcached extension # Install the php memcached extension
if [ $(php -r "echo PHP_MAJOR_VERSION;") = "5" ]; then \ if [ $(php -r "echo PHP_MAJOR_VERSION;") = "5" ]; then \
curl -L -o /tmp/memcached.tar.gz "https://github.com/php-memcached-dev/php-memcached/archive/2.2.0.tar.gz"; \ pecl install memcached-2.2.0; \
else \ else \
curl -L -o /tmp/memcached.tar.gz "https://github.com/php-memcached-dev/php-memcached/archive/master.tar.gz"; \ pecl install memcached-3.1.3; \
fi \ fi \
&& mkdir -p memcached \
&& tar -C memcached -zxvf /tmp/memcached.tar.gz --strip 1 \
&& ( \
cd memcached \
&& phpize \
&& ./configure \
&& make -j$(nproc) \
&& make install \
) \
&& rm -r memcached \
&& rm /tmp/memcached.tar.gz \
&& docker-php-ext-enable memcached \ && docker-php-ext-enable memcached \
;fi ;fi
@ -423,6 +484,51 @@ RUN set -xe; \
&& docker-php-ext-enable aerospike \ && docker-php-ext-enable aerospike \
;fi ;fi
###########################################################################
# PHP OCI8:
###########################################################################
ARG INSTALL_OCI8=false
ENV LD_LIBRARY_PATH="/opt/oracle/instantclient_12_1"
ENV OCI_HOME="/opt/oracle/instantclient_12_1"
ENV OCI_LIB_DIR="/opt/oracle/instantclient_12_1"
ENV OCI_INCLUDE_DIR="/opt/oracle/instantclient_12_1/sdk/include"
ENV OCI_VERSION=12
RUN if [ ${INSTALL_OCI8} = true ]; then \
# Install wget
apt-get update && apt-get install --no-install-recommends -y wget \
# Install Oracle Instantclient
&& mkdir /opt/oracle \
&& cd /opt/oracle \
&& wget https://github.com/diogomascarenha/oracle-instantclient/raw/master/instantclient-basic-linux.x64-12.1.0.2.0.zip \
&& wget https://github.com/diogomascarenha/oracle-instantclient/raw/master/instantclient-sdk-linux.x64-12.1.0.2.0.zip \
&& unzip /opt/oracle/instantclient-basic-linux.x64-12.1.0.2.0.zip -d /opt/oracle \
&& unzip /opt/oracle/instantclient-sdk-linux.x64-12.1.0.2.0.zip -d /opt/oracle \
&& ln -s /opt/oracle/instantclient_12_1/libclntsh.so.12.1 /opt/oracle/instantclient_12_1/libclntsh.so \
&& ln -s /opt/oracle/instantclient_12_1/libclntshcore.so.12.1 /opt/oracle/instantclient_12_1/libclntshcore.so \
&& ln -s /opt/oracle/instantclient_12_1/libocci.so.12.1 /opt/oracle/instantclient_12_1/libocci.so \
&& rm -rf /opt/oracle/*.zip \
# Install PHP extensions deps
&& apt-get update \
&& apt-get install --no-install-recommends -y \
libaio-dev \
freetds-dev && \
# Install PHP extensions
if [ $(php -r "echo PHP_MAJOR_VERSION;") = "5" ]; then \
echo 'instantclient,/opt/oracle/instantclient_12_1/' | pecl install oci8-2.0.10; \
else \
echo 'instantclient,/opt/oracle/instantclient_12_1/' | pecl install oci8; \
fi \
&& docker-php-ext-configure pdo_oci --with-pdo-oci=instantclient,/opt/oracle/instantclient_12_1,12.1 \
&& docker-php-ext-configure pdo_dblib --with-libdir=/lib/x86_64-linux-gnu \
&& docker-php-ext-install \
pdo_oci \
&& docker-php-ext-enable \
oci8 \
;fi
########################################################################### ###########################################################################
# IonCube Loader: # IonCube Loader:
########################################################################### ###########################################################################
@ -568,6 +674,16 @@ RUN if [ ${INSTALL_IMAGEMAGICK} = true ]; then \
docker-php-ext-enable imagick \ docker-php-ext-enable imagick \
;fi ;fi
###########################################################################
# SMB:
###########################################################################
ARG INSTALL_SMB=false
RUN if [ ${INSTALL_SMB} = true ]; then \
apt-get install -y smbclient php-smbclient coreutils \
;fi
########################################################################### ###########################################################################
# IMAP: # IMAP:
########################################################################### ###########################################################################
@ -605,7 +721,14 @@ ENV LARADOCK_PHALCON_VERSION ${LARADOCK_PHALCON_VERSION}
COPY ./phalcon.ini /usr/local/etc/php/conf.d/phalcon.ini.disable COPY ./phalcon.ini /usr/local/etc/php/conf.d/phalcon.ini.disable
RUN if [ $INSTALL_PHALCON = true ]; then \ RUN if [ $INSTALL_PHALCON = true ]; then \
apt-get update && apt-get install -y unzip libpcre3-dev gcc make re2c \ apt-get update && apt-get install -y unzip libpcre3-dev gcc make re2c git automake autoconf\
&& git clone https://github.com/jbboehr/php-psr.git \
&& cd php-psr \
&& phpize \
&& ./configure \
&& make \
&& make test \
&& make install \
&& curl -L -o /tmp/cphalcon.zip https://github.com/phalcon/cphalcon/archive/v${LARADOCK_PHALCON_VERSION}.zip \ && curl -L -o /tmp/cphalcon.zip https://github.com/phalcon/cphalcon/archive/v${LARADOCK_PHALCON_VERSION}.zip \
&& unzip -d /tmp/ /tmp/cphalcon.zip \ && unzip -d /tmp/ /tmp/cphalcon.zip \
&& cd /tmp/cphalcon-${LARADOCK_PHALCON_VERSION}/build \ && cd /tmp/cphalcon-${LARADOCK_PHALCON_VERSION}/build \
@ -659,6 +782,17 @@ RUN if [ ${INSTALL_RDKAFKA} = true ]; then \
docker-php-ext-enable rdkafka \ docker-php-ext-enable rdkafka \
;fi ;fi
###########################################################################
# GETTEXT:
###########################################################################
ARG INSTALL_GETTEXT=false
RUN if [ ${INSTALL_GETTEXT} = true ]; then \
apt-get install -y zlib1g-dev libicu-dev g++ libpq-dev libssl-dev gettext && \
docker-php-ext-install gettext \
;fi
########################################################################### ###########################################################################
# Install additional locales: # Install additional locales:
########################################################################### ###########################################################################
@ -684,8 +818,7 @@ USER root
ARG INSTALL_MYSQL_CLIENT=false ARG INSTALL_MYSQL_CLIENT=false
RUN if [ ${INSTALL_MYSQL_CLIENT} = true ]; then \ RUN if [ ${INSTALL_MYSQL_CLIENT} = true ]; then \
apt-get update -yqq && \ apt-get -y install default-mysql-client \
apt-get -y install mysql-client \
;fi ;fi
########################################################################### ###########################################################################
@ -697,7 +830,6 @@ USER root
ARG INSTALL_PING=false ARG INSTALL_PING=false
RUN if [ ${INSTALL_PING} = true ]; then \ RUN if [ ${INSTALL_PING} = true ]; then \
apt-get update -yqq && \
apt-get -y install inetutils-ping \ apt-get -y install inetutils-ping \
;fi ;fi
@ -710,7 +842,6 @@ USER root
ARG INSTALL_SSHPASS=false ARG INSTALL_SSHPASS=false
RUN if [ ${INSTALL_SSHPASS} = true ]; then \ RUN if [ ${INSTALL_SSHPASS} = true ]; then \
apt-get update -yqq && \
apt-get -y install sshpass \ apt-get -y install sshpass \
;fi ;fi
@ -723,10 +854,68 @@ USER root
ARG INSTALL_FFMPEG=false ARG INSTALL_FFMPEG=false
RUN if [ ${INSTALL_FFMPEG} = true ]; then \ RUN if [ ${INSTALL_FFMPEG} = true ]; then \
apt-get update -yqq && \
apt-get -y install ffmpeg \ apt-get -y install ffmpeg \
;fi ;fi
#####################################
# wkhtmltopdf:
#####################################
USER root
ARG INSTALL_WKHTMLTOPDF=false
RUN if [ ${INSTALL_WKHTMLTOPDF} = true ]; then \
apt-get install -y \
libxrender1 \
libfontconfig1 \
libx11-dev \
libjpeg62 \
libxtst6 \
wget \
&& wget https://github.com/h4cc/wkhtmltopdf-amd64/blob/master/bin/wkhtmltopdf-amd64?raw=true -O /usr/local/bin/wkhtmltopdf \
&& chmod +x /usr/local/bin/wkhtmltopdf \
;fi
###########################################################################
# Mailparse extension:
###########################################################################
ARG INSTALL_MAILPARSE=false
RUN if [ ${INSTALL_MAILPARSE} = true ]; then \
# Install mailparse extension
printf "\n" | pecl install -o -f mailparse \
&& rm -rf /tmp/pear \
&& docker-php-ext-enable mailparse \
;fi
###########################################################################
# CacheTool:
###########################################################################
ARG INSTALL_CACHETOOL=false
RUN if [ ${INSTALL_CACHETOOL} = true ]; then \
if [ $(php -r "echo PHP_MAJOR_VERSION;") = "7" ] && [ $(php -r "echo PHP_MINOR_VERSION;") -ge 1 ]; then \
curl -sO http://gordalina.github.io/cachetool/downloads/cachetool.phar; \
else \
curl http://gordalina.github.io/cachetool/downloads/cachetool-3.2.1.phar -o cachetool.phar; \
fi && \
chmod +x cachetool.phar && \
mv cachetool.phar /usr/local/bin/cachetool \
;fi
###########################################################################
# XMLRPC:
###########################################################################
ARG INSTALL_XMLRPC=false
RUN if [ ${INSTALL_XMLRPC} = true ]; then \
docker-php-ext-install xmlrpc \
;fi
########################################################################### ###########################################################################
# Check PHP version: # Check PHP version:
########################################################################### ###########################################################################
@ -749,7 +938,14 @@ RUN apt-get clean && \
rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* && \ rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* && \
rm /var/log/lastlog /var/log/faillog rm /var/log/lastlog /var/log/faillog
RUN usermod -u 1000 www-data # Configure non-root user.
ARG PUID=1000
ENV PUID ${PUID}
ARG PGID=1000
ENV PGID ${PGID}
RUN groupmod -o -g ${PGID} www-data && \
usermod -o -u ${PUID} -g www-data www-data
# Adding the faketime library to the preload file needs to be done last # Adding the faketime library to the preload file needs to be done last
# otherwise it will preload it for all commands that follow in this file # otherwise it will preload it for all commands that follow in this file
@ -757,6 +953,10 @@ RUN if [ ${INSTALL_FAKETIME} = true ]; then \
echo "/usr/lib/x86_64-linux-gnu/faketime/libfaketime.so.1" > /etc/ld.so.preload \ echo "/usr/lib/x86_64-linux-gnu/faketime/libfaketime.so.1" > /etc/ld.so.preload \
;fi ;fi
# Configure locale.
ARG LOCALE=POSIX
ENV LC_ALL ${LOCALE}
WORKDIR /var/www WORKDIR /var/www
CMD ["php-fpm"] CMD ["php-fpm"]

View File

@ -1 +1,2 @@
extension=psr.so
extension=phalcon.so extension=phalcon.so

1918
php-fpm/php7.4.ini Normal file

File diff suppressed because it is too large Load Diff

View File

@ -36,7 +36,7 @@ xdebug_start ()
# And uncomment line with xdebug extension, thus enabling it # And uncomment line with xdebug extension, thus enabling it
ON_CMD="sed -i 's/^;zend_extension=/zend_extension=/g' \ ON_CMD="sed -i 's/^;zend_extension=/zend_extension=/g' \
/usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini" /usr/local/etc/php/conf.d/xdebug.ini"
# If running on Windows, need to prepend with winpty :( # If running on Windows, need to prepend with winpty :(
@ -58,7 +58,7 @@ xdebug_stop ()
echo 'Stop xDebug' echo 'Stop xDebug'
# Comment out xdebug extension line # Comment out xdebug extension line
OFF_CMD="sed -i 's/^zend_extension=/;zend_extension=/g' /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini" OFF_CMD="sed -i 's/^zend_extension=/;zend_extension=/g' /usr/local/etc/php/conf.d/xdebug.ini"
# If running on Windows, need to prepend with winpty :( # If running on Windows, need to prepend with winpty :(

View File

@ -1,7 +1,7 @@
; NOTE: The actual debug.so extention is NOT SET HERE but rather (/usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini) ; NOTE: The actual debug.so extention is NOT SET HERE but rather (/usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini)
; xdebug.remote_host=dockerhost xdebug.remote_host="host.docker.internal"
xdebug.remote_connect_back=1 xdebug.remote_connect_back=0
xdebug.remote_port=9000 xdebug.remote_port=9000
xdebug.idekey=PHPSTORM xdebug.idekey=PHPSTORM
@ -17,4 +17,3 @@ xdebug.remote_mode=req
xdebug.var_display_max_children=-1 xdebug.var_display_max_children=-1
xdebug.var_display_max_data=-1 xdebug.var_display_max_data=-1
xdebug.var_display_max_depth=-1 xdebug.var_display_max_depth=-1

View File

@ -1,6 +1,6 @@
[xhprof] [xhprof]
; extension=xhprof.so ; extension=xhprof.so
extension=tideways.so extension=tideways_xhprof.so
xhprof.output_dir=/var/www/xhprof xhprof.output_dir=/var/www/xhprof
; no need to autoload, control in the program ; no need to autoload, control in the program
tideways.auto_prepend_library=0 tideways.auto_prepend_library=0

View File

@ -4,11 +4,21 @@
#-------------------------------------------------------------------------- #--------------------------------------------------------------------------
# #
ARG PHP_VERSION=${PHP_VERSION} ARG LARADOCK_PHP_VERSION
FROM php:${PHP_VERSION}-alpine FROM php:${LARADOCK_PHP_VERSION}-alpine
LABEL maintainer="Mahmoud Zalt <mahmoud@zalt.me>" LABEL maintainer="Mahmoud Zalt <mahmoud@zalt.me>"
ARG LARADOCK_PHP_VERSION
# If you're in China, or you need to change sources, will be set CHANGE_SOURCE to true in .env.
ARG CHANGE_SOURCE=false
RUN if [ ${CHANGE_SOURCE} = true ]; then \
# Change application source from dl-cdn.alpinelinux.org to aliyun source
sed -i 's/dl-cdn.alpinelinux.org/mirrors.aliyun.com/' /etc/apk/repositories \
;fi
RUN apk --update add wget \ RUN apk --update add wget \
curl \ curl \
git \ git \
@ -21,10 +31,17 @@ RUN apk --update add wget \
autoconf \ autoconf \
cyrus-sasl-dev \ cyrus-sasl-dev \
libgsasl-dev \ libgsasl-dev \
oniguruma-dev \
openssl \
openssl-dev \
supervisor supervisor
RUN docker-php-ext-install mysqli mbstring pdo pdo_mysql tokenizer xml pcntl RUN docker-php-ext-install mysqli mbstring pdo pdo_mysql tokenizer xml pcntl
RUN pecl channel-update pecl.php.net && pecl install memcached mcrypt-1.0.1 mongodb && docker-php-ext-enable memcached mongodb RUN if [ $(php -r "echo PHP_MAJOR_VERSION;") = "5" ]; then \
pecl channel-update pecl.php.net && pecl install memcached-2.2.0 mcrypt-1.0.1 mongodb && docker-php-ext-enable memcached mongodb \
;else \
pecl channel-update pecl.php.net && pecl install memcached mcrypt-1.0.1 mongodb && docker-php-ext-enable memcached mongodb \
;fi
# Add a non-root user: # Add a non-root user:
ARG PUID=1000 ARG PUID=1000
@ -35,6 +52,35 @@ ENV PGID ${PGID}
RUN addgroup -g ${PGID} laradock && \ RUN addgroup -g ${PGID} laradock && \
adduser -D -G laradock -u ${PUID} laradock adduser -D -G laradock -u ${PUID} laradock
#Install BZ2:
ARG INSTALL_BZ2=false
RUN if [ ${INSTALL_BZ2} = true ]; then \
apk --update add bzip2-dev; \
docker-php-ext-install bz2; \
fi
#Install GD package:
ARG INSTALL_GD=false
RUN if [ ${INSTALL_GD} = true ]; then \
apk add --update --no-cache libpng-dev; \
docker-php-ext-install gd \
;fi
#Install ImageMagick:
ARG INSTALL_IMAGEMAGICK=false
RUN if [ ${INSTALL_IMAGEMAGICK} = true ]; then \
apk add --update imagemagick-dev imagemagick; \
pecl install imagick; \
docker-php-ext-enable imagick \
;fi
#Install GMP package:
ARG INSTALL_GMP=false
RUN if [ ${INSTALL_GMP} = true ]; then \
apk add --update --no-cache gmp gmp-dev \
&& docker-php-ext-install gmp \
;fi
#Install SOAP package: #Install SOAP package:
ARG INSTALL_SOAP=false ARG INSTALL_SOAP=false
RUN if [ ${INSTALL_SOAP} = true ]; then \ RUN if [ ${INSTALL_SOAP} = true ]; then \
@ -47,6 +93,47 @@ RUN if [ ${INSTALL_BCMATH} = true ]; then \
docker-php-ext-install bcmath \ docker-php-ext-install bcmath \
;fi ;fi
###########################################################################
# PHP OCI8:
###########################################################################
ARG INSTALL_OCI8=false
ENV LD_LIBRARY_PATH="/usr/local/instantclient"
ENV ORACLE_HOME="/usr/local/instantclient"
RUN if [ ${INSTALL_OCI8} = true ] && [ $(php -r "echo PHP_MAJOR_VERSION;") = "7" ]; then \
apk add make php7-pear php7-dev gcc musl-dev libnsl libaio poppler-utils libzip-dev zip unzip libaio-dev freetds-dev && \
## Download and unarchive Instant Client v11
curl -o /tmp/basic.zip https://raw.githubusercontent.com/bumpx/oracle-instantclient/master/instantclient-basic-linux.x64-11.2.0.4.0.zip && \
curl -o /tmp/sdk.zip https://raw.githubusercontent.com/bumpx/oracle-instantclient/master/instantclient-sdk-linux.x64-11.2.0.4.0.zip && \
curl -o /tmp/sqlplus.zip https://raw.githubusercontent.com/bumpx/oracle-instantclient/master/instantclient-sqlplus-linux.x64-11.2.0.4.0.zip && \
unzip -d /usr/local/ /tmp/basic.zip && \
unzip -d /usr/local/ /tmp/sdk.zip && \
unzip -d /usr/local/ /tmp/sqlplus.zip \
## Links are required for older SDKs
&& ln -s /usr/local/instantclient_11_2 ${ORACLE_HOME} && \
ln -s ${ORACLE_HOME}/libclntsh.so.* ${ORACLE_HOME}/libclntsh.so && \
ln -s ${ORACLE_HOME}/libocci.so.* ${ORACLE_HOME}/libocci.so && \
ln -s ${ORACLE_HOME}/lib* /usr/lib && \
ln -s ${ORACLE_HOME}/sqlplus /usr/bin/sqlplus &&\
ln -s /usr/lib/libnsl.so.2.0.0 /usr/lib/libnsl.so.1 && \
## Build OCI8 with PECL
echo "instantclient,${ORACLE_HOME}" | pecl install oci8 && \
echo 'extension=oci8.so' > /etc/php7/conf.d/30-oci8.ini \
# Clean up
apk del php7-pear php7-dev gcc musl-dev && \
rm -rf /tmp/*.zip /tmp/pear/ && \
docker-php-ext-configure pdo_oci --with-pdo-oci=instantclient,/usr/local/instantclient \
&& docker-php-ext-configure pdo_dblib --with-libdir=/lib \
&& docker-php-ext-install pdo_oci \
&& docker-php-ext-enable oci8 \
&& docker-php-ext-install zip && \
# Install the zip extension
docker-php-ext-configure zip && \
php -m | grep -q 'zip' \
;fi
# Install PostgreSQL drivers: # Install PostgreSQL drivers:
ARG INSTALL_PGSQL=false ARG INSTALL_PGSQL=false
RUN if [ ${INSTALL_PGSQL} = true ]; then \ RUN if [ ${INSTALL_PGSQL} = true ]; then \
@ -56,9 +143,14 @@ RUN if [ ${INSTALL_PGSQL} = true ]; then \
# Install ZipArchive: # Install ZipArchive:
ARG INSTALL_ZIP_ARCHIVE=false ARG INSTALL_ZIP_ARCHIVE=false
RUN if [ ${INSTALL_ZIP_ARCHIVE} = true ]; then \ RUN set -eux; \
if [ ${INSTALL_ZIP_ARCHIVE} = true ]; then \
apk --update add libzip-dev && \ apk --update add libzip-dev && \
docker-php-ext-configure zip --with-libzip && \ if [ ${LARADOCK_PHP_VERSION} = "7.3" ] || [ ${LARADOCK_PHP_VERSION} = "7.4" ]; then \
docker-php-ext-configure zip; \
else \
docker-php-ext-configure zip --with-libzip; \
fi && \
# Install the zip extension # Install the zip extension
docker-php-ext-install zip \ docker-php-ext-install zip \
;fi ;fi
@ -66,7 +158,7 @@ RUN if [ ${INSTALL_ZIP_ARCHIVE} = true ]; then \
# Install MySQL Client: # Install MySQL Client:
ARG INSTALL_MYSQL_CLIENT=false ARG INSTALL_MYSQL_CLIENT=false
RUN if [ ${INSTALL_MYSQL_CLIENT} = true ]; then \ RUN if [ ${INSTALL_MYSQL_CLIENT} = true ]; then \
apk --update add mysql-client \ apk --update add mysql-client \
;fi ;fi
# Install FFMPEG: # Install FFMPEG:
@ -85,6 +177,17 @@ RUN if [ ${INSTALL_AMQP} = true ]; then \
docker-php-ext-install sockets \ docker-php-ext-install sockets \
;fi ;fi
# Install Gearman:
ARG INSTALL_GEARMAN=false
RUN if [ ${INSTALL_GEARMAN} = true ]; then \
sed -i "\$ahttp://dl-cdn.alpinelinux.org/alpine/edge/main" /etc/apk/repositories && \
sed -i "\$ahttp://dl-cdn.alpinelinux.org/alpine/edge/community" /etc/apk/repositories && \
sed -i "\$ahttp://dl-cdn.alpinelinux.org/alpine/edge/testing" /etc/apk/repositories && \
apk --update add php7-gearman && \
sh -c 'echo "extension=/usr/lib/php7/modules/gearman.so" > /usr/local/etc/php/conf.d/gearman.ini' \
;fi
# Install Cassandra drivers: # Install Cassandra drivers:
ARG INSTALL_CASSANDRA=false ARG INSTALL_CASSANDRA=false
RUN if [ ${INSTALL_CASSANDRA} = true ]; then \ RUN if [ ${INSTALL_CASSANDRA} = true ]; then \
@ -112,6 +215,13 @@ ENV PHALCON_VERSION ${PHALCON_VERSION}
RUN if [ $INSTALL_PHALCON = true ]; then \ RUN if [ $INSTALL_PHALCON = true ]; then \
apk --update add unzip gcc make re2c bash\ apk --update add unzip gcc make re2c bash\
&& git clone https://github.com/jbboehr/php-psr.git \
&& cd php-psr \
&& phpize \
&& ./configure \
&& make \
&& make test \
&& make install \
&& curl -L -o /tmp/cphalcon.zip https://github.com/phalcon/cphalcon/archive/v${PHALCON_VERSION}.zip \ && curl -L -o /tmp/cphalcon.zip https://github.com/phalcon/cphalcon/archive/v${PHALCON_VERSION}.zip \
&& unzip -d /tmp/ /tmp/cphalcon.zip \ && unzip -d /tmp/ /tmp/cphalcon.zip \
&& cd /tmp/cphalcon-${PHALCON_VERSION}/build \ && cd /tmp/cphalcon-${PHALCON_VERSION}/build \
@ -119,22 +229,20 @@ RUN if [ $INSTALL_PHALCON = true ]; then \
&& rm -rf /tmp/cphalcon* \ && rm -rf /tmp/cphalcon* \
;fi ;fi
ARG INSTALL_GHOSTSCRIPT=false
RUN if [ $INSTALL_GHOSTSCRIPT = true ]; then \ RUN if [ $INSTALL_GHOSTSCRIPT = true ]; then \
apk --update add ghostscript \ apk --update add ghostscript \
;fi ;fi
#Install GMP package: # Install Redis package:
ARG INSTALL_GMP=false ARG INSTALL_REDIS=false
RUN if [ ${INSTALL_GMP} = true ]; then \ RUN if [ ${INSTALL_REDIS} = true ]; then \
apk add --update --no-cache gmp gmp-dev \ # Install Redis Extension
&& docker-php-ext-install gmp \ printf "\n" | pecl install -o -f redis \
&& rm -rf /tmp/pear \
&& docker-php-ext-enable redis \
;fi ;fi
RUN rm /var/cache/apk/* \
&& mkdir -p /var/www
########################################################################### ###########################################################################
# Swoole EXTENSION # Swoole EXTENSION
########################################################################### ###########################################################################
@ -169,6 +277,28 @@ RUN if [ ${INSTALL_TAINT} = true ]; then \
docker-php-ext-enable taint \ docker-php-ext-enable taint \
;fi ;fi
###########################################################################
# Imap EXTENSION
###########################################################################
ARG INSTALL_IMAP=false
RUN if [ ${INSTALL_IMAP} = true ]; then \
apk add --update imap-dev openssl-dev && \
docker-php-ext-configure imap --with-imap --with-imap-ssl && \
docker-php-ext-install imap \
;fi
###########################################################################
# XMLRPC:
###########################################################################
ARG INSTALL_XMLRPC=false
RUN if [ ${INSTALL_XMLRPC} = true ]; then \
docker-php-ext-install xmlrpc \
;fi
# #
#-------------------------------------------------------------------------- #--------------------------------------------------------------------------
# Optional Supervisord Configuration # Optional Supervisord Configuration
@ -205,4 +335,8 @@ RUN php -v | head -n 1 | grep -q "PHP ${PHP_VERSION}."
#-------------------------------------------------------------------------- #--------------------------------------------------------------------------
# #
# Clean up
RUN rm /var/cache/apk/* \
&& mkdir -p /var/www
WORKDIR /etc/supervisor/conf.d/ WORKDIR /etc/supervisor/conf.d/

View File

@ -5,5 +5,10 @@ LABEL maintainer="Bo-Yi Wu <appleboy.tw@gmail.com>"
# Add volume for sessions to allow session persistence # Add volume for sessions to allow session persistence
VOLUME /sessions VOLUME /sessions
RUN echo '' >> /usr/local/etc/php/conf.d/php-phpmyadmin.ini \
&& echo '[PHP]' >> /usr/local/etc/php/conf.d/php-phpmyadmin.ini \
&& echo 'post_max_size = 2G' >> /usr/local/etc/php/conf.d/php-phpmyadmin.ini \
&& echo 'upload_max_filesize = 2G' >> /usr/local/etc/php/conf.d/php-phpmyadmin.ini
# We expose phpMyAdmin on port 80 # We expose phpMyAdmin on port 80
EXPOSE 80 EXPOSE 80

View File

@ -1,6 +1,5 @@
FROM postgres:alpine ARG POSTGRES_VERSION=alpine
FROM postgres:${POSTGRES_VERSION}
LABEL maintainer="Ben M <git@bmagg.com>"
CMD ["postgres"] CMD ["postgres"]

View File

@ -33,7 +33,7 @@
# EOSQL # EOSQL
# #
### default database and user for confluence ############################################## ### default database and user for confluence ##############################################
if [ "$POSTGRES_CONFLUENCE_INIT" == 'true' ]; then if [ "$CONFLUENCE_POSTGRES_INIT" == 'true' ]; then
psql -v ON_ERROR_STOP=1 --username "$POSTGRES_USER" --dbname "$POSTGRES_DB" <<-EOSQL psql -v ON_ERROR_STOP=1 --username "$POSTGRES_USER" --dbname "$POSTGRES_DB" <<-EOSQL
CREATE USER $POSTGRES_CONFLUENCE_USER WITH PASSWORD '$POSTGRES_CONFLUENCE_PASSWORD'; CREATE USER $POSTGRES_CONFLUENCE_USER WITH PASSWORD '$POSTGRES_CONFLUENCE_PASSWORD';
CREATE DATABASE $POSTGRES_CONFLUENCE_DB; CREATE DATABASE $POSTGRES_CONFLUENCE_DB;
@ -41,4 +41,4 @@ if [ "$POSTGRES_CONFLUENCE_INIT" == 'true' ]; then
ALTER ROLE $POSTGRES_CONFLUENCE_USER CREATEROLE SUPERUSER; ALTER ROLE $POSTGRES_CONFLUENCE_USER CREATEROLE SUPERUSER;
EOSQL EOSQL
echo echo
fi fi

View File

@ -1,7 +1,11 @@
FROM traefik:1.7.5-alpine FROM traefik:v2.2
LABEL maintainer="Luis Coutinho <luis@luiscoutinho.pt>" LABEL maintainer="Luis Coutinho <luis@luiscoutinho.pt>"
COPY traefik.toml acme.json / WORKDIR /data
RUN chmod 600 /acme.json RUN touch acme.json
RUN chmod 600 acme.json
VOLUME /data

View File

2
traefik/data/.gitignore vendored Normal file
View File

@ -0,0 +1,2 @@
*
!.gitignore

View File

@ -1,23 +0,0 @@
defaultEntryPoints = ["http", "https"]
[entryPoints]
[entryPoints.http]
address = ":80"
[entryPoints.http.redirect]
entryPoint = "https"
[entryPoints.https]
address = ":443"
[entryPoints.https.tls]
[web]
address = ":8080"
[acme]
email = "email@example.org"
storage = "acme.json"
entryPoint = "https"
onHostRule = true
[acme.httpChallenge]
entryPoint = "http"
[[acme.domais]]
main = "localhost"

View File

@ -1,16 +1,8 @@
FROM debian:latest FROM varnish:6.3
LABEL maintainer="ZeroC0D3 Team<zeroc0d3.team@gmail.com>"
# Set Environment Variables # Set Environment Variables
ENV DEBIAN_FRONTEND noninteractive ENV DEBIAN_FRONTEND noninteractive
# Install Dependencies
RUN apt-get update && apt-get install -y apt-utils && apt-get upgrade -y
RUN mkdir /home/site && mkdir /home/site/cache
RUN apt-get install -y varnish
RUN rm -rf /var/lib/apt/lists/*
# Setting Configurations # Setting Configurations
ENV VARNISH_CONFIG /etc/varnish/default.vcl ENV VARNISH_CONFIG /etc/varnish/default.vcl
ENV CACHE_SIZE 128m ENV CACHE_SIZE 128m

Some files were not shown because too many files have changed in this diff Show More