Compare commits

..

229 Commits

Author SHA1 Message Date
871a9d032a Merge pull request #1438 from pangminfu/apache-docroot-path
Apache document root path configurable with env file
2018-03-25 19:15:16 +03:00
805d7f94e8 Merge pull request #1399 from mariano-dagostino/1372-ssh
Make possible to login via ssh using the laradock user.
2018-03-25 19:14:10 +03:00
c84a57cd13 Merge pull request #1450 from bestlong/increase-install-check
Increase install check
2018-03-24 15:28:29 +08:00
e6817288f8 workspace sql server section: increase install check 2018-03-24 14:23:01 +08:00
cd849dda21 php-fpm sql server section: increase install check 2018-03-24 13:56:06 +08:00
21a5d5bf98 Merge pull request #1421 from spyridonas/patch-1
Save PostgresSQL data to hard drive.
2018-03-23 16:54:41 +08:00
2ab11bf1af Merge pull request #1447 from bestlong/fix-users-aliases
fix mistake #1427 about user aliases.
2018-03-23 16:51:41 +08:00
141d2dbe7f fix file owner. 2018-03-23 16:09:10 +08:00
4d384c0a67 fix mistake #1427 about user aliases. 2018-03-23 15:17:35 +08:00
9a9d30f173 Merge pull request #1444 from bestlong/clean-up-workspace-laravel
update default install arg and remove extra run command
2018-03-20 13:59:27 +08:00
99c7758799 update default install arg and remove extra run command 2018-03-20 10:59:59 +08:00
164069c256 Merge pull request #1443 from bestlong/clean-up-aerospike
clean up aerospike and empty line
2018-03-19 22:46:13 +08:00
5773d270ca clean up aerospike and empty line 2018-03-19 22:15:24 +08:00
f810962d84 add APACHE_DOCUMENT_ROOT in env-example file 2018-03-18 17:38:49 +08:00
f5f23bed1b apache2 accept APACHE_DOCUMENT_ROOT argument from .env file 2018-03-18 17:37:21 +08:00
e694254fb0 WEB_DOCUMENT_ROOT accept argument DOCUMENT_ROOT with original default value /var/www/ 2018-03-18 17:34:15 +08:00
c34d2d12b3 Merge pull request #1435 from bestlong/sort-up
MAINTAINER is deprecated
2018-03-16 21:47:58 +08:00
349be8b30e MAINTAINER is deprecated 2018-03-16 21:09:15 +08:00
436e9e5a66 Merge pull request #1434 from bestlong/sort-up
Sort up
2018-03-16 18:34:53 +08:00
b445479c99 add gitlab-ci config file. 2018-03-16 17:34:57 +08:00
70e10a4953 MAINTAINER is deprecated 2018-03-16 17:34:47 +08:00
1ab5b405a9 remove wrong comment info. 2018-03-16 16:24:20 +08:00
91784cbf8a Merge pull request #1431 from bestlong/workspace-mssql-build-fail
fix workspace mssql build fail
2018-03-16 15:56:14 +08:00
415a6159f6 fix workspace mssql build fail 2018-03-16 15:22:21 +08:00
2cf368e2cc Arg not consumed (#1430)
* fix arg CHROME_DRIVER_VERSION not consumed
* fix arg INSTALL_V8JS not consumed
2018-03-16 11:39:32 +08:00
f08c3bda4d workspace in gitlab build fail (#1429)
fix "sed: couldn't open temporary file /home/laradock/sed6KGnMb: Permission denied"
2018-03-16 10:41:54 +08:00
c5c4d19476 Merge pull request #1427 from bestlong/workspace-user-aliase-remove-duplicate-command
workspace Dockerfile remove duplicate command in User Aliases section.
2018-03-15 11:32:47 +08:00
40796651f6 workspace Dockerfile remove duplicate command in User Aliases section. 2018-03-15 11:22:43 +08:00
188a7d7624 Merge pull request #1425 from suheb/fix/imagemagick
Run apt-get update before installing imagemagick in workspace
2018-03-15 09:26:00 +08:00
3f1f60da91 Merge pull request #1412 from CantonBolo/optimize
Custom composer repo and npm registry url in php72
2018-03-15 09:24:07 +08:00
21e3ef8c47 Merge pull request #1426 from suheb/fix/mysql
Update mysql version to latest
2018-03-14 20:38:01 +08:00
7876aa2360 Update default mysql version
Signed-off-by: Suhaib Khan <suheb.work@gmail.com>
2018-03-14 15:43:14 +05:30
dee66c2495 Merge pull request #1420 from gentcys/my-fix-branch
PPA 'pinepain/libv8-5.4' has been deprecated, use 'pinepain/libv8-archived' instead
2018-03-14 12:53:36 +08:00
ce8bdb91cf Run apt-get update before installing imagemagick in workspace
Signed-off-by: Suhaib Khan <suheb.work@gmail.com>
2018-03-13 12:18:08 +05:30
f90a81ef8b Update mysql version to latest
Signed-off-by: Suhaib Khan <suheb.work@gmail.com>
2018-03-13 11:52:20 +05:30
23b8239cfa Save PostgresSQL data to hard drive.
PostgresSQL data don't get saved to hard drive. This tweak should fix that
2018-03-09 10:47:43 +02:00
b7b7690bbe The PPA of 'pinepain/libv8-5.4' has been deprecated, use 'pinepain/libv8-archived' instead 2018-03-09 11:43:40 +08:00
e054b622f3 Custom composer repo and npm registry url in php72 2018-03-05 02:08:11 +08:00
c4aef8e901 Merge pull request #1406 from vjrngn/patch-1
Reference beanstalkd-console host port environment variable in docker-compose.yml
2018-03-02 08:22:36 +08:00
47dc7c1eb9 update documentation 2018-03-01 22:10:08 +05:30
8fc33f5bb9 Reference beanstalkd-console host port
This pull request references the of `BEANSTALKD_CONSOLE_HOST_PORT` from the `.env` file in the `docker-compose.yml`. Prior to this PR, the environment variable was defined in the `.env` file but was not used.
2018-03-01 22:00:15 +05:30
8607f670c1 Update .travis.yml
Add Apache Solr  Test
2018-02-27 17:21:48 +08:00
04105b912d Merge pull request #1375 from wvdongen/master
Added support for Apache Solr
2018-02-27 17:19:20 +08:00
a797d67f14 Merge pull request #1402 from bestlong/workspace-php72-prestissimo
Support Prestissimo
2018-02-27 09:12:01 +08:00
4169a9b357 Support Prestissimo 2018-02-27 08:12:16 +08:00
8d0bd8505c Merge pull request #1354 from taufek/tj-install-prestissimo
Install Prestissimo in Workspace
2018-02-27 00:00:25 +08:00
dc5474d31b Merge pull request #1401 from bestlong/php-fpm-install-imap
Update php-fpm/Dockerfile-72 add IMAP support
2018-02-26 21:32:54 +08:00
ab9f5aba6e Update Dockerfile-72 2018-02-26 21:27:56 +08:00
cbd0f1de79 Update documentation to explain how to login via ssh using the laradock user 2018-02-26 10:25:15 -03:00
2a2d78e249 Merge pull request #1377 from SvenSlijkoord/php-fpm-install-imap
Added IMAP installation to PHP-FPM container
2018-02-26 21:19:02 +08:00
9b328cce1f Make possible to log in via ssh using the laradock user 2018-02-26 09:52:50 -03:00
43ba898df3 Merge branch 'master' into php-fpm-install-imap 2018-02-26 20:33:35 +08:00
3b0f271782 Merge pull request #1368 from Alexanderwmc/my-fix-branch
update nvm to 0.33.8
2018-02-26 20:26:38 +08:00
327e79f902 Merge pull request #1398 from bestlong/optimize-travis-ci
Optimize travis ci job
2018-02-26 18:48:39 +08:00
e546c9c190 Update php72.ini (#1397) 2018-02-26 18:44:02 +08:00
880c3684d7 optimize travis ci job 2018-02-26 17:20:10 +08:00
27ec06bbf0 Merge pull request #1371 from oysterprotocol/change-php-settings
Change php settings
2018-02-26 16:46:21 +08:00
6fe3dc75b3 Update symfony.conf.example 2018-02-26 15:48:06 +08:00
dd751c56b7 Update app.conf.example 2018-02-26 15:47:45 +08:00
91d202dff4 Update laravel.conf.example 2018-02-26 15:47:23 +08:00
ca376935e1 Merge pull request #1382 from desaroger/php-72-pr
Add PHP 7.2 support and fix issues on 5.6-7.0-7.1 versions
2018-02-26 10:43:16 +08:00
227bc37376 Fix MSSQL issue with a non-installed dependency 2018-02-23 22:26:13 +01:00
74ca3b82a1 Fix issue installing Aerospike in php-fpm with php 7.2 2018-02-23 22:02:57 +01:00
d23c553313 Fix installing PG client 2018-02-23 21:27:04 +01:00
16f88029e0 Fix install deployer fail
Install deployer from phar
2018-02-22 17:20:28 +08:00
74217478e0 Update .travis.yml
Add PHP72 Test
2018-02-22 11:39:10 +08:00
13f55ef796 Merge pull request #1387 from CantonBolo/optimize
Support custom composer repo url and npm registry url
2018-02-22 10:08:15 +08:00
715c2176b8 Merge pull request #1347 from zgoo/zgoo-laradock
Remove blank lines in php-fpm/Dockerfile70&71
2018-02-22 10:06:22 +08:00
43bf67b77e update document 2018-02-21 13:28:34 +08:00
4b5a1ef628 support custom composer repo url and npm registry url 2018-02-21 13:13:19 +08:00
198c3906b2 Fix libgmp not locating gmp.h file 2018-02-17 09:50:16 +01:00
9bd34ed665 Fix typo on grep when checking php-version 2018-02-17 09:35:59 +01:00
76da02e779 Add PHP version checkers on all php-related dockerfiles 2018-02-17 09:26:46 +01:00
a52a944003 Install deployer from phar to be compatible with laravel 4 2018-02-17 08:54:02 +01:00
4cffb2fc99 Avoid to install PHP latest on a PHP 7.1 dockerfile 2018-02-17 08:37:25 +01:00
92dda4695c Changes to make travis work, copied from spyridonas PR 2018-02-16 21:12:14 +01:00
c42e039945 Downgrade swoole to pass travis 5.6 test 2018-02-16 21:07:45 +01:00
72d550e6e5 Set php default version to 72 2018-02-16 19:10:03 +01:00
e1c3524f43 Move php-worker mcrypt installation to pecl 2018-02-16 18:51:24 +01:00
91131f0963 Add PHP 7.2 support 2018-02-16 18:40:13 +01:00
61d3874736 Update docker-compose.yml 2018-02-13 19:19:07 +01:00
03c7611010 Update Dockerfile-56 2018-02-13 19:18:22 +01:00
48de39b1a1 Update Dockerfile-70 2018-02-13 19:18:07 +01:00
2ca9d3c5c6 Update Dockerfile-71 2018-02-13 19:17:31 +01:00
3b219d2974 Added env entry PHP_FPM_INSTALL_IMAP 2018-02-13 19:15:49 +01:00
e77480b69f Merge pull request #1 from laradock/master
Merge origin laradock
2018-02-13 19:10:36 +01:00
b7f89e6b00 Add Solr 2018-02-11 11:36:57 +01:00
acbe7160d9 Merge pull request #1374 from bestlong/fix-php56-swoole-build-fail
Fix PHP56, workspace build fail: pecl/swoole requires PHP (version >= 7.0.0)
2018-02-11 13:29:08 +08:00
f53565f2a6 Fix workspace, PHP56 build fail
pecl/swoole requires PHP (version >= 7.0.0)
2018-02-11 13:04:20 +08:00
dfff0b2fa0 Fix pecl/swoole requires PHP (version >= 7.0.0) 2018-02-11 12:44:24 +08:00
82a2681eed Update php70.ini 2018-02-08 12:59:34 -05:00
e792aa654e Update php71.ini 2018-02-08 12:58:37 -05:00
87e1bdeb92 update nvm to 0.33.8 2018-02-06 14:29:41 +08:00
f05fdc71d5 doubling memory limit for php on brokers 2018-01-31 16:46:45 -08:00
6e96b1c6f9 Update default.conf 2018-01-29 16:38:09 -08:00
fad7c11d53 laravel timeouts 2018-01-29 16:32:18 -08:00
639b14445f Update default.conf 2018-01-29 16:31:48 -08:00
0b902e3e96 Install Prestissimo in Workspace
**Why we need this change?**

[Prestissimo](https://github.com/hirak/prestissimo) will enabled `composer` to install plugins in parallel.

**Source**

http://jackmcdade.com/blog/tired-of-waiting
2018-01-17 10:21:08 +08:00
f27b3aa4be Remove blank lines
Just do it to avoid Warning message on building the php-fpm container
2018-01-12 02:04:02 +08:00
722f7d09c0 Remove blank lines
Just do it to avoid Warning message on building the php-fpm container
2018-01-12 01:43:25 +08:00
0077de28a1 Merge pull request #1345 from jdxia/master
workspace container adds swoole
2018-01-09 19:23:10 +01:00
d098f1f6ad Merge pull request #1322 from jk2K/master
feat: add GMP extension to PHP-fpm
2018-01-09 19:22:19 +01:00
4ea9cd0663 Merge pull request #1342 from zuohuadong/patch-24
add examples in caddy
2018-01-09 19:19:55 +01:00
9de6d9b9e1 Merge pull request #1338 from vitoo/patch-1
Update supervisord.conf to enable supervisorctl
2018-01-09 19:19:06 +01:00
04b4af829f Merge pull request #1332 from mouyong/master
update jenkins from 2.73.2 to 2.89.2 and fix nginx/Dockerfile syntax error.
2018-01-09 19:18:52 +01:00
bf2dbca286 Merge pull request #1335 from m1guelpf-forks/patch-1
Update license year
2018-01-09 19:18:31 +01:00
0b7cb81f47 Merge pull request #1333 from Zamerick/master
updates path for postgres
2018-01-09 19:18:01 +01:00
368c85dc61 Merge pull request #1326 from ed-fruty/add_amqp_supports
Added support for AMQP extension in workspace and php-fpm containers.
2018-01-09 19:16:30 +01:00
ae7dda9ef2 Merge pull request #1329 from monkeycorp/bugfix/elastisearh-low-memory
add memory to process up elastiseach
2018-01-09 19:15:23 +01:00
7e88fb56f1 Merge pull request #1327 from ed-fruty/ssh_for_laradock_user
Ssh for laradock user
2018-01-09 19:13:15 +01:00
807443455a remove codesponsor.io links 2018-01-09 19:09:54 +01:00
x
c44338e370 workspace container adds swoole 2018-01-09 11:25:57 +08:00
b4ded4f21b add examples
webhook & proxy
2018-01-08 12:24:03 +08:00
3e5a6029ab Update supervisord.conf to enable supervisorctl
Enabling supervisorctl allow us to do, start/stop one service without having to stop the entire container for example. Usefull when we have many php process running.

supervisorctl stop laravel-worker
2018-01-04 23:57:33 +01:00
ee205d1198 [F] fix syntax error. 2018-01-04 13:57:46 +08:00
0fcb8b43cc Update license year 2017-12-31 22:12:59 +01:00
7bd22f015e updates path for postgres 2017-12-30 16:14:02 -05:00
07acf291fa remove line 2.73.2 2017-12-30 13:41:54 +08:00
cfe6e254a7 update jenkins from 2.73.2 to 2.89.2 2017-12-30 13:38:07 +08:00
5efda6714b Update apt packages to install librabbitmq for php 7.0 and php 5.6 2017-12-29 16:02:46 +02:00
a83477b439 Added packages update to install librabbit-mq. 2017-12-29 14:25:43 +02:00
00f8c3407e add memory to process up elastiseach 2017-12-28 10:54:45 -06:00
0aaa2c742e Added support for AMQP extension in workspace and php-fpm containers. 2017-12-28 14:25:32 +02:00
4ada536d68 Added laradock user ssh supports for php5.6 and php7.0. 2017-12-28 12:56:11 +02:00
222febadb5 Allowed laradock user use ssh settings (copied from root). 2017-12-28 12:53:33 +02:00
0445d76d11 feat: add GMP extension to PHP-fpm 2017-12-27 18:56:26 +08:00
7fc3a9cb7a add Dockery to a list of related projects
closes #1319
2017-12-27 02:51:50 +01:00
b738253a26 update simple text in the docs 2017-12-20 18:10:20 +01:00
6e6a658a79 fix broken test 2017-12-20 18:07:37 +01:00
4bc6526c3c add missing doc about jenkins 2017-12-20 18:03:10 +01:00
d4f9b04467 ignore /jenkins/jenkins_home/ generated files 2017-12-20 01:09:47 +01:00
b9e982c112 rename balancer to haproxy 2017-12-20 01:09:19 +01:00
ad3698670b replace .dev with .test to avoid issues with the new google chrome 2017-12-17 21:35:31 +01:00
71cc109334 update base tags 2017-12-17 21:31:37 +01:00
0d804cd29a enable remote_connect_back instead of defining remote host in xdebug
and modify the default var display
2017-12-17 21:31:05 +01:00
3fcebd49e7 Merge pull request #1311 from KoRiGaN/master
Give minio access to backend
2017-12-17 21:15:12 +01:00
86eccdb962 Merge pull request #1312 from jonaselan/patch-1
Update index.md
2017-12-17 21:14:56 +01:00
0f46659172 fix misspelled 2017-12-15 09:23:24 -03:00
017fcf188b Update index.md
Google Chrome is releasing v63 which now forces all .dev domains to use HTTPS. Me and my co-workers had problems with this, so I do not want this to happen to others.
2017-12-13 18:22:18 -03:00
63c69231f7 Give minio access to backend
Add volume to persist minio configuration
Modify minio data volume to use the standard DATA_SAVE_PATH
2017-12-13 17:45:15 +01:00
4730ed1b78 Merge pull request #1308 from gorjan-mishevski/patch-1
Update index.md
2017-12-11 18:10:05 +01:00
c21c6760ac Merge pull request #1309 from bestlong/refactoring-travis
Refactor travis.yml
2017-12-11 17:00:53 +08:00
1c194f5c87 Merge duplicate services build job 2017-12-11 14:25:42 +08:00
81b34a72eb ignore aws service 2017-12-11 12:01:23 +08:00
fde265ed6a Update index.md
Syntax typo error fix.
2017-12-11 01:01:15 +01:00
64029d9270 fix sed expression unknown option 2017-12-10 23:48:53 +08:00
407c08017d add new services 2017-12-10 23:23:03 +08:00
2156139b5a merge independent services 2017-12-10 23:21:09 +08:00
e1ccd84c16 Merge pull request #1307 from bestlong/fix-php-worker-build-fail
Fix php-worker build fail
2017-12-10 20:59:53 +08:00
d139b6bc2e fix php-worker build fail 2017-12-10 18:27:30 +08:00
5e10abd536 Merge pull request #1306 from bestlong/fix-hhvm-build-fail
fix install hhvm package cannot be authenticated
2017-12-10 18:19:06 +08:00
c6a8500c44 fix install hhvm package cannot be authenticated 2017-12-10 17:43:30 +08:00
b981168111 Merge pull request #1305 from bestlong/fix-workspace-php-56-build-fail
Fix workspace php56 build fail
2017-12-10 17:33:15 +08:00
cd1c9c0d44 fix aerospike build fail 2017-12-10 16:13:39 +08:00
8e32b93264 Merge pull request #1304 from bestlong/fix-php-fpm-56-aerospike-build-fail
fix aerospike build fail
2017-12-10 09:00:16 +01:00
a2ae141a75 fix aerospike build fail 2017-12-10 15:10:41 +08:00
f22ceb71ab Merge pull request #1298 from nm777/bug/issue-1296-php56-ldap-in-workspace
Add LDAP support to PHP 5.6 workspace
2017-12-06 21:36:32 +01:00
6ea86fbce3 Add LDAP support to PHP 5.6 workspace
Issue #1296:
PHP 7.0 and 7.1 workspaces support adding the PHP LDAP module. The
PHP 5.6 workspace file seems to have missed this for some reason.
2017-12-05 12:52:35 -06:00
dec08ec2b1 Merge pull request #1295 from Rhymond/patch-2
LInk is not working
2017-12-05 02:31:28 +01:00
98fba83331 LInk is not working 2017-12-04 09:38:57 +00:00
694b39ddf4 Merge pull request #1293 from Rhymond/patch-1
Compatibility for COMPOSE_FILE
2017-12-04 08:51:32 +01:00
d0167475ba Merge pull request #1279 from scaule/scaule-patch
Don't use docker-compose down to stop containers
2017-12-04 08:38:29 +01:00
3bdab382ea Merge pull request #1276 from scaule/patch-#1275
#1275 Fix memory leaks in docker-sync with verbose true
2017-12-04 08:36:37 +01:00
80f6e8b60c Merge pull request #1273 from EnnioSimoes/master
adding '\' to the Dockerfile nginx statement
2017-12-04 08:36:03 +01:00
ba61566f28 Merge pull request #1269 from francoisfaubert/master
Clarified how to split multiple docker-compose files on Windows
2017-12-04 08:35:01 +01:00
9ae10d32ce Merge pull request #1233 from zuohuadong/patch-18
Remove duplicate configuration
2017-12-04 08:34:17 +01:00
cf136f891b Windows compatibility
COMPOSE_PATH_SEPARATOR
If set, the value of the COMPOSE_FILE environment variable will be separated using this character as path separator.
2017-12-03 23:04:20 +00:00
59dff53176 Don't use docker-compose down to stop containers
This delete containers and volume too. 
Use docker-compose stop who only stop containers
2017-11-28 15:33:27 +01:00
34267ffc4d #1275 Fix memory leaks in docker-sync with verbose true 2017-11-27 12:00:05 +01:00
57918b69a7 adding '\' to the Dockerfile nginx statement 2017-11-26 17:30:32 -02:00
c11658559a Updated the documentation to illustrate my proposition 2017-11-23 14:21:38 -05:00
47c74d1334 Added clarification on how to split multiple docker-compose files within COMPOSE_FILE on Windows 2017-11-23 14:02:56 -05:00
e779bf96ab reorder some keys in the .env for easier modification 2017-11-23 20:52:42 +02:00
06ce5ca222 add open collective to the documentation 2017-11-23 20:41:41 +02:00
c06c28aa04 Merge branch 'opencollective-opencollective'
* opencollective-opencollective:
  add open collective to the readme
  Update README.md
2017-11-23 20:30:27 +02:00
c1e80e3af4 add open collective to the readme 2017-11-23 20:30:10 +02:00
a7c9232193 Merge branch 'opencollective' of https://github.com/opencollective/laradock into opencollective-opencollective
* 'opencollective' of https://github.com/opencollective/laradock:
  Update README.md
2017-11-23 20:16:54 +02:00
265bc13917 Merge pull request #1251 from mouyong/master
Set environment to change source.
2017-11-23 20:12:11 +02:00
8d410e9c82 merge upstream 2017-11-23 13:42:33 +08:00
f56a585ab2 Update README.md 2017-11-22 17:52:45 -05:00
9b8d4806a8 Merge pull request #1265 from jeff-h/master1
Specifying included docker-compose files in the .env is more flexible
2017-11-22 20:15:07 +02:00
73b95357ac Specifying included docker-compose files in the .env is more flexible than hardcoding in the shell script. 2017-11-22 10:48:22 +13:00
65a8bbc6a4 Merge pull request #1262 from jeff-h/issue-171
Fixes #353 and allows easier dev & prod environments
2017-11-21 22:56:04 +02:00
7c1f3060bf Merge pull request #1257 from nellonican/hotfix
Remove python installation from Dockerfile-71
2017-11-21 22:55:33 +02:00
45e1ecf3c0 Merge pull request #1256 from ricardoseriani/remove-the-github-paragraph-on-header
Remove the github paragraph on header
2017-11-21 22:54:54 +02:00
c6b1eb016d Merge pull request #1255 from zuohuadong/patch-23
Remove useless...
2017-11-21 22:53:32 +02:00
c5005f54f7 Merge pull request #1254 from zuohuadong/patch-22
add git  & Chinese users friendly.
2017-11-21 22:53:19 +02:00
cf5b1af31a Fixes #353 and allows easier dev & prod environments by splitting dev-specific configuration into a separate docker-compose. 2017-11-21 09:59:11 +13:00
8dea201b68 Remove python installation from Dockerfile-71
Python can be installed by using the WORKSPACE_INSTALL_PYTHON
variable in the .env file. Fixes #1238
2017-11-16 21:31:43 +01:00
50a3e24db8 Remove the github paragraph on header
Remove the github paragraph on header, since it already has a link to github using aria to accessibility
2017-11-16 12:13:00 -02:00
9835a20863 Remove useless...
Remove useless...
2017-11-15 13:05:26 +08:00
5bcb99dfb9 add git & Chinese users friendly.
China can not access  golang.org.
2017-11-15 13:00:57 +08:00
9877f0453e Merge pull request #1253 from gbroques/fix-logo-covers-links-in-mobile-drawer-menu
Fix logo covering links in mobile drawer menu (Closes #1252)
2017-11-14 22:28:49 +02:00
ff20333d8c Fix logo covering links in mobile drawer menu (Closes #1252) 2017-11-14 09:44:58 -06:00
a99281cda8 Change application source from dl-cdn.alpinelinux.org to aliyun source 2017-11-14 21:03:19 +08:00
1342b696ea Merge branch 'master' of https://github.com/laradock/laradock 2017-11-14 20:57:52 +08:00
2fc0f3cb2e improve readability of the .env file 2017-11-14 12:53:30 +02:00
6c3b18340f Merge pull request #1248 from mariano-dagostino/fix1247
Fixes #1247 by removing /var/log/fastlog and /var/log/lastlog
2017-11-13 20:27:21 +02:00
de247a074e Merge pull request #1246 from axit-joost/master
Fixes laradock/laradock#1245 by adding python to the image
2017-11-13 20:27:07 +02:00
176dd74906 Merge pull request #1244 from zuohuadong/patch-21
upgrade  Description
2017-11-13 20:26:54 +02:00
819b1eb3bc Merge pull request #1243 from zuohuadong/patch-20
fix pgadmin-backup
2017-11-13 20:26:33 +02:00
05dd1b0339 Fixes #1247 by removing /var/log/fastlog and /var/log/lastlog 2017-11-13 13:37:04 -03:00
f0401f5047 Fixes laradock/laradock#/1245 by adding python to the image 2017-11-13 14:39:57 +01:00
be13fdba7f upgrade Description
upgrade  Description
2017-11-13 18:35:11 +08:00
bd0f04bd80 fix pgadmin-backup
new version has new contents
2017-11-13 18:33:28 +08:00
f7ac8cf862 Merge pull request #1241 from nellonican/master
Fix Dockerfile
2017-11-12 20:56:40 +02:00
b47963c80d Fix Dockerfile
Building the workspace docker image with Dockerfile-71 failed because
of missing "&&"
2017-11-12 19:45:44 +01:00
35183eff42 Merge pull request #1240 from JeromeDesseaux/master
solving python issue when using INSTALL_NODE=true and VueJS with Laravel.
2017-11-12 18:17:45 +02:00
c5ccc2f4ff soving python issue when using INSTALL_NODE=true and VueJS with Laravel. 2017-11-12 11:04:57 +01:00
34ef36cd7e doc updates 2017-11-10 14:37:01 +02:00
7138d7a13c update some text in the index page 2017-11-08 09:01:40 +02:00
c7695ca175 add Huadong Zuo @zuohuadong to the contributors list 2017-11-08 08:31:29 +02:00
6f3c41b84d add sponsors section 2017-11-08 08:18:26 +02:00
46852bc31b Merge pull request #1232 from zuohuadong/patch-17
Update Dockerfile-71
2017-11-08 05:24:42 +02:00
5a21337cc5 Merge pull request #1231 from zuohuadong/patch-16
Update Dockerfile-70
2017-11-08 05:24:34 +02:00
e2091cd309 Merge pull request #1234 from zuohuadong/patch-19
fix error
2017-11-08 05:24:08 +02:00
1ead8aa060 Merge pull request #1228 from JeroenVanOort/master
added IMAP extension to workspace
2017-11-08 05:19:08 +02:00
7e393efbb6 add donations section 2017-11-08 05:16:50 +02:00
beecbe758b add Ads to docs 2017-11-08 04:55:58 +02:00
1b1f6b7048 fix error 2017-11-07 10:55:27 +08:00
fd5bb38a8c Update env-example
Remove duplicate configuration
2017-11-07 10:54:19 +08:00
5835d185f2 Update Dockerfile-71
Remove duplicate configuration.
2017-11-07 10:53:26 +08:00
4fc85d499d Update Dockerfile-70
Remove duplicate configuration
2017-11-07 10:52:23 +08:00
23ee4f6679 added IMAP extension to workspace 2017-11-06 11:12:02 +01:00
4e486280f4 Merge pull request #1219 from NickToony/master
Fixed: Missing PgSQL PDO drivers
2017-10-29 20:14:31 +02:00
9e807e39ee Updated: PHP-Worker documentation. 2017-10-29 13:03:59 +00:00
894b0197e0 Fixed: PHP-Worker has missing PGSQL drivers. 2017-10-29 12:54:05 +00:00
c2c30bfd0f update workspace base image version 2017-10-28 04:34:59 +03:00
025a339062 change application source #397
# fix a problem--#397, change application source from dl-cdn.alpinelinux.org to aliyun source.
2017-02-15 10:20:18 +08:00
79 changed files with 4358 additions and 535 deletions

10
.github/README-zh.md vendored
View File

@ -669,19 +669,19 @@ PHP-CLI 安装在 Workspace 容器,改变 PHP-CLI 版本你需要编辑 `works
<a name="Use-custom-Domain"></a>
### 使用自定义域名 (替换 Docker 的 IP)
假定你的自定义域名是 `laravel.dev`
假定你的自定义域名是 `laravel.test`
1 - 打开 `/etc/hosts` 文件添加以下内容,映射你的 localhost 地址 `127.0.0.1` 为 `laravel.dev` 域名
1 - 打开 `/etc/hosts` 文件添加以下内容,映射你的 localhost 地址 `127.0.0.1` 为 `laravel.test` 域名
```bash
127.0.0.1 laravel.dev
127.0.0.1 laravel.test
```
2 - 打开你的浏览器访问 `{http://laravel.dev}`
2 - 打开你的浏览器访问 `{http://laravel.test}`
你可以在 nginx 配置文件自定义服务器名称,如下:
```conf
server_name laravel.dev;
server_name laravel.test;
```
<a name="Enable-Global-Composer-Build-Install"></a>

49
.github/README.md vendored
View File

@ -6,7 +6,7 @@
<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"><img src="https://img.shields.io/github/stars/laradock/laradock.svg" alt="GitHub stars"></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>
@ -29,8 +29,27 @@
</p>
## Credits
## Sponsors
Support this project by becoming a sponsor.
Your logo will show up on the [github repository](https://github.com/laradock/laradock/) index page and the [documentation](http://laradock.io/) main page, with a link to your website. [[Become a sponsor](https://opencollective.com/laradock#sponsor)]
<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>
<a href="https://opencollective.com/laradock/sponsor/8/website" target="_blank"><img src="https://opencollective.com/laradock/sponsor/8/avatar.svg"></a>
<a href="https://opencollective.com/laradock/sponsor/9/website" target="_blank"><img src="https://opencollective.com/laradock/sponsor/9/avatar.svg"></a>
## Contributors
#### Core contributors:
- [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
@ -42,7 +61,31 @@
- [Yu-Lung Shao (Allen)](https://github.com/bestlong) @bestlong
- [Milan Urukalo](https://github.com/urukalo) @urukalo
- [Vince Chu](https://github.com/vwchu) @vwchu
- Join Us.
- [Huadong Zuo](https://github.com/zuohuadong) @zuohuadong
- Join us, by submitting 20 useful PR's.
#### 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://www.paypal.me/mzalt)
[![Donate](https://img.shields.io/badge/Donate-PayPal-green.svg)](https://www.paypal.me/mzalt)
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>
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)
## License

3
.gitignore vendored
View File

@ -3,4 +3,5 @@
/data
.env
/.project
.docker-sync
.docker-sync
/jenkins/jenkins_home

62
.gitlab-ci.yml Normal file
View File

@ -0,0 +1,62 @@
# 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:56:php-fpm:
variables:
PHP_VERSION: "56"
script:
- docker-compose build php-fpm
build:70:php-fpm:
variables:
PHP_VERSION: "70"
script:
- docker-compose build php-fpm
build:71:php-fpm:
variables:
PHP_VERSION: "71"
script:
- docker-compose build php-fpm
build:72:php-fpm:
variables:
PHP_VERSION: "72"
script:
- docker-compose build php-fpm
build:56:workspace:
variables:
PHP_VERSION: "56"
script:
- docker-compose build workspace
build:70:workspace:
variables:
PHP_VERSION: "70"
script:
- docker-compose build workspace
build:71:workspace:
variables:
PHP_VERSION: "71"
script:
- docker-compose build workspace
build:72:workspace:
variables:
PHP_VERSION: "72"
script:
- docker-compose build workspace

View File

@ -4,40 +4,33 @@ services:
- docker
env:
matrix:
- PHP_VERSION=56 BUILD_SERVICE="applications blackfire minio percona nginx caddy apache2 mysql mariadb phpmyadmin postgres postgres-postgis pgadmin neo4j mongo redis"
- PHP_VERSION=70 BUILD_SERVICE="applications blackfire minio percona nginx caddy apache2 mysql mariadb phpmyadmin postgres postgres-postgis pgadmin neo4j mongo redis"
- PHP_VERSION=71 BUILD_SERVICE="applications blackfire minio percona nginx caddy apache2 mysql mariadb phpmyadmin postgres postgres-postgis pgadmin neo4j mongo redis"
matrix:
- HUGO_VERSION=0.20.2
- PHP_VERSION=56 BUILD_SERVICE=workspace
- PHP_VERSION=70 BUILD_SERVICE=workspace
- PHP_VERSION=71 BUILD_SERVICE=workspace
- PHP_VERSION=72 BUILD_SERVICE=workspace
- PHP_VERSION=56 BUILD_SERVICE=php-fpm
- PHP_VERSION=70 BUILD_SERVICE=php-fpm
- PHP_VERSION=71 BUILD_SERVICE=php-fpm
- PHP_VERSION=72 BUILD_SERVICE=php-fpm
- PHP_VERSION=56 BUILD_SERVICE="php-worker hhvm"
- PHP_VERSION=70 BUILD_SERVICE="php-worker hhvm"
- PHP_VERSION=71 BUILD_SERVICE="php-worker hhvm"
- PHP_VERSION=hhvm BUILD_SERVICE=hhvm
- PHP_VERSION=56 BUILD_SERVICE=mssql
- PHP_VERSION=70 BUILD_SERVICE=mssql
- PHP_VERSION=71 BUILD_SERVICE=mssql
# - PHP_VERSION=56 BUILD_SERVICE=php-worker
- PHP_VERSION=70 BUILD_SERVICE=php-worker
- PHP_VERSION=71 BUILD_SERVICE=php-worker
- PHP_VERSION=72 BUILD_SERVICE=php-worker
- PHP_VERSION=56 BUILD_SERVICE=rethinkdb
- PHP_VERSION=70 BUILD_SERVICE=rethinkdb
- PHP_VERSION=71 BUILD_SERVICE=rethinkdb
- PHP_VERSION=56 BUILD_SERVICE=aerospike
- PHP_VERSION=70 BUILD_SERVICE=aerospike
- PHP_VERSION=71 BUILD_SERVICE=aerospike
- PHP_VERSION=56 BUILD_SERVICE="memcached beanstalkd beanstalkd-console rabbitmq adminer elasticsearch certbot mailhog maildev selenium jenkins proxy proxy2 balancer"
- PHP_VERSION=70 BUILD_SERVICE="memcached beanstalkd beanstalkd-console rabbitmq adminer elasticsearch certbot mailhog maildev selenium jenkins proxy proxy2 balancer"
- PHP_VERSION=71 BUILD_SERVICE="memcached beanstalkd beanstalkd-console rabbitmq adminer elasticsearch certbot mailhog maildev selenium jenkins proxy proxy2 balancer"
- HUGO_VERSION=0.20.2
- PHP_VERSION=NA BUILD_SERVICE=solr
- PHP_VERSION=NA BUILD_SERVICE="mssql rethinkdb aerospike"
- PHP_VERSION=NA BUILD_SERVICE="applications blackfire minio percona nginx caddy apache2 mysql mariadb postgres postgres-postgis neo4j mongo redis"
- 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="kibana grafana laravel-echo-server"
# - PHP_VERSION=NA BUILD_SERVICE="aws"
# Installing a newer Docker version
before_install:

View File

@ -431,15 +431,35 @@ To learn more about how Docker publishes ports, please read [this excellent post
<br>
<a name="Use-Jenkins"></a>
## Use Jenkins
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)
3) Authenticate from the web app.
- Default username is `admin`.
- Default password is `docker-compose exec jenkins cat /var/jenkins_home/secrets/initialAdminPassword`.
(To enter container as root type `docker-compose exec --user root jenkins bash`).
4) Install some plugins.
5) Create your first Admin user, or continue as Admin.
Note: to add user go to `http://localhost:8090/securityRealm/addUser` and to restart it from the web app visit `http://localhost:8090/restart`.
You may wanna change the default security configuration, so go to `http://localhost:8090/configureSecurity/` under Authorization and choosing "Anyone can do anything" or "Project-based Matrix Authorization Strategy" or anything else.
<br>
<a name="Laravel"></a>
<a name="Install-Laravel"></a>
## Install Laravel from a Docker Container
@ -541,11 +561,18 @@ b) add a new service container by simply copy-paste this section below PHP-FPM c
```yaml
php-worker:
build:
context: ./php-fpm
dockerfile: Dockerfile-70 # or Dockerfile-56, choose your PHP-FPM container setting
context: ./php-worker
dockerfile: "Dockerfile-${PHP_VERSION}" #Dockerfile-71 or #Dockerfile-70 available
args:
- INSTALL_PGSQL=${PHP_WORKER_INSTALL_PGSQL} #Optionally install PGSQL PHP drivers
volumes_from:
- applications
command: php artisan queue:work
depends_on:
- workspace
extra_hosts:
- "dockerhost:${DOCKER_HOST_IP}"
networks:
- backend
```
2 - Start everything up
@ -567,13 +594,15 @@ docker-compose up -d php-worker
docker-compose up -d redis
```
> To execute redis commands, enter the redis container first `docker-compose exec redis bash` then enter the `redis-cli`.
2 - Open your Laravel's `.env` file and set the `REDIS_HOST` to `redis`
```env
REDIS_HOST=redis
```
If you don't find the `REDIS_HOST` variable in your `.env` file. Go to the database configuration file `config/database.php` and replace the default `127.0.0.1` IP with `redis` for Redis like this:
If you're using Laravel, and you don't find the `REDIS_HOST` variable in your `.env` file. Go to the database configuration file `config/database.php` and replace the default `127.0.0.1` IP with `redis` for Redis like this:
```php
'redis' => [
@ -789,6 +818,8 @@ docker-compose up -d beanstalkd-console
2 - Open your browser and visit `http://localhost:2080/`
_Note: You can customize the port on which beanstalkd console is listening by changing `BEANSTALKD_CONSOLE_HOST_PORT` in `.env`. The default value is *2080*._
3 - Add the server
- Host: beanstalkd
@ -813,19 +844,20 @@ docker-compose up -d elasticsearch
2 - Open your browser and visit the localhost on port **9200**: `http://localhost:9200`
> The default username is `user` and the default password is `changeme`.
### Install ElasticSearch Plugin
1 - Install the ElasticSearch plugin like [delete-by-query](https://www.elastic.co/guide/en/elasticsearch/plugins/current/plugins-delete-by-query.html).
1 - Install an ElasticSearch plugin.
```bash
docker exec {container-name} /usr/share/elasticsearch/bin/plugin install delete-by-query
docker-compose exec elasticsearch /usr/share/elasticsearch/bin/plugin install {plugin-name}
```
2 - Restart elasticsearch container
```bash
docker restart {container-name}
docker-compose restart elasticsearch
```
@ -992,7 +1024,7 @@ To install CodeIgniter 3 on Laradock all you have to do is the following simple
4 - Run `docker-compose restart` if the container was already running, before the step above.
5 - Visit `symfony.dev`
5 - Visit `symfony.test`
<br>
<a name="Misc"></a>
@ -1062,10 +1094,18 @@ To change the default forwarded port for ssh:
...
```
Then login using:
```bash
ssh -o PasswordAuthentication=no \
-o StrictHostKeyChecking=no \
-o UserKnownHostsFile=/dev/null \
-p 2222 \
-i workspace/insecure_id_rsa \
laradock@localhost
```
To login as root, replace laradock@locahost with root@localhost.
<br>
<a name="Change-the-MySQL-Version"></a>
@ -1157,21 +1197,21 @@ If you need <a href="#MySQL-access-from-host">MySQL access from your host</a>, d
<a name="Use-custom-Domain"></a>
## Use custom Domain (instead of the Docker IP)
Assuming your custom domain is `laravel.dev`
Assuming your custom domain is `laravel.test`
1 - Open your `/etc/hosts` file and map your localhost address `127.0.0.1` to the `laravel.dev` domain, by adding the following:
1 - Open your `/etc/hosts` file and map your localhost address `127.0.0.1` to the `laravel.test` domain, by adding the following:
```bash
127.0.0.1 laravel.dev
127.0.0.1 laravel.test
```
2 - Open your browser and visit `{http://laravel.dev}`
2 - Open your browser and visit `{http://laravel.test}`
Optionally you can define the server name in the NGINX configuration file, like this:
```conf
server_name laravel.dev;
server_name laravel.test;
```
@ -1702,3 +1742,13 @@ This error sometimes happens because your Laravel application isn't running on t
## I get stuck when building nginx on `fetch http://mirrors.aliyun.com/alpine/v3.5/main/x86_64/APKINDEX.tar.gz`
As stated on [#749](https://github.com/laradock/laradock/issues/749#issuecomment-293296687), removing the line `RUN sed -i 's/dl-cdn.alpinelinux.org/mirrors.aliyun.com/' /etc/apk/repositories` from `nginx/Dockerfile` solves the problem.
## Custom composer repo packagist url and npm registry url
In China, the origin source of composer and npm is very slow. You can add `WORKSPACE_NPM_REGISTRY` and `WORKSPACE_COMPOSER_REPO_PACKAGIST` config in `.env` to use your custom source.
Example:
```bash
WORKSPACE_NPM_REGISTRY=https://registry.npm.taobao.org
WORKSPACE_COMPOSER_REPO_PACKAGIST=https://packagist.phpcomposer.com
```

View File

@ -121,10 +121,11 @@ You can rename the config files, project folders and domains as you like, just m
4 - Add the domains to the **hosts** files.
```
127.0.0.1 project-1.dev
127.0.0.1 project-2.dev
127.0.0.1 project-1.test
127.0.0.1 project-2.test
...
```
If you use Chrome 63 or above for development, don't use `.dev`. [Why?](https://laravel-news.com/chrome-63-now-forces-dev-domains-https). Instead use `.localhost`, `.invalid`, `.test`, or `.example`.
> **Now jump to the [Usage](#Usage) section.**
@ -162,6 +163,7 @@ cp env-example .env
You can edit the `.env` file to chose which software's you want to be installed in your environment. You can always refer to the `docker-compose.yml` file to see how those variables are been used.
Depending on the host's operating system you may need to change the value given to `COMPOSE_FILE`. When you are running Laradock on Mac OS the correct file separator to use is `:`. When running Laradock from a Windows environment multiple files must be separated with `;`.
2 - Build the enviroment and run it using `docker-compose`
@ -212,4 +214,4 @@ DB_HOST=mysql
*If you want to install Laravel as PHP project, see [How to Install Laravel in a Docker Container](#Install-Laravel).*
<br>
5 - Open your browser and visit your localhost address `http://localhost/`. If you followed the multiple projects setup, you can visit `http://project-1.dev/` and `http://project-2.dev/`.
5 - Open your browser and visit your localhost address `http://localhost/`. If you followed the multiple projects setup, you can visit `http://project-1.test/` and `http://project-2.test/`.

View File

@ -358,7 +358,7 @@ Here are a few things I use to clean things up.
```
dclean() {
processes=`docker ps -q -f status=exited`
if [ -n "$processes" ]; thend
if [ -n "$processes" ]; then
docker rm $processes
fi

View File

@ -116,6 +116,26 @@ If you can't find your Software in the list, build it yourself and submit it. Co
## Sponsors
Support this project by becoming a sponsor.
Your logo will show up on the [github repository](https://github.com/laradock/laradock/) index page and the [documentation](http://laradock.io/) main page, with a link to your website. [[Become a sponsor](https://opencollective.com/laradock#sponsor)]
<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>
<a href="https://opencollective.com/laradock/sponsor/8/website" target="_blank"><img src="https://opencollective.com/laradock/sponsor/8/avatar.svg"></a>
<a href="https://opencollective.com/laradock/sponsor/9/website" target="_blank"><img src="https://opencollective.com/laradock/sponsor/9/avatar.svg"></a>
@ -170,3 +190,25 @@ What's better than a **Demo Video**:
You are welcome to join our chat room 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)
<a name="Donations"></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://www.paypal.me/mzalt)
[![Donate](https://img.shields.io/badge/Donate-PayPal-green.svg)](https://www.paypal.me/mzalt)
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>
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)

View File

@ -14,5 +14,6 @@ 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.

View File

@ -20,11 +20,25 @@
<main class="main">
<div class="drawer">
{{ partial "drawer" . }}
</div>
</div>
<article class="article">
<div class="wrapper">
<h1>{{ .Title }} {{ if .IsDraft }} (Draft){{ end }}</h1>
<!-- ------------------------------------------------------------------------- -->
<!-- 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>
{{ .Content }}

View File

@ -24,6 +24,20 @@
<article class="article">
<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>
<!-- ------------------------------------------------------------------------- -->
{{ range where .Site.Pages "Type" "index" }}
<h1>{{ .Title }} {{ if .IsDraft }} (Draft){{ end }}</h1>

View File

@ -5,6 +5,7 @@
<div class="logo">
<img src="{{ $.Site.BaseURL }}{{ . }}">
</div>
Laradock
{{ end }}
<!--<div class="name">-->
<!--<strong>{{ .Site.Title }} {{ with .Site.Params.version }}<span class="version">{{ . }}</span>{{ end }}</strong>-->
@ -42,18 +43,39 @@
</ul>
{{ end }}
{{ if isset .Site.Params "author" }}
<br>
<br>
<div>
<!-- ------------------------------------------------------------------------- -->
<!-- Google Ads -->
<script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
<!-- Laradock Vertical -->
<ins class="adsbygoogle"
style="display:inline-block;width:237px;height:600px"
data-ad-client="ca-pub-9826129398689742"
data-ad-slot="9891442983"></ins>
<script>
(adsbygoogle = window.adsbygoogle || []).push({});
</script>
<!-- ------------------------------------------------------------------------- -->
</div>
<br>
<br>
<!--{{ if isset .Site.Params "author" }}-->
<!--<hr>-->
<!--<span class="section">The author</span>-->
<ul>
{{ with .Site.Social.twitter }}
<li>
<a href="https://twitter.com/{{ . }}" target="_blank" title="@{{ . }} on Twitter">
@{{ . }} on Twitter
</a>
</li>
{{ end }}
<!---->
<!--<ul>-->
<!--{{ with .Site.Social.twitter }}-->
<!--<li>-->
<!--<a href="https://twitter.com/{{ . }}" target="_blank" title="@{{ . }} on Twitter">-->
<!--@{{ . }} on Twitter-->
<!--</a>-->
<!--</li>-->
<!--{{ end }}-->
<!--{{ with .Site.Social.github }}-->
<!--<li>-->
@ -63,16 +85,17 @@
<!--</li>-->
<!--{{ end }}-->
{{ with .Site.Social.email }}
<li>
<a href="mailto:{{ . }}" title="Email of {{ . }}">
Contact via email
</a>
</li>
{{ end }}
</ul>
{{ end }}
<!--{{ with .Site.Social.email }}-->
<!--<li>-->
<!--<a href="mailto:{{ . }}" title="Email of {{ . }}">-->
<!--Contact via email-->
<!--</a>-->
<!--</li>-->
<!--{{ end }}-->
<!--</ul>-->
<!--{{ end }}-->
</div>
</div>
</div>
</nav>

View File

@ -21,7 +21,6 @@
<div class="button button-github" role="button" aria-label="GitHub">
<a style="padding: 0px; font-size:40px" href="https://github.com/{{ . }}" title="@{{ . }} on GitHub" target="_blank" class="toggle-button icon icon-github"></a>
</div>
<p style="font-size: 18px; padding: 8px">Github</p>
{{ end }}
<!-- TODO: disabled until Hugo supports the generation of a content index natively

View File

@ -108,9 +108,17 @@ font-weight:700;
OVERRIDING THE DEFAULT STYLES - By Mahmoud Zalt (mahmoud@zalt.me) for Laradock.io
*/
.project .logo img{
width: 140px;
height: 140px;
.project .logo img {
max-width: 100%;
height: auto;
background: transparent;
border-radius: 0%;
}
.project .banner {
display: flex;
align-items: center;
font-size: 14px;
font-weight: bold;
}

View File

@ -1,6 +1,6 @@
The MIT License (MIT)
Copyright 2016 <Mahmoud Zalt>
Copyright 2018 <Mahmoud Zalt>
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
@ -18,4 +18,4 @@ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
THE SOFTWARE.

View File

@ -3,7 +3,7 @@ FROM adminer:4.3.0
# Version 4.3.1 contains PostgreSQL login errors. See docs.
# See https://sourceforge.net/p/adminer/bugs-and-features/548/
MAINTAINER Patrick Artounian <partounian@gmail.com>
LABEL maintainer="Patrick Artounian <partounian@gmail.com>"
# Add volume for sessions to allow session persistence
VOLUME /sessions

View File

@ -1,7 +1,7 @@
FROM aerospike:latest
MAINTAINER Luciano Jr <luciano@lucianojr.com.br>
LABEL maintainer="Luciano Jr <luciano@lucianojr.com.br>"
RUN rm /etc/aerospike/aerospike.conf
ADD aerospike.conf /etc/aerospike/aerospike.conf
ADD aerospike.conf /etc/aerospike/aerospike.conf

View File

@ -1,14 +1,15 @@
FROM webdevops/apache:ubuntu-16.04
MAINTAINER Eric Pfeiffer <computerfr33k@users.noreply.github.com>
LABEL maintainer="Eric Pfeiffer <computerfr33k@users.noreply.github.com>"
ARG PHP_UPSTREAM_CONTAINER=php-fpm
ARG PHP_UPSTREAM_PORT=9000
ARG PHP_UPSTREAM_TIMEOUT=60
ARG DOCUMENT_ROOT=/var/www/
ENV WEB_PHP_SOCKET=${PHP_UPSTREAM_CONTAINER}:${PHP_UPSTREAM_PORT}
ENV WEB_DOCUMENT_ROOT=/var/www/
ENV WEB_DOCUMENT_ROOT=${DOCUMENT_ROOT}
ENV WEB_PHP_TIMEOUT=${PHP_UPSTREAM_TIMEOUT}

View File

@ -1,5 +1,5 @@
<VirtualHost *:80>
ServerName laradock.dev
ServerName laradock.test
DocumentRoot /var/www/
Options Indexes FollowSymLinks

View File

@ -1,5 +1,5 @@
<VirtualHost *:80>
ServerName sample.dev
ServerName sample.test
DocumentRoot /var/www/sample/public/
Options Indexes FollowSymLinks

View File

@ -1,6 +1,6 @@
FROM python:slim
MAINTAINER melchabcede@gmail.com
LABEL maintainer="melchabcede@gmail.com"
RUN pip install --upgrade --no-cache-dir awsebcli
RUN apt-get -yqq update && apt-get -yqq install git-all

View File

@ -1,6 +1,6 @@
FROM php:latest
MAINTAINER Mahmoud Zalt <mahmoud@zalt.me>
LABEL maintainer="Mahmoud Zalt <mahmoud@zalt.me>"
RUN apt-get update && apt-get install -y curl

View File

@ -1,6 +1,6 @@
FROM phusion/baseimage:latest
MAINTAINER Mahmoud Zalt <mahmoud@zalt.me>
LABEL maintainer="Mahmoud Zalt <mahmoud@zalt.me>"
ENV DEBIAN_FRONTEND noninteractive
ENV PATH /usr/local/rvm/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
@ -13,4 +13,4 @@ VOLUME /var/lib/beanstalkd/data
EXPOSE 11300
CMD ["/usr/bin/beanstalkd"]
CMD ["/usr/bin/beanstalkd"]

View File

@ -25,6 +25,22 @@
# dns cloudflare
#}
}
laradock.demo {
laradock1.demo:80 {
root /var/www/public
# Create a Webhook in git.
#git {
#repo https://github.com/xxx/xxx
# path /home/xxx
# #interval 60
# hook webhook laradock
# hook_type generic
#}
}
laradock2.demo:80 {
# Create a Proxy and cors.
#proxy domain.com
#cors
}

View File

@ -1,17 +1,14 @@
FROM golang
FROM zuohuadong/caddy:alpine
MAINTAINER Huadong Zuo <admin@zuohuadong.cn>
LABEL maintainer="Huadong Zuo <admin@zuohuadong.cn>"
ARG plugins="git"
ARG plugins="cors"
## If you come frome china, please ues it.
## ARG plugins="cors cgi cloudflare azure linode"
# RUN echo "172.217.6.127 golang.org" >> /etc/hosts
RUN go get github.com/abiosoft/caddyplug/caddyplug \
&& caddyplug install-caddy \
&& caddyplug install git
RUN caddy --version
RUN caddyplug install ${plugins}
EXPOSE 80 443 2015

View File

@ -1,6 +1,6 @@
FROM phusion/baseimage:latest
MAINTAINER Mahmoud Zalt <mahmoud@zalt.me>
LABEL maintainer="Mahmoud Zalt <mahmoud@zalt.me>"
COPY run-certbot.sh /root/certbot/run-certbot.sh

9
docker-compose.dev.yml Normal file
View File

@ -0,0 +1,9 @@
version: "2"
services:
### Applications Code Container #############################
applications:
volumes:
- ${APPLICATION}:/var/www

View File

@ -6,8 +6,6 @@ services:
applications:
image: tianon/true
volumes:
- ${APPLICATION}:/var/www
### Workspace Utilities Container ###########################
@ -19,20 +17,25 @@ services:
- INSTALL_BLACKFIRE=${INSTALL_BLACKFIRE}
- INSTALL_SOAP=${WORKSPACE_INSTALL_SOAP}
- INSTALL_LDAP=${WORKSPACE_INSTALL_LDAP}
- INSTALL_IMAP=${WORKSPACE_INSTALL_IMAP}
- INSTALL_MONGO=${WORKSPACE_INSTALL_MONGO}
- INSTALL_AMQP=${WORKSPACE_INSTALL_AMQP}
- INSTALL_PHPREDIS=${WORKSPACE_INSTALL_PHPREDIS}
- INSTALL_MSSQL=${WORKSPACE_INSTALL_MSSQL}
- INSTALL_NODE=${WORKSPACE_INSTALL_NODE}
- NPM_REGISTRY=${WORKSPACE_NPM_REGISTRY}
- INSTALL_YARN=${WORKSPACE_INSTALL_YARN}
- INSTALL_DRUSH=${WORKSPACE_INSTALL_DRUSH}
- INSTALL_DRUPAL_CONSOLE=${WORKSPACE_INSTALL_DRUPAL_CONSOLE}
- INSTALL_AEROSPIKE=${WORKSPACE_INSTALL_AEROSPIKE}
- INSTALL_V8JS=${WORKSPACE_INSTALL_V8JS}
- COMPOSER_GLOBAL_INSTALL=${WORKSPACE_COMPOSER_GLOBAL_INSTALL}
- COMPOSER_REPO_PACKAGIST=${WORKSPACE_COMPOSER_REPO_PACKAGIST}
- INSTALL_WORKSPACE_SSH=${WORKSPACE_INSTALL_WORKSPACE_SSH}
- INSTALL_LARAVEL_ENVOY=${WORKSPACE_INSTALL_LARAVEL_ENVOY}
- INSTALL_LARAVEL_INSTALLER=${WORKSPACE_INSTALL_LARAVEL_INSTALLER}
- INSTALL_DEPLOYER=${WORKSPACE_INSTALL_DEPLOYER}
- INSTALL_PRESTISSIMO=${WORKSPACE_INSTALL_PRESTISSIMO}
- INSTALL_LINUXBREW=${WORKSPACE_INSTALL_LINUXBREW}
- INSTALL_MC=${WORKSPACE_INSTALL_MC}
- INSTALL_SYMFONY=${WORKSPACE_INSTALL_SYMFONY}
@ -42,6 +45,7 @@ services:
- INSTALL_TERRAFORM=${WORKSPACE_INSTALL_TERRAFORM}
- INSTALL_DUSK_DEPS=${WORKSPACE_INSTALL_DUSK_DEPS}
- INSTALL_PG_CLIENT=${WORKSPACE_INSTALL_PG_CLIENT}
- INSTALL_SWOOLE=${WORKSPACE_INSTALL_SWOOLE}
- PUID=${WORKSPACE_PUID}
- PGID=${WORKSPACE_PGID}
- CHROME_DRIVER_VERSION=${WORKSPACE_CHROME_DRIVER_VERSION}
@ -71,10 +75,13 @@ services:
- INSTALL_XDEBUG=${PHP_FPM_INSTALL_XDEBUG}
- INSTALL_BLACKFIRE=${INSTALL_BLACKFIRE}
- INSTALL_SOAP=${PHP_FPM_INSTALL_SOAP}
- INSTALL_IMAP=${PHP_FPM_INSTALL_IMAP}
- INSTALL_MONGO=${PHP_FPM_INSTALL_MONGO}
- INSTALL_AMQP=${PHP_FPM_INSTALL_AMQP}
- INSTALL_MSSQL=${PHP_FPM_INSTALL_MSSQL}
- INSTALL_ZIP_ARCHIVE=${PHP_FPM_INSTALL_ZIP_ARCHIVE}
- INSTALL_BCMATH=${PHP_FPM_INSTALL_BCMATH}
- INSTALL_GMP=${PHP_FPM_INSTALL_GMP}
- INSTALL_PHPREDIS=${PHP_FPM_INSTALL_PHPREDIS}
- INSTALL_MEMCACHED=${PHP_FPM_INSTALL_MEMCACHED}
- INSTALL_OPCACHE=${PHP_FPM_INSTALL_OPCACHE}
@ -112,6 +119,8 @@ services:
build:
context: ./php-worker
dockerfile: "Dockerfile-${PHP_VERSION}"
args:
- INSTALL_PGSQL=${PHP_WORKER_INSTALL_PGSQL}
volumes_from:
- applications
depends_on:
@ -164,6 +173,7 @@ services:
- PHP_UPSTREAM_CONTAINER=${APACHE_PHP_UPSTREAM_CONTAINER}
- PHP_UPSTREAM_PORT=${APACHE_PHP_UPSTREAM_PORT}
- PHP_UPSTREAM_TIMEOUT=${APACHE_PHP_UPSTREAM_TIMEOUT}
- DOCUMENT_ROOT=${APACHE_DOCUMENT_ROOT}
volumes_from:
- applications
volumes:
@ -197,7 +207,8 @@ services:
minio:
build: ./minio
volumes:
- minio:/export
- ${DATA_SAVE_PATH}/minio/data:/export
- ${DATA_SAVE_PATH}/minio/config:/root/.minio
ports:
- "${MINIO_PORT}:9000"
environment:
@ -205,6 +216,7 @@ services:
- MINIO_SECRET_KEY=secretkey
networks:
- frontend
- backend
### MySQL Container #########################################
@ -418,7 +430,7 @@ services:
beanstalkd-console:
build: ./beanstalkd-console
ports:
- "2080:2080"
- "${BEANSTALKD_CONSOLE_HOST_PORT}:2080"
depends_on:
- beanstalkd
networks:
@ -482,7 +494,7 @@ services:
ports:
- "5050:5050"
volumes:
- ${DATA_SAVE_PATH}/pgadmin-backup:/var/lib/pgadmin4/data/storage/pgadmin4
- ${DATA_SAVE_PATH}/pgadmin-backup:/var/lib/pgadmin/storage/pgadmin4
depends_on:
- postgres
networks:
@ -500,12 +512,12 @@ services:
environment:
- cluster.name=laradock-cluster
- bootstrap.memory_lock=true
- "ES_JAVA_OPTS=-Xms256m -Xmx256m"
- "ES_JAVA_OPTS=-Xms512m -Xmx512m"
ulimits:
memlock:
soft: -1
hard: -1
mem_limit: 512m
mem_limit: 1024m
ports:
- "${ELASTICSEARCH_HOST_HTTP_PORT}:9200"
- "${ELASTICSEARCH_HOST_TRANSPORT_PORT}:9300"
@ -613,9 +625,9 @@ services:
networks:
- frontend
### Balancer Haproxy ##########################################
### HAProxy Load Balancer ####################################
balancer:
haproxy:
build: ./haproxy
ports:
- "${HAPROXY_HOST_HTTP_PORT}:8085"
@ -667,6 +679,21 @@ services:
networks:
- frontend
- backend
### Solr Container #########################################
solr:
build:
context: ./solr
args:
- SOLR_VERSION=${SOLR_VERSION}
- SOLR_DATAIMPORTHANDLER_MYSQL=${SOLR_DATAIMPORTHANDLER_MYSQL}
volumes:
- ${DATA_SAVE_PATH}/solr:/opt/solr/server/solr/mycores
ports:
- "${SOLR_PORT}:8983"
networks:
- backend
### AWS EB-CLI ####
aws:

View File

@ -1,7 +1,7 @@
version: "2"
options:
verbose: true
verbose: false
syncs:
applications-docker-sync: # name of the intermediary sync volume
compose-dev-file-path: 'docker-compose.sync.yml' # docker-compose override file

View File

@ -1,51 +1,85 @@
############################
###########################################################
# General Setup
############################
###########################################################
### Application Path
# Point to your application code, will be available at `/var/www`.
### Application Path ###################################################################################################
# Point to your code, will be available at `/var/www`.
APPLICATION=../
### Data Path:
# For all storage systems.
### PHP Version ########################################################################################################
# Select a PHP version of the Workspace and PHP-FPM containers (Does not apply to HHVM). Accepted values: 72 - 71 - 70 - 56
DATA_SAVE_PATH=~/.laradock/data
PHP_VERSION=72
### PHP version
# Applies to the Workspace and PHP-FPM containers (Does not apply to HHVM)
# Accepted values: 71 - 70 - 56
PHP_VERSION=71
### PHP interpreter
# Accepted values: hhvm - php-fpm
### PHP Interpreter ####################################################################################################
# Select the PHP Interpreter. Accepted values: hhvm - php-fpm
PHP_INTERPRETER=php-fpm
############################
### Data Path ##########################################################################################################
# Choose storage path on your machine. For all storage systems.
DATA_SAVE_PATH=~/.laradock/data
### Docker compose files ###############################################################################################
# Select which docker-compose files to include.
# If using docker-sync. Set the value to: docker-compose.yml:docker-compose.dev.yml:docker-compose.sync.yml
# Change the separator from : to ; on Windows
COMPOSE_PATH_SEPARATOR=:
COMPOSE_FILE=docker-compose.yml:docker-compose.dev.yml
### Docker Host IP #####################################################################################################
# Enter your Docker Host IP (will be appended to /etc/hosts). Default is `10.0.75.1`
DOCKER_HOST_IP=10.0.75.1
### Remote Interpreter #################################################################################################
# Choose a Remote Interpreter entry matching name. Default is `laradock`
PHP_IDE_CONFIG=serverName=laradock
### Windows Path #######################################################################################################
# A fix for Windows users, to ensure the application path works.
COMPOSE_CONVERT_WINDOWS_PATHS=1
### Environment ########################################################################################################
# If you're in China, or you need to change sources, will be set CHANGE_SOURCE to true in .env.
CHANGE_SOURCE=false
########################################################################################################################
###########################################################
# Containers Customization
############################
###########################################################
### WORKSPACE ##########################################################################################################
WORKSPACE_INSTALL_XDEBUG=false
WORKSPACE_INSTALL_LDAP=false
WORKSPACE_INSTALL_SOAP=false
WORKSPACE_INSTALL_IMAP=false
WORKSPACE_INSTALL_MONGO=false
WORKSPACE_INSTALL_AMQP=false
WORKSPACE_INSTALL_PHPREDIS=false
WORKSPACE_INSTALL_MSSQL=false
WORKSPACE_INSTALL_NODE=false
WORKSPACE_NPM_REGISTRY=
WORKSPACE_INSTALL_YARN=false
WORKSPACE_INSTALL_DRUSH=false
WORKSPACE_INSTALL_DRUPAL_CONSOLE=false
WORKSPACE_INSTALL_AEROSPIKE=false
WORKSPACE_INSTALL_V8JS=false
WORKSPACE_COMPOSER_GLOBAL_INSTALL=false
WORKSPACE_COMPOSER_REPO_PACKAGIST=
WORKSPACE_INSTALL_WORKSPACE_SSH=false
WORKSPACE_INSTALL_LARAVEL_ENVOY=false
WORKSPACE_INSTALL_LARAVEL_INSTALLER=false
WORKSPACE_INSTALL_DEPLOYER=false
WORKSPACE_INSTALL_PRESTISSIMO=false
WORKSPACE_INSTALL_LINUXBREW=false
WORKSPACE_INSTALL_MC=false
WORKSPACE_INSTALL_SYMFONY=false
@ -55,6 +89,7 @@ WORKSPACE_INSTALL_IMAGEMAGICK=false
WORKSPACE_INSTALL_TERRAFORM=false
WORKSPACE_INSTALL_DUSK_DEPS=false
WORKSPACE_INSTALL_PG_CLIENT=false
WORKSPACE_INSTALL_SWOOLE=false
WORKSPACE_PUID=1000
WORKSPACE_PGID=1000
WORKSPACE_CHROME_DRIVER_VERSION=2.32
@ -66,11 +101,14 @@ WORKSPACE_SSH_PORT=2222
### PHP_FPM ############################################################################################################
PHP_FPM_INSTALL_XDEBUG=false
PHP_FPM_INSTALL_IMAP=false
PHP_FPM_INSTALL_MONGO=false
PHP_FPM_INSTALL_AMQP=false
PHP_FPM_INSTALL_MSSQL=false
PHP_FPM_INSTALL_SOAP=false
PHP_FPM_INSTALL_ZIP_ARCHIVE=false
PHP_FPM_INSTALL_BCMATH=false
PHP_FPM_INSTALL_GMP=false
PHP_FPM_INSTALL_PHPREDIS=false
PHP_FPM_INSTALL_MEMCACHED=false
PHP_FPM_INSTALL_OPCACHE=false
@ -78,7 +116,6 @@ PHP_FPM_INSTALL_EXIF=false
PHP_FPM_INSTALL_AEROSPIKE=false
PHP_FPM_INSTALL_MYSQLI=false
PHP_FPM_INSTALL_PGSQL=false
PHP_FPM_INSTALL_POSTGRES=false
PHP_FPM_INSTALL_TOKENIZER=false
PHP_FPM_INSTALL_INTL=false
PHP_FPM_INSTALL_GHOSTSCRIPT=false
@ -88,6 +125,10 @@ PHP_FPM_INSTALL_IMAGE_OPTIMIZERS=false
PHP_FPM_INSTALL_IMAGEMAGICK=false
PHP_FPM_INSTALL_PG_CLIENT=false
### PHP_WORKER #########################################################################################################
PHP_WORKER_INSTALL_PGSQL=false
### NGINX ##############################################################################################################
NGINX_HOST_HTTP_PORT=80
@ -106,10 +147,11 @@ APACHE_SITES_PATH=./apache2/sites
APACHE_PHP_UPSTREAM_CONTAINER=php-fpm
APACHE_PHP_UPSTREAM_PORT=9000
APACHE_PHP_UPSTREAM_TIMEOUT=60
APACHE_DOCUMENT_ROOT=/var/www/
### MYSQL ##############################################################################################################
MYSQL_VERSION=8.0
MYSQL_VERSION=latest
MYSQL_DATABASE=default
MYSQL_USER=default
MYSQL_PASSWORD=secret
@ -286,6 +328,12 @@ CADDY_CUSTOM_CADDYFILE=./caddy/Caddyfile
LARAVEL_ECHO_SERVER_PORT=6001
### SOLR ###############################################################################################################
SOLR_VERSION=5.5
SOLR_PORT=8983
SOLR_DATAIMPORTHANDLER_MYSQL=false
### DOCKER-SYNC ################################################################################################
# osx: 'native_osx' (default)
@ -294,27 +342,4 @@ LARAVEL_ECHO_SERVER_PORT=6001
DOCKER_SYNC_STRATEGY=native_osx
##### TO BE CONTINUE .................................
# ......... Missing: neo4j mongo rethinkdb redis aerospike pgadmin...
# .........
# .........
############################
# Miscellaneous
############################
# Replace with your Docker Host IP (will be appended to /etc/hosts)
DOCKER_HOST_IP=10.0.75.1
# The Remote Interpreter entry matching name `laradock`
PHP_IDE_CONFIG=serverName=laradock
# Fix for windows users to make sure the application path works.
COMPOSE_CONVERT_WINDOWS_PATHS=1
########################################################################################################################

View File

@ -1,5 +1,5 @@
FROM dockercloud/haproxy:latest
MAINTAINER ZeroC0D3 Team<zeroc0d3.team@gmail.com>
LABEL maintainer="ZeroC0D3 Team<zeroc0d3.team@gmail.com>"
EXPOSE 80

View File

@ -1,11 +1,12 @@
FROM ubuntu:14.04
MAINTAINER Mahmoud Zalt <mahmoud@zalt.me>
LABEL maintainer="Mahmoud Zalt <mahmoud@zalt.me>"
RUN apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0x5a16e7281be7a449
RUN apt-get update -y \
&& apt-get install -y software-properties-common \
&& apt-get install -y software-properties-common wget \
&& wget -O - http://dl.hhvm.com/conf/hhvm.gpg.key | sudo apt-key add - \
&& add-apt-repository "deb http://dl.hhvm.com/ubuntu $(lsb_release -sc) main" \
&& apt-get update -y \
&& apt-get install -y hhvm \

View File

@ -36,10 +36,12 @@ COPY init.groovy /usr/share/jenkins/ref/init.groovy.d/tcp-slave-agent-port.groov
# jenkins version being bundled in this docker image
ARG JENKINS_VERSION
ENV JENKINS_VERSION ${JENKINS_VERSION:-2.73.2}
ENV JENKINS_VERSION ${JENKINS_VERSION:-2.89.2}
# jenkins.war checksum, download will be validated using it
ARG JENKINS_SHA=f6d1351beef34d980b32f8c463be505445f637e2fc62156fecd42891c53c97d3
# 2.89.2
ARG JENKINS_SHA=014f669f32bc6e925e926e260503670b32662f006799b133a031a70a794c8a14
# Can be used to customize where jenkins.war get downloaded from
ARG JENKINS_URL=https://repo.jenkins-ci.org/public/org/jenkins-ci/main/jenkins-war/${JENKINS_VERSION}/jenkins-war-${JENKINS_VERSION}.war

View File

@ -1,15 +1,22 @@
FROM node:alpine
# Create app directory
RUN mkdir -p /usr/src/app
WORKDIR /usr/src/app
# Install app dependencies
COPY package.json /usr/src/app/
RUN apk add --update \
python \
python-dev \
py-pip \
build-base
RUN npm install
# Bundle app source
COPY laravel-echo-server.json /usr/src/app/laravel-echo-server.json
EXPOSE 3000
CMD [ "npm", "start" ]
CMD [ "npm", "start" ]

View File

@ -1,5 +1,5 @@
FROM djfarrelly/maildev
MAINTAINER Maxime Hélias <maximehelias16@gmail.com>
LABEL maintainer="Maxime Hélias <maximehelias16@gmail.com>"
EXPOSE 80 25

View File

@ -1,6 +1,6 @@
FROM mailhog/mailhog
MAINTAINER Mahmoud Zalt <mahmoud@zalt.me>
LABEL maintainer="Mahmoud Zalt <mahmoud@zalt.me>"
CMD ["Mailhog"]

View File

@ -1,6 +1,6 @@
FROM mariadb:latest
MAINTAINER Mahmoud Zalt <mahmoud@zalt.me>
LABEL maintainer="Mahmoud Zalt <mahmoud@zalt.me>"
ADD my.cnf /etc/mysql/conf.d/my.cnf

View File

@ -1,6 +1,6 @@
FROM memcached:latest
MAINTAINER Mahmoud Zalt <mahmoud@zalt.me>
LABEL maintainer="Mahmoud Zalt <mahmoud@zalt.me>"
CMD ["memcached"]

View File

@ -1,5 +1,5 @@
FROM minio/minio
MAINTAINER Thor Erik Lie <thor@thorerik.com>
LABEL maintainer="Thor Erik Lie <thor@thorerik.com>"
ENTRYPOINT ["minio", "server", "/export"]

View File

@ -1,6 +1,6 @@
FROM mongo:latest
MAINTAINER Mahmoud Zalt <mahmoud@zalt.me>
LABEL maintainer="Mahmoud Zalt <mahmoud@zalt.me>"
#COPY mongo.conf /usr/local/etc/mongo/mongo.conf

View File

@ -1,6 +1,6 @@
FROM microsoft/mssql-server-linux
MAINTAINER Mahmoud Zalt <mahmoud@zalt.me>
LABEL maintainer="Mahmoud Zalt <mahmoud@zalt.me>"
# Create config directory
# an set it as WORKDIR

View File

@ -1,7 +1,7 @@
ARG MYSQL_VERSION=8.0
ARG MYSQL_VERSION=latest
FROM mysql:${MYSQL_VERSION}
MAINTAINER Mahmoud Zalt <mahmoud@zalt.me>
LABEL maintainer="Mahmoud Zalt <mahmoud@zalt.me>"
#####################################
# Set Timezone

View File

@ -1,6 +1,6 @@
FROM tpires/neo4j
MAINTAINER Mahmoud Zalt <mahmoud@zalt.me>
LABEL maintainer="Mahmoud Zalt <mahmoud@zalt.me>"
VOLUME /var/lib/neo4j/data

View File

@ -1,17 +1,25 @@
FROM nginx:alpine
MAINTAINER Mahmoud Zalt <mahmoud@zalt.me>
LABEL maintainer="Mahmoud Zalt <mahmoud@zalt.me>"
ADD nginx.conf /etc/nginx/
ARG PHP_UPSTREAM_CONTAINER=php-fpm
ARG PHP_UPSTREAM_PORT=9000
# 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 \
&& apk upgrade \
&& apk add --no-cache bash \
&& adduser -D -H -u 1000 -s /bin/bash www-data
ARG PHP_UPSTREAM_CONTAINER=php-fpm
ARG PHP_UPSTREAM_PORT=9000
# Set upstream conf and remove the default conf
RUN echo "upstream php-upstream { server ${PHP_UPSTREAM_CONTAINER}:${PHP_UPSTREAM_PORT}; }" > /etc/nginx/conf.d/upstream.conf \
&& rm /etc/nginx/conf.d/default.conf

View File

@ -3,7 +3,7 @@ server {
listen 80;
listen [::]:80;
server_name app.dev;
server_name app.test;
root /var/www/app;
index index.php index.html index.htm;
@ -18,6 +18,8 @@ server {
fastcgi_buffers 16 16k;
fastcgi_buffer_size 32k;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
#fixes timeouts
fastcgi_read_timeout 600;
include fastcgi_params;
}

View File

@ -18,6 +18,8 @@ server {
fastcgi_buffers 16 16k;
fastcgi_buffer_size 32k;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
#fixes timeouts
fastcgi_read_timeout 600;
include fastcgi_params;
}

View File

@ -3,7 +3,7 @@ server {
listen 80;
listen [::]:80;
server_name laravel.dev;
server_name laravel.test;
root /var/www/laravel/public;
index index.php index.html index.htm;
@ -18,6 +18,8 @@ server {
fastcgi_buffers 16 16k;
fastcgi_buffer_size 32k;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
#fixes timeouts
fastcgi_read_timeout 600;
include fastcgi_params;
}

View File

@ -3,7 +3,7 @@ server {
listen 80;
listen [::]:80;
server_name symfony.dev;
server_name symfony.test;
root /var/www/projects/symfony/web;
index index.php index.html index.htm;
@ -20,6 +20,8 @@ server {
fastcgi_split_path_info ^(.+\.php)(/.*)$;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
#fixes timeouts
fastcgi_read_timeout 600;
fastcgi_param HTTPS off;
}

View File

@ -1,6 +1,6 @@
FROM percona:5.7
MAINTAINER DTUNES <diegotdai@gmai.com>
LABEL maintainer="DTUNES <diegotdai@gmai.com>"
RUN chown -R mysql:root /var/lib/mysql/

View File

@ -1,10 +1,10 @@
FROM fenglc/pgadmin4
MAINTAINER Huadong Zuo <admin@zuohuadong.cn>
LABEL maintainer="Huadong Zuo <admin@zuohuadong.cn>"
# user: pgadmin4@pgadmin.org
# password: admin
# pg_dump in "/usr/bin"
# backup in "/var/lib/pgadmin4/data/storage/pgadmin4/"
# pg_dump & postgresql all in "/usr/bin"
# backup in "/var/lib/pgadmin/storage/pgadmin4"
EXPOSE 5050

View File

@ -12,9 +12,9 @@
# Note: Base Image name format {image-tag}-{php-version}
#
FROM laradock/php-fpm:1.4-56
FROM laradock/php-fpm:2.0-56
MAINTAINER Mahmoud Zalt <mahmoud@zalt.me>
LABEL maintainer="Mahmoud Zalt <mahmoud@zalt.me>"
#
#--------------------------------------------------------------------------
@ -121,7 +121,7 @@ RUN if [ ${INSTALL_PHPREDIS} = true ]; then \
ARG INSTALL_SWOOLE=false
RUN if [ ${INSTALL_SWOOLE} = true ]; then \
# Install Php Swoole Extension
pecl install swoole \
pecl install swoole-2.0.11 \
&& docker-php-ext-enable swoole \
;fi
@ -136,6 +136,19 @@ RUN if [ ${INSTALL_MONGO} = true ]; then \
docker-php-ext-enable mongodb \
;fi
#####################################
# AMQP:
#####################################
ARG INSTALL_AMQP=false
RUN if [ ${INSTALL_AMQP} = true ]; then \
apt-get update && \
apt-get install librabbitmq-dev -y && \
# Install the amqp extension
pecl install amqp && \
docker-php-ext-enable amqp \
;fi
#####################################
# ZipArchive:
#####################################
@ -156,6 +169,19 @@ RUN if [ ${INSTALL_BCMATH} = true ]; then \
docker-php-ext-install bcmath \
;fi
#####################################
# GMP (GNU Multiple Precision):
#####################################
ARG INSTALL_GMP=false
RUN if [ ${INSTALL_GMP} = true ]; then \
# Install the GMP extension
apt-get update -yqq && \
apt-get install -y libgmp-dev && \
ln -s /usr/include/x86_64-linux-gnu/gmp.h /usr/include/gmp.h && \
docker-php-ext-install gmp \
;fi
#####################################
# PHP Memcached:
#####################################
@ -180,14 +206,17 @@ RUN if [ ${INSTALL_EXIF} = true ]; then \
#####################################
# PHP Aerospike:
#####################################
USER root
ARG INSTALL_AEROSPIKE=false
ENV INSTALL_AEROSPIKE ${INSTALL_AEROSPIKE}
# Copy aerospike configration for remote debugging
COPY ./aerospike.ini /usr/local/etc/php/conf.d/aerospike.ini
RUN if [ ${INSTALL_AEROSPIKE} = true ]; then \
# Fix dependencies for PHPUnit within aerospike extension
apt-get update -yqq && \
apt-get -y install sudo wget && \
# Install the php aerospike extension
curl -L -o /tmp/aerospike-client-php.tar.gz "https://github.com/aerospike/aerospike-client-php/archive/3.4.14.tar.gz" \
curl -L -o /tmp/aerospike-client-php.tar.gz "https://github.com/aerospike/aerospike-client-php5/archive/master.tar.gz" \
&& mkdir -p aerospike-client-php \
&& tar -C aerospike-client-php -zxvf /tmp/aerospike-client-php.tar.gz --strip 1 \
&& ( \
@ -273,11 +302,11 @@ RUN if [ ${INSTALL_LDAP} = true ]; then \
#####################################
ARG INSTALL_MSSQL=false
ENV INSTALL_MSSQL ${INSTALL_MSSQL}
RUN if [ ${INSTALL_MSSQL} = true ]; then \
apt-get -y install php5-sybase freetds-bin && \
cp /usr/lib/php5/20131226/*.so /usr/local/lib/php/extensions/no-debug-non-zts-20131226/ && \
docker-php-ext-enable mssql pdo pdo_dblib \
RUN set -eux; if [ ${INSTALL_MSSQL} = true ]; then \
apt-get -y install php5-sybase freetds-bin \
&& cp /usr/lib/php5/20131226/*.so /usr/local/lib/php/extensions/no-debug-non-zts-20131226/ \
&& docker-php-ext-enable pdo_dblib mssql \
&& php -m | grep -q 'mssql' \
;fi
#####################################
@ -299,11 +328,30 @@ ARG INSTALL_IMAGEMAGICK=false
ENV INSTALL_IMAGEMAGICK ${INSTALL_IMAGEMAGICK}
RUN if [ ${INSTALL_IMAGEMAGICK} = true ]; then \
apt-get update -y && \
apt-get install -y libmagickwand-dev imagemagick && \
apt-get install -y libmagickwand-dev imagemagick && \
pecl install imagick && \
docker-php-ext-enable imagick \
;fi
#####################################
# IMAP:
#####################################
ARG INSTALL_IMAP=false
ENV INSTALL_IMAP ${INSTALL_IMAP}
RUN if [ ${INSTALL_IMAP} = true ]; then \
apt-get update && \
apt-get install -y libc-client-dev libkrb5-dev && \
rm -r /var/lib/apt/lists/* && \
docker-php-ext-configure imap --with-kerberos --with-imap-ssl && \
docker-php-ext-install imap \
;fi
#####################################
# Check PHP version:
#####################################
RUN php -v | head -n 1 | grep -q "PHP 5.6."
#
#--------------------------------------------------------------------------
# Final Touch

View File

@ -12,9 +12,9 @@
# Note: Base Image name format {image-tag}-{php-version}
#
FROM laradock/php-fpm:1.4-70
FROM laradock/php-fpm:2.0-70
MAINTAINER Mahmoud Zalt <mahmoud@zalt.me>
LABEL maintainer="Mahmoud Zalt <mahmoud@zalt.me>"
#
#--------------------------------------------------------------------------
@ -133,6 +133,19 @@ RUN if [ ${INSTALL_MONGO} = true ]; then \
docker-php-ext-enable mongodb \
;fi
#####################################
# AMQP:
#####################################
ARG INSTALL_AMQP=false
RUN if [ ${INSTALL_AMQP} = true ]; then \
apt-get update && \
apt-get install librabbitmq-dev -y && \
# Install the amqp extension
pecl install amqp && \
docker-php-ext-enable amqp \
;fi
#####################################
# ZipArchive:
#####################################
@ -153,6 +166,18 @@ RUN if [ ${INSTALL_BCMATH} = true ]; then \
docker-php-ext-install bcmath \
;fi
#####################################
# GMP (GNU Multiple Precision):
#####################################
ARG INSTALL_GMP=false
RUN if [ ${INSTALL_GMP} = true ]; then \
# Install the GMP extension
apt-get update -yqq && \
apt-get install -y libgmp-dev && \
docker-php-ext-install gmp \
;fi
#####################################
# PHP Memcached:
#####################################
@ -188,12 +213,15 @@ RUN if [ ${INSTALL_EXIF} = true ]; then \
#####################################
# PHP Aerospike:
#####################################
USER root
ARG INSTALL_AEROSPIKE=false
ENV INSTALL_AEROSPIKE ${INSTALL_AEROSPIKE}
# Copy aerospike configration for remote debugging
COPY ./aerospike.ini /usr/local/etc/php/conf.d/aerospike.ini
RUN if [ ${INSTALL_AEROSPIKE} = true ]; then \
# Fix dependencies for PHPUnit within aerospike extension
apt-get update -yqq && \
apt-get -y install sudo wget && \
# Install the php aerospike extension
curl -L -o /tmp/aerospike-client-php.tar.gz "https://github.com/aerospike/aerospike-client-php/archive/master.tar.gz" \
&& mkdir -p aerospike-client-php \
@ -229,15 +257,6 @@ RUN if [ ${INSTALL_MYSQLI} = true ]; then \
docker-php-ext-install mysqli \
;fi
#####################################
# postgres Modifications:
#####################################
ARG INSTALL_POSTGRES=false
RUN if [ ${INSTALL_POSTGRES} = true ]; then \
docker-php-ext-install pgsql \
;fi
#####################################
# Tokenizer Modifications:
#####################################
@ -289,28 +308,27 @@ RUN if [ ${INSTALL_LDAP} = true ]; then \
#####################################
# SQL SERVER:
#####################################
ARG INSTALL_MSSQL=false
ENV INSTALL_MSSQL ${INSTALL_MSSQL}
RUN if [ ${INSTALL_MSSQL} = true ]; then \
RUN set -eux; if [ ${INSTALL_MSSQL} = true ]; then \
#####################################
# Ref from https://github.com/Microsoft/msphpsql/wiki/Dockerfile-for-adding-pdo_sqlsrv-and-sqlsrv-to-official-php-image
#####################################
# Add Microsoft repo for Microsoft ODBC Driver 13 for Linux
apt-get update -yqq \
&& apt-get install -y apt-transport-https \
&& curl https://packages.microsoft.com/keys/microsoft.asc | apt-key add - \
&& curl https://packages.microsoft.com/config/debian/8/prod.list > /etc/apt/sources.list.d/mssql-release.list \
&& apt-get update -yqq \
&& apt-get install -y apt-transport-https \
&& curl https://packages.microsoft.com/keys/microsoft.asc | apt-key add - \
&& curl https://packages.microsoft.com/config/debian/8/prod.list > /etc/apt/sources.list.d/mssql-release.list \
&& apt-get update -yqq \
# Install Dependencies
&& ACCEPT_EULA=Y apt-get install -y unixodbc unixodbc-dev libgss3 odbcinst msodbcsql locales \
&& echo "en_US.UTF-8 UTF-8" > /etc/locale.gen \
&& locale-gen \
&& ACCEPT_EULA=Y apt-get install -y unixodbc unixodbc-dev libgss3 odbcinst msodbcsql locales \
&& echo "en_US.UTF-8 UTF-8" > /etc/locale.gen \
&& locale-gen \
# Install pdo_sqlsrv and sqlsrv from PECL. Replace pdo_sqlsrv-4.1.8preview with preferred version.
&& pecl install pdo_sqlsrv-4.1.8preview sqlsrv-4.1.8preview \
&& docker-php-ext-enable pdo_sqlsrv sqlsrv \
&& pecl install pdo_sqlsrv-4.1.8preview sqlsrv-4.1.8preview \
&& docker-php-ext-enable pdo_sqlsrv sqlsrv \
&& php -m | grep -q 'pdo_sqlsrv' \
&& php -m | grep -q 'sqlsrv' \
;fi
#####################################
@ -337,6 +355,25 @@ RUN if [ ${INSTALL_IMAGEMAGICK} = true ]; then \
docker-php-ext-enable imagick \
;fi
#####################################
# IMAP:
#####################################
ARG INSTALL_IMAP=false
ENV INSTALL_IMAP ${INSTALL_IMAP}
RUN if [ ${INSTALL_IMAP} = true ]; then \
apt-get update && \
apt-get install -y libc-client-dev libkrb5-dev && \
rm -r /var/lib/apt/lists/* && \
docker-php-ext-configure imap --with-kerberos --with-imap-ssl && \
docker-php-ext-install imap \
;fi
#####################################
# Check PHP version:
#####################################
RUN php -v | head -n 1 | grep -q "PHP 7.0."
#
#--------------------------------------------------------------------------
# Final Touch

View File

@ -12,9 +12,9 @@
# Note: Base Image name format {image-tag}-{php-version}
#
FROM laradock/php-fpm:1.4-71
FROM laradock/php-fpm:2.0-71
MAINTAINER Mahmoud Zalt <mahmoud@zalt.me>
LABEL maintainer="Mahmoud Zalt <mahmoud@zalt.me>"
#
#--------------------------------------------------------------------------
@ -133,6 +133,19 @@ RUN if [ ${INSTALL_MONGO} = true ]; then \
docker-php-ext-enable mongodb \
;fi
#####################################
# AMQP:
#####################################
ARG INSTALL_AMQP=false
RUN if [ ${INSTALL_AMQP} = true ]; then \
apt-get update && \
apt-get install librabbitmq-dev -y && \
# Install the amqp extension
pecl install amqp && \
docker-php-ext-enable amqp \
;fi
#####################################
# ZipArchive:
#####################################
@ -153,6 +166,18 @@ RUN if [ ${INSTALL_BCMATH} = true ]; then \
docker-php-ext-install bcmath \
;fi
#####################################
# GMP (GNU Multiple Precision):
#####################################
ARG INSTALL_GMP=false
RUN if [ ${INSTALL_GMP} = true ]; then \
# Install the GMP extension
apt-get update -yqq && \
apt-get install -y libgmp-dev && \
docker-php-ext-install gmp \
;fi
#####################################
# PHP Memcached:
#####################################
@ -188,18 +213,15 @@ RUN if [ ${INSTALL_EXIF} = true ]; then \
#####################################
# PHP Aerospike:
#####################################
USER root
ARG INSTALL_AEROSPIKE=false
ENV INSTALL_AEROSPIKE ${INSTALL_AEROSPIKE}
# Copy aerospike configration for remote debugging
COPY ./aerospike.ini /usr/local/etc/php/conf.d/aerospike.ini
RUN if [ ${INSTALL_AEROSPIKE} = true ]; then \
# Fix dependencies for PHPUnit within aerospike extension
apt-get update -yqq && \
apt-get -y install sudo wget && \
# Install the php aerospike extension
curl -L -o /tmp/aerospike-client-php.tar.gz "https://github.com/aerospike/aerospike-client-php/archive/master.tar.gz" \
&& mkdir -p aerospike-client-php \
@ -211,10 +233,7 @@ RUN if [ ${INSTALL_AEROSPIKE} = true ]; then \
&& make install \
) \
&& rm /tmp/aerospike-client-php.tar.gz \
;fi
RUN if [ ${INSTALL_AEROSPIKE} = false ]; then \
rm /usr/local/etc/php/conf.d/aerospike.ini \
&& docker-php-ext-enable aerospike \
;fi
#####################################
@ -238,15 +257,6 @@ RUN if [ ${INSTALL_MYSQLI} = true ]; then \
docker-php-ext-install mysqli \
;fi
#####################################
# postgres Modifications:
#####################################
ARG INSTALL_POSTGRES=false
RUN if [ ${INSTALL_POSTGRES} = true ]; then \
docker-php-ext-install pgsql \
;fi
#####################################
# Tokenizer Modifications:
#####################################
@ -298,26 +308,27 @@ RUN if [ ${INSTALL_LDAP} = true ]; then \
#####################################
# SQL SERVER:
#####################################
ARG INSTALL_MSSQL=false
ENV INSTALL_MSSQL ${INSTALL_MSSQL}
RUN if [ ${INSTALL_MSSQL} = true ]; then \
RUN set -eux; if [ ${INSTALL_MSSQL} = true ]; then \
#####################################
# Ref from https://github.com/Microsoft/msphpsql/wiki/Dockerfile-for-adding-pdo_sqlsrv-and-sqlsrv-to-official-php-image
#####################################
# Add Microsoft repo for Microsoft ODBC Driver 13 for Linux
apt-get update -yqq && apt-get install -y apt-transport-https \
&& curl https://packages.microsoft.com/keys/microsoft.asc | apt-key add - \
&& curl https://packages.microsoft.com/config/debian/8/prod.list > /etc/apt/sources.list.d/mssql-release.list \
&& apt-get update -yqq \
apt-get update -yqq \
&& apt-get install -y apt-transport-https \
&& curl https://packages.microsoft.com/keys/microsoft.asc | apt-key add - \
&& curl https://packages.microsoft.com/config/debian/8/prod.list > /etc/apt/sources.list.d/mssql-release.list \
&& apt-get update -yqq \
# Install Dependencies
&& ACCEPT_EULA=Y apt-get install -y unixodbc unixodbc-dev libgss3 odbcinst msodbcsql locales \
&& echo "en_US.UTF-8 UTF-8" > /etc/locale.gen && locale-gen \
&& ACCEPT_EULA=Y apt-get install -y unixodbc unixodbc-dev libgss3 odbcinst msodbcsql locales \
&& echo "en_US.UTF-8 UTF-8" > /etc/locale.gen \
&& locale-gen \
# Install pdo_sqlsrv and sqlsrv from PECL. Replace pdo_sqlsrv-4.1.8preview with preferred version.
&& pecl install pdo_sqlsrv-4.1.8preview sqlsrv-4.1.8preview \
&& docker-php-ext-enable pdo_sqlsrv sqlsrv \
&& pecl install pdo_sqlsrv-4.1.8preview sqlsrv-4.1.8preview \
&& docker-php-ext-enable pdo_sqlsrv sqlsrv \
&& php -m | grep -q 'pdo_sqlsrv' \
&& php -m | grep -q 'sqlsrv' \
;fi
#####################################
@ -344,6 +355,25 @@ RUN if [ ${INSTALL_IMAGEMAGICK} = true ]; then \
docker-php-ext-enable imagick \
;fi
#####################################
# IMAP:
#####################################
ARG INSTALL_IMAP=false
ENV INSTALL_IMAP ${INSTALL_IMAP}
RUN if [ ${INSTALL_IMAP} = true ]; then \
apt-get update && \
apt-get install -y libc-client-dev libkrb5-dev && \
rm -r /var/lib/apt/lists/* && \
docker-php-ext-configure imap --with-kerberos --with-imap-ssl && \
docker-php-ext-install imap \
;fi
#####################################
# Check PHP version:
#####################################
RUN php -v | head -n 1 | grep -q "PHP 7.1."
#
#--------------------------------------------------------------------------
# Final Touch

397
php-fpm/Dockerfile-72 Normal file
View File

@ -0,0 +1,397 @@
#
#--------------------------------------------------------------------------
# Image Setup
#--------------------------------------------------------------------------
#
# To edit the 'php-fpm' base Image, visit its repository on Github
# https://github.com/Laradock/php-fpm
#
# To change its version, see the available Tags on the Docker Hub:
# https://hub.docker.com/r/laradock/php-fpm/tags/
#
# Note: Base Image name format {image-tag}-{php-version}
#
FROM laradock/php-fpm:2.0-72
LABEL maintainer="Mahmoud Zalt <mahmoud@zalt.me>"
#
#--------------------------------------------------------------------------
# Mandatory Software's Installation
#--------------------------------------------------------------------------
#
# Mandatory Software's such as ("mcrypt", "pdo_mysql", "libssl-dev", ....)
# are installed on the base image 'laradock/php-fpm' image. If you want
# to add more Software's or remove existing one, you need to edit the
# base image (https://github.com/Laradock/php-fpm).
#
#
#--------------------------------------------------------------------------
# Optional Software's Installation
#--------------------------------------------------------------------------
#
# Optional Software's will only be installed if you set them to `true`
# in the `docker-compose.yml` before the build.
# Example:
# - INSTALL_ZIP_ARCHIVE=true
#
#####################################
# SOAP:
#####################################
ARG INSTALL_SOAP=false
RUN if [ ${INSTALL_SOAP} = true ]; then \
# Install the soap extension
apt-get update -yqq && \
apt-get -y install libxml2-dev php-soap && \
docker-php-ext-install soap \
;fi
#####################################
# pgsql
#####################################
ARG INSTALL_PGSQL=false
RUN if [ ${INSTALL_PGSQL} = true ]; then \
# Install the pgsql extension
apt-get update -yqq && \
docker-php-ext-install pgsql \
;fi
#####################################
# pgsql client
#####################################
ARG INSTALL_PG_CLIENT=false
RUN if [ ${INSTALL_PG_CLIENT} = true ]; then \
# Create folders if not exists (https://github.com/tianon/docker-brew-debian/issues/65)
mkdir -p /usr/share/man/man1 && \
mkdir -p /usr/share/man/man7 && \
# Install the pgsql client
apt-get update -yqq && \
apt-get install -y postgresql-client \
;fi
#####################################
# xDebug:
#####################################
ARG INSTALL_XDEBUG=false
RUN if [ ${INSTALL_XDEBUG} = true ]; then \
# Install the xdebug extension
pecl install xdebug && \
docker-php-ext-enable xdebug \
;fi
# Copy xdebug configuration for remote debugging
COPY ./xdebug.ini /usr/local/etc/php/conf.d/xdebug.ini
#####################################
# Blackfire:
#####################################
ARG INSTALL_BLACKFIRE=false
RUN if [ ${INSTALL_XDEBUG} = false -a ${INSTALL_BLACKFIRE} = true ]; then \
version=$(php -r "echo PHP_MAJOR_VERSION.PHP_MINOR_VERSION;") \
&& curl -A "Docker" -o /tmp/blackfire-probe.tar.gz -D - -L -s https://blackfire.io/api/v1/releases/probe/php/linux/amd64/$version \
&& tar zxpf /tmp/blackfire-probe.tar.gz -C /tmp \
&& mv /tmp/blackfire-*.so $(php -r "echo ini_get('extension_dir');")/blackfire.so \
&& printf "extension=blackfire.so\nblackfire.agent_socket=tcp://blackfire:8707\n" > $PHP_INI_DIR/conf.d/blackfire.ini \
;fi
#####################################
# PHP REDIS EXTENSION FOR PHP 7.0
#####################################
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
#####################################
# Swoole EXTENSION FOR PHP 7
#####################################
ARG INSTALL_SWOOLE=false
RUN if [ ${INSTALL_SWOOLE} = true ]; then \
# Install Php Swoole Extension
pecl install swoole \
&& docker-php-ext-enable swoole \
;fi
#####################################
# MongoDB:
#####################################
ARG INSTALL_MONGO=false
RUN if [ ${INSTALL_MONGO} = true ]; then \
# Install the mongodb extension
pecl install mongodb && \
docker-php-ext-enable mongodb \
;fi
#####################################
# AMQP:
#####################################
ARG INSTALL_AMQP=false
RUN if [ ${INSTALL_AMQP} = true ]; then \
apt-get update && \
apt-get install librabbitmq-dev -y && \
# Install the amqp extension
pecl install amqp && \
docker-php-ext-enable amqp \
;fi
#####################################
# ZipArchive:
#####################################
ARG INSTALL_ZIP_ARCHIVE=false
RUN if [ ${INSTALL_ZIP_ARCHIVE} = true ]; then \
# Install the zip extension
docker-php-ext-install zip \
;fi
#####################################
# bcmath:
#####################################
ARG INSTALL_BCMATH=false
RUN if [ ${INSTALL_BCMATH} = true ]; then \
# Install the bcmath extension
docker-php-ext-install bcmath \
;fi
#####################################
# GMP (GNU Multiple Precision):
#####################################
ARG INSTALL_GMP=false
RUN if [ ${INSTALL_GMP} = true ]; then \
# Install the GMP extension
apt-get update -yqq && \
apt-get install -y libgmp-dev && \
docker-php-ext-install gmp \
;fi
#####################################
# PHP Memcached:
#####################################
ARG INSTALL_MEMCACHED=false
RUN if [ ${INSTALL_MEMCACHED} = true ]; then \
# Install the php memcached extension
curl -L -o /tmp/memcached.tar.gz "https://github.com/php-memcached-dev/php-memcached/archive/php7.tar.gz" \
&& 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 \
;fi
#####################################
# Exif:
#####################################
ARG INSTALL_EXIF=false
RUN if [ ${INSTALL_EXIF} = true ]; then \
# Enable Exif PHP extentions requirements
docker-php-ext-install exif \
;fi
#####################################
# PHP Aerospike:
#####################################
USER root
ARG INSTALL_AEROSPIKE=false
ENV INSTALL_AEROSPIKE ${INSTALL_AEROSPIKE}
RUN if [ ${INSTALL_AEROSPIKE} = true ]; then \
# Fix dependencies for PHPUnit within aerospike extension
apt-get update -yqq && \
apt-get -y install sudo wget && \
# Install the php aerospike extension (using 7.2.0-in-progress branch until support for 7.2 on master)
curl -L -o /tmp/aerospike-client-php.tar.gz "https://github.com/aerospike/aerospike-client-php/archive/7.2.0-in-progress.tar.gz" \
&& mkdir -p aerospike-client-php \
&& tar -C aerospike-client-php -zxvf /tmp/aerospike-client-php.tar.gz --strip 1 \
&& ( \
cd aerospike-client-php/src \
&& phpize \
&& ./build.sh \
&& make install \
) \
&& rm /tmp/aerospike-client-php.tar.gz \
&& docker-php-ext-enable aerospike \
;fi
#####################################
# Opcache:
#####################################
ARG INSTALL_OPCACHE=false
RUN if [ ${INSTALL_OPCACHE} = true ]; then \
docker-php-ext-install opcache \
;fi
# Copy opcache configration
COPY ./opcache.ini /usr/local/etc/php/conf.d/opcache.ini
#####################################
# Mysqli Modifications:
#####################################
ARG INSTALL_MYSQLI=false
RUN if [ ${INSTALL_MYSQLI} = true ]; then \
docker-php-ext-install mysqli \
;fi
#####################################
# Tokenizer Modifications:
#####################################
ARG INSTALL_TOKENIZER=false
RUN if [ ${INSTALL_TOKENIZER} = true ]; then \
docker-php-ext-install tokenizer \
;fi
#####################################
# Human Language and Character Encoding Support:
#####################################
ARG INSTALL_INTL=false
RUN if [ ${INSTALL_INTL} = true ]; then \
# Install intl and requirements
apt-get update -yqq && \
apt-get install -y zlib1g-dev libicu-dev g++ && \
docker-php-ext-configure intl && \
docker-php-ext-install intl \
;fi
#####################################
# GHOSTSCRIPT:
#####################################
ARG INSTALL_GHOSTSCRIPT=false
RUN if [ ${INSTALL_GHOSTSCRIPT} = true ]; then \
# Install the ghostscript extension
# for PDF editing
apt-get update -yqq \
&& apt-get install -y \
poppler-utils \
ghostscript \
;fi
#####################################
# LDAP:
#####################################
ARG INSTALL_LDAP=false
RUN if [ ${INSTALL_LDAP} = true ]; then \
apt-get update -yqq && \
apt-get install -y libldap2-dev && \
docker-php-ext-configure ldap --with-libdir=lib/x86_64-linux-gnu/ && \
docker-php-ext-install ldap \
;fi
#####################################
# SQL SERVER:
#####################################
ARG INSTALL_MSSQL=false
ENV INSTALL_MSSQL ${INSTALL_MSSQL}
RUN set -eux; if [ ${INSTALL_MSSQL} = true ]; then \
#####################################
# Ref from https://github.com/Microsoft/msphpsql/wiki/Dockerfile-for-adding-pdo_sqlsrv-and-sqlsrv-to-official-php-image
#####################################
# Add Microsoft repo for Microsoft ODBC Driver 13 for Linux
apt-get update -yqq \
&& apt-get install -y apt-transport-https gnupg \
&& curl https://packages.microsoft.com/keys/microsoft.asc | apt-key add - \
&& curl https://packages.microsoft.com/config/debian/8/prod.list > /etc/apt/sources.list.d/mssql-release.list \
&& apt-get update -yqq \
# Install Dependencies
&& ACCEPT_EULA=Y apt-get install -y unixodbc unixodbc-dev libgss3 odbcinst msodbcsql locales \
&& echo "en_US.UTF-8 UTF-8" > /etc/locale.gen \
&& locale-gen \
# Install pdo_sqlsrv and sqlsrv from PECL. Replace pdo_sqlsrv-4.1.8preview with preferred version.
&& pecl install pdo_sqlsrv-4.1.8preview sqlsrv-4.1.8preview \
&& docker-php-ext-enable pdo_sqlsrv sqlsrv \
&& php -m | grep -q 'pdo_sqlsrv' \
&& php -m | grep -q 'sqlsrv' \
;fi
#####################################
# Image optimizers:
#####################################
USER root
ARG INSTALL_IMAGE_OPTIMIZERS=false
ENV INSTALL_IMAGE_OPTIMIZERS ${INSTALL_IMAGE_OPTIMIZERS}
RUN if [ ${INSTALL_IMAGE_OPTIMIZERS} = true ]; then \
apt-get update -yqq && \
apt-get install -y --force-yes jpegoptim optipng pngquant gifsicle \
;fi
#####################################
# ImageMagick:
#####################################
USER root
ARG INSTALL_IMAGEMAGICK=false
ENV INSTALL_IMAGEMAGICK ${INSTALL_IMAGEMAGICK}
RUN if [ ${INSTALL_IMAGEMAGICK} = true ]; then \
apt-get update -y && \
apt-get install -y libmagickwand-dev imagemagick && \
pecl install imagick && \
docker-php-ext-enable imagick \
;fi
#####################################
# IMAP:
#####################################
ARG INSTALL_IMAP=false
ENV INSTALL_IMAP ${INSTALL_IMAP}
RUN if [ ${INSTALL_IMAP} = true ]; then \
apt-get update && \
apt-get install -y libc-client-dev libkrb5-dev && \
rm -r /var/lib/apt/lists/* && \
docker-php-ext-configure imap --with-kerberos --with-imap-ssl && \
docker-php-ext-install imap \
;fi
#####################################
# Check PHP version:
#####################################
RUN php -v | head -n 1 | grep -q "PHP 7.2."
#
#--------------------------------------------------------------------------
# Final Touch
#--------------------------------------------------------------------------
#
ADD ./laravel.ini /usr/local/etc/php/conf.d
ADD ./xlaravel.pool.conf /usr/local/etc/php-fpm.d/
#RUN rm -r /var/lib/apt/lists/*
RUN usermod -u 1000 www-data
WORKDIR /var/www
CMD ["php-fpm"]
EXPOSE 9000

View File

@ -4,10 +4,13 @@ log_errors=On
; Maximum amount of memory a script may consume (128MB)
; http://php.net/memory-limit
memory_limit = 128M
memory_limit = 256M
; Maximum allowed size for uploaded files.
; http://php.net/upload-max-filesize
upload_max_filesize = 20M
; Sets max size of post data allowed.
; http://php.net/post-max-size
post_max_size = 20M
max_execution_time=600
default_socket_timeout=3600
request_terminate_timeout=600

View File

@ -380,7 +380,7 @@ expose_php = On
; Maximum execution time of each script, in seconds
; http://php.net/max-execution-time
; Note: This directive is hardcoded to 0 for the CLI SAPI
max_execution_time = 30
max_execution_time = 600
; Maximum amount of time each script may spend parsing request data. It's a good
; idea to limit this time on productions servers in order to eliminate unexpectedly
@ -390,7 +390,7 @@ max_execution_time = 30
; Development Value: 60 (60 seconds)
; Production Value: 60 (60 seconds)
; http://php.net/max-input-time
max_input_time = 60
max_input_time = 120
; Maximum input variable nesting level
; http://php.net/max-input-nesting-level
@ -401,7 +401,7 @@ max_input_time = 60
; Maximum amount of memory a script may consume (128MB)
; http://php.net/memory-limit
memory_limit = 128M
memory_limit = 256M
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; Error handling and logging ;

View File

@ -380,7 +380,7 @@ expose_php = On
; Maximum execution time of each script, in seconds
; http://php.net/max-execution-time
; Note: This directive is hardcoded to 0 for the CLI SAPI
max_execution_time = 30
max_execution_time = 600
; Maximum amount of time each script may spend parsing request data. It's a good
; idea to limit this time on productions servers in order to eliminate unexpectedly
@ -390,7 +390,7 @@ max_execution_time = 30
; Development Value: 60 (60 seconds)
; Production Value: 60 (60 seconds)
; http://php.net/max-input-time
max_input_time = 60
max_input_time = 120
; Maximum input variable nesting level
; http://php.net/max-input-nesting-level
@ -401,7 +401,7 @@ max_input_time = 60
; Maximum amount of memory a script may consume (128MB)
; http://php.net/memory-limit
memory_limit = 128M
memory_limit = 256M
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; Error handling and logging ;

1918
php-fpm/php72.ini Normal file

File diff suppressed because it is too large Load Diff

View File

@ -1,13 +1,20 @@
; 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_connect_back=1
xdebug.remote_port=9000
xdebug.idekey=PHPSTORM
xdebug.remote_autostart=0
xdebug.remote_enable=0
xdebug.remote_connect_back=0
xdebug.cli_color=0
xdebug.profiler_enable=0
xdebug.profiler_output_dir="~/xdebug/phpstorm/tmp/profiling"
xdebug.remote_handler=dbgp
xdebug.remote_mode=req
xdebug.remote_port=9000
xdebug.remote_host=dockerhost
xdebug.idekey=PHPSTORM
xdebug.var_display_max_children=-1
xdebug.var_display_max_data=-1
xdebug.var_display_max_depth=-1

View File

@ -6,7 +6,7 @@
FROM php:7.0-alpine
MAINTAINER Mahmoud Zalt <mahmoud@zalt.me>
LABEL maintainer="Mahmoud Zalt <mahmoud@zalt.me>"
RUN apk --update add wget \
curl \
@ -24,6 +24,13 @@ RUN apk --update add wget \
RUN docker-php-ext-install mysqli mbstring pdo pdo_mysql mcrypt tokenizer xml
RUN pecl channel-update pecl.php.net && pecl install memcached && docker-php-ext-enable memcached
# Install PostgreSQL drivers:
ARG INSTALL_PGSQL=false
RUN if [ ${INSTALL_PGSQL} = true ]; then \
apk --update add postgresql-dev \
&& docker-php-ext-install pdo_pgsql \
;fi
RUN rm /var/cache/apk/* \
&& mkdir -p /var/www
@ -49,6 +56,13 @@ ENTRYPOINT ["/usr/bin/supervisord", "-n", "-c", "/etc/supervisord.conf"]
#
# -- Your awesome modifications go here -- #
#
#--------------------------------------------------------------------------
# Check PHP version
#--------------------------------------------------------------------------
#
RUN php -v | head -n 1 | grep -q "PHP 7.0."
#
#--------------------------------------------------------------------------

View File

@ -6,7 +6,7 @@
FROM php:7.1-alpine
MAINTAINER Mahmoud Zalt <mahmoud@zalt.me>
LABEL maintainer="Mahmoud Zalt <mahmoud@zalt.me>"
RUN apk --update add wget \
curl \
@ -24,6 +24,13 @@ RUN apk --update add wget \
RUN docker-php-ext-install mysqli mbstring pdo pdo_mysql mcrypt tokenizer xml
RUN pecl channel-update pecl.php.net && pecl install memcached && docker-php-ext-enable memcached
# Install PostgreSQL drivers:
ARG INSTALL_PGSQL=false
RUN if [ ${INSTALL_PGSQL} = true ]; then \
apk --update add postgresql-dev \
&& docker-php-ext-install pdo_pgsql \
;fi
RUN rm /var/cache/apk/* \
&& mkdir -p /var/www
@ -49,6 +56,13 @@ ENTRYPOINT ["/usr/bin/supervisord", "-n", "-c", "/etc/supervisord.conf"]
#
# -- Your awesome modifications go here -- #
#
#--------------------------------------------------------------------------
# Check PHP version
#--------------------------------------------------------------------------
#
RUN php -v | head -n 1 | grep -q "PHP 7.1."
#
#--------------------------------------------------------------------------

73
php-worker/Dockerfile-72 Normal file
View File

@ -0,0 +1,73 @@
#
#--------------------------------------------------------------------------
# Image Setup
#--------------------------------------------------------------------------
#
FROM php:7.2-alpine
LABEL maintainer="Mahmoud Zalt <mahmoud@zalt.me>"
RUN apk --update add wget \
curl \
git \
build-base \
libmemcached-dev \
libmcrypt-dev \
libxml2-dev \
zlib-dev \
autoconf \
cyrus-sasl-dev \
libgsasl-dev \
supervisor
RUN docker-php-ext-install mysqli mbstring pdo pdo_mysql tokenizer xml
RUN pecl channel-update pecl.php.net && pecl install memcached mcrypt-1.0.1 && docker-php-ext-enable memcached
# Install PostgreSQL drivers:
ARG INSTALL_PGSQL=false
RUN if [ ${INSTALL_PGSQL} = true ]; then \
apk --update add postgresql-dev \
&& docker-php-ext-install pdo_pgsql \
;fi
RUN rm /var/cache/apk/* \
&& mkdir -p /var/www
#
#--------------------------------------------------------------------------
# Optional Supervisord Configuration
#--------------------------------------------------------------------------
#
# Modify the ./supervisor.conf file to match your App's requirements.
# Make sure you rebuild your container with every change.
#
COPY supervisord.conf /etc/supervisord.conf
ENTRYPOINT ["/usr/bin/supervisord", "-n", "-c", "/etc/supervisord.conf"]
#
#--------------------------------------------------------------------------
# Optional Software's Installation
#--------------------------------------------------------------------------
#
# If you need to modify this image, feel free to do it right here.
#
# -- Your awesome modifications go here -- #
#
#--------------------------------------------------------------------------
# Check PHP version
#--------------------------------------------------------------------------
#
RUN php -v | head -n 1 | grep -q "PHP 7.2."
#
#--------------------------------------------------------------------------
# Final Touch
#--------------------------------------------------------------------------
#
WORKDIR /etc/supervisor/conf.d/

View File

@ -1,5 +1,11 @@
[supervisord]
nodaemon=true
[supervisorctl]
[inet_http_server]
port = 127.0.0.1:9001
[rpcinterface:supervisor]
supervisor.rpcinterface_factory = supervisor.rpcinterface:make_main_rpcinterface
[program:laravel-worker]
process_name=%(program_name)s_%(process_num)02d
command=php /var/www/artisan queue:work --sleep=3 --tries=3 --daemon

View File

@ -1,6 +1,6 @@
FROM phpmyadmin/phpmyadmin
MAINTAINER Bo-Yi Wu <appleboy.tw@gmail.com>
LABEL maintainer="Bo-Yi Wu <appleboy.tw@gmail.com>"
# Add volume for sessions to allow session persistence
VOLUME /sessions

View File

@ -1,6 +1,6 @@
FROM mdillon/postgis:latest
MAINTAINER Mahmoud Zalt <mahmoud@zalt.me>
LABEL maintainer="Mahmoud Zalt <mahmoud@zalt.me>"
CMD ["postgres"]

View File

@ -1,6 +1,6 @@
FROM postgres:alpine
MAINTAINER Ben M <git@bmagg.com>
LABEL maintainer="Ben M <git@bmagg.com>"
CMD ["postgres"]

View File

@ -1,6 +1,6 @@
FROM rabbitmq
MAINTAINER Mahmoud Zalt <mahmoud@zalt.me>
LABEL maintainer="Mahmoud Zalt <mahmoud@zalt.me>"
RUN rabbitmq-plugins enable --offline rabbitmq_management

View File

@ -1,6 +1,6 @@
FROM redis:latest
MAINTAINER Mahmoud Zalt <mahmoud@zalt.me>
LABEL maintainer="Mahmoud Zalt <mahmoud@zalt.me>"
## For security settings uncomment, make the dir, copy conf, and also start with the conf, to use it
#RUN mkdir -p /usr/local/etc/redis

View File

@ -1,6 +1,6 @@
FROM rethinkdb:latest
MAINTAINER Cristian Mello <cristianc.mello@gmail.com>
LABEL maintainer="Cristian Mello <cristianc.mello@gmail.com>"
VOLUME /data/rethinkdb_data

View File

@ -1,5 +1,5 @@
FROM selenium/standalone-chrome
MAINTAINER Edmund Luong <edmundvmluong@gmail.com>
LABEL maintainer="Edmund Luong <edmundvmluong@gmail.com>"
EXPOSE 4444
EXPOSE 4444

14
solr/Dockerfile Normal file
View File

@ -0,0 +1,14 @@
ARG SOLR_VERSION=5.5
FROM solr:${SOLR_VERSION}
ARG SOLR_DATAIMPORTHANDLER_MYSQL=false
ENV SOLR_DATAIMPORTHANDLER_MYSQL ${SOLR_DATAIMPORTHANDLER_MYSQL}
# download mysql connector for dataimporthandler
RUN if [ ${SOLR_DATAIMPORTHANDLER_MYSQL} = true ]; then \
curl -L -o /tmp/mysql_connector.tar.gz "https://dev.mysql.com/get/Downloads/Connector-J/mysql-connector-java-5.1.45.tar.gz" \
&& mkdir /opt/solr/contrib/dataimporthandler/lib \
&& tar -zxvf /tmp/mysql_connector.tar.gz -C /opt/solr/contrib/dataimporthandler/lib "mysql-connector-java-5.1.45/mysql-connector-java-5.1.45-bin.jar" --strip-components 1 \
&& rm /tmp/mysql_connector.tar.gz \
;fi

View File

@ -59,11 +59,11 @@ if [ "$1" == "up" ] ; then
print_style "Initializing Docker Compose\n" "info"
shift # removing first argument
docker-compose -f docker-compose.yml -f docker-compose.sync.yml up -d ${@}
docker-compose up -d ${@}
elif [ "$1" == "down" ]; then
print_style "Stopping Docker Compose\n" "info"
docker-compose down
docker-compose stop
print_style "Stopping Docker Sync\n" "info"
docker-sync stop
@ -86,4 +86,4 @@ else
print_style "Invalid arguments.\n" "danger"
display_options
exit 1
fi
fi

View File

@ -1,6 +1,6 @@
FROM debian:latest
MAINTAINER ZeroC0D3 Team<zeroc0d3.team@gmail.com>
LABEL maintainer="ZeroC0D3 Team<zeroc0d3.team@gmail.com>"
# Set Environment Variables
ENV DEBIAN_FRONTEND noninteractive

View File

@ -12,9 +12,12 @@
# Note: Base Image name format {image-tag}-{php-version}
#
FROM laradock/workspace:1.8-56
FROM laradock/workspace:2.0-56
MAINTAINER Mahmoud Zalt <mahmoud@zalt.me>
LABEL maintainer="Mahmoud Zalt <mahmoud@zalt.me>"
# Remove Faillog and Lastlog to reduce the size of the final image.
RUN rm /var/log/lastlog /var/log/faillog
#
#--------------------------------------------------------------------------
@ -52,6 +55,7 @@ ENV PGID ${PGID}
RUN groupadd -g ${PGID} laradock && \
useradd -u ${PUID} -g laradock -m laradock && \
usermod -p "*" laradock && \
apt-get update -yqq
#####################################
@ -69,6 +73,34 @@ RUN if [ ${INSTALL_SOAP} = true ]; then \
apt-get -y install libxml2-dev php5.6-soap \
;fi
#####################################
# LDAP:
#####################################
ARG INSTALL_LDAP=false
ENV INSTALL_LDAP ${INSTALL_LDAP}
RUN if [ ${INSTALL_LDAP} = true ]; then \
apt-get update -yqq && \
apt-get install -y libldap2-dev && \
apt-get install -y php5.6-ldap \
;fi
#####################################
# IMAP:
#####################################
USER root
ARG INSTALL_IMAP=false
ENV INSTALL_IMAP ${INSTALL_IMAP}
RUN if [ ${INSTALL_IMAP} = true ]; then \
# Install the PHP IMAP extension
add-apt-repository -y ppa:ondrej/php && \
apt-get update -yqq && \
apt-get -y install php5.6-imap \
;fi
#####################################
# Set Timezone
#####################################
@ -96,6 +128,13 @@ RUN if [ ${COMPOSER_GLOBAL_INSTALL} = true ]; then \
composer global install \
;fi
ARG COMPOSER_REPO_PACKAGIST
ENV COMPOSER_REPO_PACKAGIST ${COMPOSER_REPO_PACKAGIST}
RUN if [ ${COMPOSER_REPO_PACKAGIST} ]; then \
composer config -g repo.packagist composer ${COMPOSER_REPO_PACKAGIST} \
;fi
# Export composer vendor path
RUN echo "" >> ~/.bashrc && \
echo 'export PATH="~/.composer/vendor/bin:$PATH"' >> ~/.bashrc
@ -111,27 +150,30 @@ RUN chmod -R 644 /etc/cron.d
#####################################
# User Aliases
#####################################
USER root
COPY ./aliases.sh /root/aliases.sh
COPY ./aliases.sh /home/laradock/aliases.sh
RUN sed -i 's/\r//' /root/aliases.sh && \
sed -i 's/\r//' /home/laradock/aliases.sh && \
chown laradock:laradock /home/laradock/aliases.sh && \
echo "" >> ~/.bashrc && \
echo "# Load Custom Aliases" >> ~/.bashrc && \
echo "source ~/aliases.sh" >> ~/.bashrc && \
echo "" >> ~/.bashrc
USER laradock
COPY ./aliases.sh /home/laradock/aliases.sh
RUN echo "" >> ~/.bashrc && \
echo "# Load Custom Aliases" >> ~/.bashrc && \
echo "source /home/laradock/aliases.sh" >> ~/.bashrc && \
echo "" >> ~/.bashrc && \
sed -i 's/\r//' /home/laradock/aliases.sh && \
sed -i 's/^#! \/bin\/sh/#! \/bin\/bash/' /home/laradock/aliases.sh
USER root
RUN echo "" >> ~/.bashrc && \
echo "# Load Custom Aliases" >> ~/.bashrc && \
echo "source /home/laradock/aliases.sh" >> ~/.bashrc && \
echo "" >> ~/.bashrc && \
sed -i 's/\r//' /home/laradock/aliases.sh && \
sed -i 's/^#! \/bin\/sh/#! \/bin\/bash/' /home/laradock/aliases.sh
echo "source ~/aliases.sh" >> ~/.bashrc && \
echo "" >> ~/.bashrc
#####################################
# xDebug:
#####################################
USER root
ARG INSTALL_XDEBUG=false
RUN if [ ${INSTALL_XDEBUG} = true ]; then \
@ -178,6 +220,8 @@ RUN if [ ${INSTALL_WORKSPACE_SSH} = true ]; then \
&& rm -f /tmp/id_rsa* \
&& chmod 644 /root/.ssh/authorized_keys /root/.ssh/id_rsa.pub \
&& chmod 400 /root/.ssh/id_rsa \
&& cp -rf /root/.ssh /home/laradock \
&& chown -R laradock:laradock /home/laradock/.ssh \
;fi
#####################################
@ -195,6 +239,19 @@ RUN if [ ${INSTALL_MONGO} = true ]; then \
ln -s /etc/php/5.6/mods-available/mongodb.ini /etc/php/5.6/cli/conf.d/30-mongodb.ini \
;fi
#####################################
# AMQP:
#####################################
ARG INSTALL_AMQP=false
ENV INSTALL_AMQP ${INSTALL_AMQP}
RUN if [ ${INSTALL_AMQP} = true ]; then \
apt-get install librabbitmq-dev -y && \
pecl -q install amqp && \
echo "extension=amqp.so" >> /etc/php/5.6/mods-available/amqp.ini && \
ln -s /etc/php/5.6/mods-available/amqp.ini /etc/php/5.6/cli/conf.d/30-amqp.ini \
;fi
#####################################
# PHP REDIS EXTENSION FOR PHP 5.6
#####################################
@ -208,6 +265,18 @@ RUN if [ ${INSTALL_PHPREDIS} = true ]; then \
phpenmod redis \
;fi
#####################################
# Swoole EXTENSION FOR PHP 5.6
#####################################
ARG INSTALL_SWOOLE=false
RUN if [ ${INSTALL_SWOOLE} = true ]; then \
# Install Php Swoole Extension
pecl -q install -f swoole-1.10.1 && \
echo "extension=swoole.so" >> /etc/php/5.6/mods-available/swoole.ini && \
ln -s /etc/php/5.6/mods-available/swoole.ini /etc/php/5.6/cli/conf.d/20-swoole.ini \
;fi
#####################################
# Drush:
#####################################
@ -249,14 +318,19 @@ ARG NODE_VERSION=stable
ENV NODE_VERSION ${NODE_VERSION}
ARG INSTALL_NODE=false
ENV INSTALL_NODE ${INSTALL_NODE}
ARG NPM_REGISTRY
ENV NPM_REGISTRY ${NPM_REGISTRY}
ENV NVM_DIR /home/laradock/.nvm
RUN if [ ${INSTALL_NODE} = true ]; then \
# Install nvm (A Node Version Manager)
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.1/install.sh | bash && \
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.8/install.sh | bash && \
. $NVM_DIR/nvm.sh && \
nvm install ${NODE_VERSION} && \
nvm use ${NODE_VERSION} && \
nvm alias ${NODE_VERSION} && \
if [ ${NPM_REGISTRY} ]; then \
npm config set registry ${NPM_REGISTRY} \
;fi && \
npm install -g gulp bower vue-cli \
;fi
@ -280,6 +354,10 @@ RUN if [ ${INSTALL_NODE} = true ]; then \
# Add PATH for node
ENV PATH $PATH:$NVM_DIR/versions/node/v${NODE_VERSION}/bin
RUN if [ ${NPM_REGISTRY} ]; then \
. ~/.bashrc && npm config set registry ${NPM_REGISTRY} \
;fi
#####################################
# YARN:
#####################################
@ -316,15 +394,15 @@ RUN if [ ${INSTALL_YARN} = true ]; then \
#####################################
USER root
ARG INSTALL_AEROSPIKE=true
ARG INSTALL_AEROSPIKE=false
ENV INSTALL_AEROSPIKE ${INSTALL_AEROSPIKE}
# Copy aerospike configration for remote debugging
COPY ./aerospike.ini /etc/php/5.6/cli/conf.d/aerospike.ini
RUN if [ ${INSTALL_AEROSPIKE} = true ]; then \
# Fix dependencies for PHPUnit within aerospike extension
apt-get update -yqq && \
apt-get -y install sudo wget && \
# Install the php aerospike extension
curl -L -o /tmp/aerospike-client-php.tar.gz "https://github.com/aerospike/aerospike-client-php/archive/3.4.14.tar.gz" \
curl -L -o /tmp/aerospike-client-php.tar.gz "https://github.com/aerospike/aerospike-client-php5/archive/master.tar.gz" \
&& mkdir -p aerospike-client-php \
&& tar -C aerospike-client-php -zxvf /tmp/aerospike-client-php.tar.gz --strip 1 \
&& ( \
@ -334,10 +412,26 @@ RUN if [ ${INSTALL_AEROSPIKE} = true ]; then \
&& make install \
) \
&& rm /tmp/aerospike-client-php.tar.gz \
&& echo 'extension=aerospike.so' >> /etc/php/5.6/cli/conf.d/aerospike.ini \
&& echo 'aerospike.udf.lua_system_path=/usr/local/aerospike/lua' >> /etc/php/5.6/cli/conf.d/aerospike.ini \
&& echo 'aerospike.udf.lua_user_path=/usr/local/aerospike/usr-lua' >> /etc/php/5.6/cli/conf.d/aerospike.ini \
;fi
RUN if [ ${INSTALL_AEROSPIKE} = false ]; then \
rm /etc/php/5.6/cli/conf.d/aerospike.ini \
#####################################
# PHP V8JS:
#####################################
USER root
ARG INSTALL_V8JS=false
ENV INSTALL_V8JS ${INSTALL_V8JS}
RUN if [ ${INSTALL_V8JS} = true ]; then \
# Install the php V8JS extension
add-apt-repository -y ppa:pinepain/libv8-archived \
&& apt-get update -yqq \
&& apt-get install -y php5.6-xml php5.6-dev php-pear libv8-dev \
&& pecl install v8js-0.6.4 \
&& echo "extension=v8js.so" >> /etc/php/5.6/cli/php.ini \
;fi
#####################################
@ -355,7 +449,7 @@ RUN echo "" >> ~/.bashrc && \
#####################################
USER laradock
ARG INSTALL_LARAVEL_ENVOY=true
ARG INSTALL_LARAVEL_ENVOY=false
ENV INSTALL_LARAVEL_ENVOY ${INSTALL_LARAVEL_ENVOY}
RUN if [ ${INSTALL_LARAVEL_ENVOY} = true ]; then \
@ -368,7 +462,14 @@ RUN if [ ${INSTALL_LARAVEL_ENVOY} = true ]; then \
#####################################
USER root
ARG INSTALL_LARAVEL_INSTALLER=true
ARG COMPOSER_REPO_PACKAGIST
ENV COMPOSER_REPO_PACKAGIST ${COMPOSER_REPO_PACKAGIST}
RUN if [ ${COMPOSER_REPO_PACKAGIST} ]; then \
composer config -g repo.packagist composer ${COMPOSER_REPO_PACKAGIST} \
;fi
ARG INSTALL_LARAVEL_INSTALLER=false
ENV INSTALL_LARAVEL_INSTALLER ${INSTALL_LARAVEL_INSTALLER}
RUN if [ ${INSTALL_LARAVEL_INSTALLER} = true ]; then \
@ -393,6 +494,19 @@ RUN if [ ${INSTALL_DEPLOYER} = true ]; then \
composer global require "deployer/deployer" \
;fi
#####################################
# Prestissimo:
#####################################
USER laradock
ARG INSTALL_PRESTISSIMO=false
ENV INSTALL_PRESTISSIMO ${INSTALL_PRESTISSIMO}
RUN if [ ${INSTALL_PRESTISSIMO} = true ]; then \
# Install Prestissimo
composer global require "hirak/prestissimo" \
;fi
#####################################
# Linuxbrew:
#####################################
@ -402,7 +516,6 @@ ARG INSTALL_LINUXBREW=true
ENV INSTALL_LINUXBREW ${INSTALL_LINUXBREW}
RUN if [ ${INSTALL_LINUXBREW} = true ]; then \
# Preparation
apt-get upgrade -y && \
apt-get install -y build-essential make cmake scons curl git \
@ -410,13 +523,10 @@ RUN if [ ${INSTALL_LINUXBREW} = true ]; then \
gettext libtool flex bison \
libbz2-dev libcurl4-openssl-dev \
libexpat-dev libncurses-dev && \
# Install the Linuxbrew
git clone --depth=1 https://github.com/Homebrew/linuxbrew.git ~/.linuxbrew && \
echo "" >> ~/.bashrc && \
echo 'export PKG_CONFIG_PATH"=/usr/local/lib/pkgconfig:/usr/local/lib64/pkgconfig:/usr/lib64/pkgconfig:/usr/lib/pkgconfig:/usr/lib/x86_64-linux-gnu/pkgconfig:/usr/lib64/pkgconfig:/usr/share/pkgconfig:$PKG_CONFIG_PATH"' >> ~/.bashrc && \
# Setup linuxbrew
echo 'export LINUXBREWHOME="$HOME/.linuxbrew"' >> ~/.bashrc && \
echo 'export PATH="$LINUXBREWHOME/bin:$PATH"' >> ~/.bashrc && \
@ -431,9 +541,12 @@ RUN if [ ${INSTALL_LINUXBREW} = true ]; then \
ARG INSTALL_MSSQL=false
ENV INSTALL_MSSQL ${INSTALL_MSSQL}
RUN if [ ${INSTALL_MSSQL} = true ]; then \
RUN set -eux; if [ ${INSTALL_MSSQL} = true ]; then \
apt-get -y install php5.6-sybase freetds-bin freetds-common libsybdb5 \
&& echo "extension=mssql.so" > /etc/php/5.6/cli/conf.d/20-mssql.ini \
&& echo "extension=pdo_dblib.so" > /etc/php/5.6/cli/conf.d/20-pdo_dblib.ini \
&& php -m | grep -q 'mssql' \
&& php -m | grep -q 'pdo_dblib' \
;fi
#####################################
@ -472,19 +585,15 @@ USER root
ARG INSTALL_SYMFONY=false
ENV INSTALL_SYMFONY ${INSTALL_SYMFONY}
RUN if [ ${INSTALL_SYMFONY} = true ]; then \
mkdir -p /usr/local/bin \
&& curl -LsS https://symfony.com/installer -o /usr/local/bin/symfony \
&& chmod a+x /usr/local/bin/symfony \
# Symfony 3 alias
&& echo 'alias dev="php bin/console -e=dev"' >> ~/.bashrc \
&& echo 'alias prod="php bin/console -e=prod"' >> ~/.bashrc \
# Symfony 2 alias
# && echo 'alias dev="php app/console -e=dev"' >> ~/.bashrc \
# && echo 'alias prod="php app/console -e=prod"' >> ~/.bashrc \
;fi
#####################################
@ -507,7 +616,8 @@ USER root
ARG INSTALL_IMAGEMAGICK=false
ENV INSTALL_IMAGEMAGICK ${INSTALL_IMAGEMAGICK}
RUN if [ ${INSTALL_IMAGEMAGICK} = true ]; then \
apt-get install -y --force-yes imagemagick php-imagick \
apt-get update -yqq \
&& apt-get install -y --force-yes imagemagick php-imagick \
;fi
#####################################
@ -541,6 +651,8 @@ RUN if [ ${INSTALL_PG_CLIENT} = true ]; then \
# Dusk Dependencies:
#####################################
USER root
ARG CHROME_DRIVER_VERSION=stable
ENV CHROME_DRIVER_VERSION ${CHROME_DRIVER_VERSION}
ARG INSTALL_DUSK_DEPS=false
ENV INSTALL_DUSK_DEPS ${INSTALL_DUSK_DEPS}
RUN if [ ${INSTALL_DUSK_DEPS} = true ]; then \
@ -551,21 +663,25 @@ RUN if [ ${INSTALL_DUSK_DEPS} = true ]; then \
libxpm4 libxrender1 libgtk2.0-0 libnss3 libgconf-2-4 xvfb \
gtk2-engines-pixbuf xfonts-cyrillic xfonts-100dpi xfonts-75dpi \
xfonts-base xfonts-scalable x11-apps \
# Install Google Chrome
&& wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb \
&& dpkg -i --force-depends google-chrome-stable_current_amd64.deb \
&& apt-get -y -f install \
&& dpkg -i --force-depends google-chrome-stable_current_amd64.deb \
&& rm google-chrome-stable_current_amd64.deb \
# Install Chrome Driver
&& wget https://chromedriver.storage.googleapis.com/2.31/chromedriver_linux64.zip \
&& wget https://chromedriver.storage.googleapis.com/${CHROME_DRIVER_VERSION}/chromedriver_linux64.zip \
&& unzip chromedriver_linux64.zip \
&& mv chromedriver /usr/local/bin/ \
&& rm chromedriver_linux64.zip \
;fi
#####################################
# Check PHP version:
#####################################
RUN php -v | head -n 1 | grep -q "PHP 5.6."
#
#--------------------------------------------------------------------------
# Final Touch

View File

@ -12,9 +12,12 @@
# Note: Base Image name format {image-tag}-{php-version}
#
FROM laradock/workspace:1.8-70
FROM laradock/workspace:2.0-70
MAINTAINER Mahmoud Zalt <mahmoud@zalt.me>
LABEL maintainer="Mahmoud Zalt <mahmoud@zalt.me>"
# Remove Faillog and Lastlog to reduce the size of the final image.
RUN rm /var/log/lastlog /var/log/faillog
#
#--------------------------------------------------------------------------
@ -52,6 +55,7 @@ ENV PGID ${PGID}
RUN groupadd -g ${PGID} laradock && \
useradd -u ${PUID} -g laradock -m laradock && \
usermod -p "*" laradock && \
apt-get update -yqq
#####################################
@ -82,6 +86,18 @@ RUN if [ ${INSTALL_LDAP} = true ]; then \
apt-get install -y php7.0-ldap \
;fi
#####################################
# IMAP:
#####################################
ARG INSTALL_IMAP=false
ENV INSTALL_IMAP ${INSTALL_IMAP}
RUN if [ ${INSTALL_IMAP} = true ]; then \
apt-get update -yqq && \
apt-get install -y php7.0-imap \
;fi
#####################################
# Set Timezone
#####################################
@ -109,6 +125,13 @@ RUN if [ ${COMPOSER_GLOBAL_INSTALL} = true ]; then \
composer global install \
;fi
ARG COMPOSER_REPO_PACKAGIST
ENV COMPOSER_REPO_PACKAGIST ${COMPOSER_REPO_PACKAGIST}
RUN if [ ${COMPOSER_REPO_PACKAGIST} ]; then \
composer config -g repo.packagist composer ${COMPOSER_REPO_PACKAGIST} \
;fi
# Export composer vendor path
RUN echo "" >> ~/.bashrc && \
echo 'export PATH="~/.composer/vendor/bin:$PATH"' >> ~/.bashrc
@ -124,27 +147,30 @@ RUN chmod -R 644 /etc/cron.d
#####################################
# User Aliases
#####################################
USER root
COPY ./aliases.sh /root/aliases.sh
COPY ./aliases.sh /home/laradock/aliases.sh
RUN sed -i 's/\r//' /root/aliases.sh && \
sed -i 's/\r//' /home/laradock/aliases.sh && \
chown laradock:laradock /home/laradock/aliases.sh && \
echo "" >> ~/.bashrc && \
echo "# Load Custom Aliases" >> ~/.bashrc && \
echo "source ~/aliases.sh" >> ~/.bashrc && \
echo "" >> ~/.bashrc
USER laradock
COPY ./aliases.sh /home/laradock/aliases.sh
RUN echo "" >> ~/.bashrc && \
echo "# Load Custom Aliases" >> ~/.bashrc && \
echo "source /home/laradock/aliases.sh" >> ~/.bashrc && \
echo "" >> ~/.bashrc && \
sed -i 's/\r//' /home/laradock/aliases.sh && \
sed -i 's/^#! \/bin\/sh/#! \/bin\/bash/' /home/laradock/aliases.sh
USER root
RUN echo "" >> ~/.bashrc && \
echo "# Load Custom Aliases" >> ~/.bashrc && \
echo "source /home/laradock/aliases.sh" >> ~/.bashrc && \
echo "" >> ~/.bashrc && \
sed -i 's/\r//' /home/laradock/aliases.sh && \
sed -i 's/^#! \/bin\/sh/#! \/bin\/bash/' /home/laradock/aliases.sh
echo "source ~/aliases.sh" >> ~/.bashrc && \
echo "" >> ~/.bashrc
#####################################
# xDebug:
#####################################
USER root
ARG INSTALL_XDEBUG=false
RUN if [ ${INSTALL_XDEBUG} = true ]; then \
@ -191,6 +217,8 @@ RUN if [ ${INSTALL_WORKSPACE_SSH} = true ]; then \
&& rm -f /tmp/id_rsa* \
&& chmod 644 /root/.ssh/authorized_keys /root/.ssh/id_rsa.pub \
&& chmod 400 /root/.ssh/id_rsa \
&& cp -rf /root/.ssh /home/laradock \
&& chown -R laradock:laradock /home/laradock/.ssh \
;fi
#####################################
@ -207,6 +235,19 @@ RUN if [ ${INSTALL_MONGO} = true ]; then \
ln -s /etc/php/7.0/mods-available/mongodb.ini /etc/php/7.0/cli/conf.d/30-mongodb.ini \
;fi
#####################################
# AMQP:
#####################################
ARG INSTALL_AMQP=false
ENV INSTALL_AMQP ${INSTALL_AMQP}
RUN if [ ${INSTALL_AMQP} = true ]; then \
apt-get install librabbitmq-dev -y && \
pecl -q install amqp && \
echo "extension=amqp.so" >> /etc/php/7.0/mods-available/amqp.ini && \
ln -s /etc/php/7.0/mods-available/amqp.ini /etc/php/7.0/cli/conf.d/30-amqp.ini \
;fi
#####################################
# PHP REDIS EXTENSION FOR PHP 7
#####################################
@ -220,6 +261,18 @@ RUN if [ ${INSTALL_PHPREDIS} = true ]; then \
phpenmod redis \
;fi
#####################################
# Swoole EXTENSION FOR PHP 7
#####################################
ARG INSTALL_SWOOLE=false
RUN if [ ${INSTALL_SWOOLE} = true ]; then \
# Install Php Swoole Extension
pecl -q install swoole && \
echo "extension=swoole.so" >> /etc/php/7.0/mods-available/swoole.ini && \
ln -s /etc/php/7.0/mods-available/swoole.ini /etc/php/7.0/cli/conf.d/20-swoole.ini \
;fi
#####################################
# Drush:
#####################################
@ -261,14 +314,19 @@ ARG NODE_VERSION=stable
ENV NODE_VERSION ${NODE_VERSION}
ARG INSTALL_NODE=false
ENV INSTALL_NODE ${INSTALL_NODE}
ARG NPM_REGISTRY
ENV NPM_REGISTRY ${NPM_REGISTRY}
ENV NVM_DIR /home/laradock/.nvm
RUN if [ ${INSTALL_NODE} = true ]; then \
# Install nvm (A Node Version Manager)
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.1/install.sh | bash && \
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.8/install.sh | bash && \
. $NVM_DIR/nvm.sh && \
nvm install ${NODE_VERSION} && \
nvm use ${NODE_VERSION} && \
nvm alias ${NODE_VERSION} && \
if [ ${NPM_REGISTRY} ]; then \
npm config set registry ${NPM_REGISTRY} \
;fi && \
npm install -g gulp bower vue-cli \
;fi
@ -292,6 +350,10 @@ RUN if [ ${INSTALL_NODE} = true ]; then \
# Add PATH for node
ENV PATH $PATH:$NVM_DIR/versions/node/v${NODE_VERSION}/bin
RUN if [ ${NPM_REGISTRY} ]; then \
. ~/.bashrc && npm config set registry ${NPM_REGISTRY} \
;fi
#####################################
# YARN:
#####################################
@ -328,13 +390,13 @@ RUN if [ ${INSTALL_YARN} = true ]; then \
#####################################
USER root
ARG INSTALL_AEROSPIKE=true
ARG INSTALL_AEROSPIKE=false
ENV INSTALL_AEROSPIKE ${INSTALL_AEROSPIKE}
# Copy aerospike configration for remote debugging
COPY ./aerospike.ini /etc/php/7.0/cli/conf.d/aerospike.ini
RUN if [ ${INSTALL_AEROSPIKE} = true ]; then \
# Fix dependencies for PHPUnit within aerospike extension
apt-get update -yqq && \
apt-get -y install sudo wget && \
# Install the php aerospike extension
curl -L -o /tmp/aerospike-client-php.tar.gz "https://github.com/aerospike/aerospike-client-php/archive/master.tar.gz" \
&& mkdir -p aerospike-client-php \
@ -346,10 +408,9 @@ RUN if [ ${INSTALL_AEROSPIKE} = true ]; then \
&& make install \
) \
&& rm /tmp/aerospike-client-php.tar.gz \
;fi
RUN if [ ${INSTALL_AEROSPIKE} = false ]; then \
rm /etc/php/7.0/cli/conf.d/aerospike.ini \
&& echo 'extension=aerospike.so' >> /etc/php/7.0/cli/conf.d/aerospike.ini \
&& echo 'aerospike.udf.lua_system_path=/usr/local/aerospike/lua' >> /etc/php/7.0/cli/conf.d/aerospike.ini \
&& echo 'aerospike.udf.lua_user_path=/usr/local/aerospike/usr-lua' >> /etc/php/7.0/cli/conf.d/aerospike.ini \
;fi
#####################################
@ -362,7 +423,7 @@ ENV INSTALL_V8JS ${INSTALL_V8JS}
RUN if [ ${INSTALL_V8JS} = true ]; then \
# Install the php V8JS extension
add-apt-repository -y ppa:pinepain/libv8-5.4 \
add-apt-repository -y ppa:pinepain/libv8-archived \
&& apt-get update -yqq \
&& apt-get install -y php7.0-xml php7.0-dev php-pear libv8-5.4 \
&& pecl install v8js \
@ -384,7 +445,7 @@ RUN echo "" >> ~/.bashrc && \
#####################################
USER laradock
ARG INSTALL_LARAVEL_ENVOY=true
ARG INSTALL_LARAVEL_ENVOY=false
ENV INSTALL_LARAVEL_ENVOY ${INSTALL_LARAVEL_ENVOY}
RUN if [ ${INSTALL_LARAVEL_ENVOY} = true ]; then \
@ -397,7 +458,14 @@ RUN if [ ${INSTALL_LARAVEL_ENVOY} = true ]; then \
#####################################
USER root
ARG INSTALL_LARAVEL_INSTALLER=true
ARG COMPOSER_REPO_PACKAGIST
ENV COMPOSER_REPO_PACKAGIST ${COMPOSER_REPO_PACKAGIST}
RUN if [ ${COMPOSER_REPO_PACKAGIST} ]; then \
composer config -g repo.packagist composer ${COMPOSER_REPO_PACKAGIST} \
;fi
ARG INSTALL_LARAVEL_INSTALLER=false
ENV INSTALL_LARAVEL_INSTALLER ${INSTALL_LARAVEL_INSTALLER}
RUN if [ ${INSTALL_LARAVEL_INSTALLER} = true ]; then \
@ -422,6 +490,19 @@ RUN if [ ${INSTALL_DEPLOYER} = true ]; then \
composer global require "deployer/deployer" \
;fi
#####################################
# Prestissimo:
#####################################
USER laradock
ARG INSTALL_PRESTISSIMO=false
ENV INSTALL_PRESTISSIMO ${INSTALL_PRESTISSIMO}
RUN if [ ${INSTALL_PRESTISSIMO} = true ]; then \
# Install Prestissimo
composer global require "hirak/prestissimo" \
;fi
#####################################
# Linuxbrew:
#####################################
@ -431,7 +512,6 @@ ARG INSTALL_LINUXBREW=true
ENV INSTALL_LINUXBREW ${INSTALL_LINUXBREW}
RUN if [ ${INSTALL_LINUXBREW} = true ]; then \
# Preparation
apt-get upgrade -y && \
apt-get install -y build-essential make cmake scons curl git \
@ -439,13 +519,10 @@ RUN if [ ${INSTALL_LINUXBREW} = true ]; then \
gettext libtool flex bison \
libbz2-dev libcurl4-openssl-dev \
libexpat-dev libncurses-dev && \
# Install the Linuxbrew
git clone --depth=1 https://github.com/Homebrew/linuxbrew.git ~/.linuxbrew && \
echo "" >> ~/.bashrc && \
echo 'export PKG_CONFIG_PATH"=/usr/local/lib/pkgconfig:/usr/local/lib64/pkgconfig:/usr/lib64/pkgconfig:/usr/lib/pkgconfig:/usr/lib/x86_64-linux-gnu/pkgconfig:/usr/lib64/pkgconfig:/usr/share/pkgconfig:$PKG_CONFIG_PATH"' >> ~/.bashrc && \
# Setup linuxbrew
echo 'export LINUXBREWHOME="$HOME/.linuxbrew"' >> ~/.bashrc && \
echo 'export PATH="$LINUXBREWHOME/bin:$PATH"' >> ~/.bashrc && \
@ -460,75 +537,35 @@ RUN if [ ${INSTALL_LINUXBREW} = true ]; then \
ARG INSTALL_MSSQL=true
ENV INSTALL_MSSQL ${INSTALL_MSSQL}
RUN if [ ${INSTALL_MSSQL} = true ]; then \
#####################################
# Install Depenencies:
#####################################
cd / && \
apt-get install -y --force-yes wget apt-transport-https curl freetds-common libsybdb5 freetds-bin unixodbc unixodbc-dev && \
RUN set -eux; if [ ${INSTALL_MSSQL} = true ]; then \
#####################################
# The following steps were taken from
# Microsoft's github account:
# https://github.com/Microsoft/msphpsql/wiki/Dockerfile-for-getting-pdo_sqlsrv-for-PHP-7.0-on-Debian-in-3-ways
# https://github.com/Microsoft/msphpsql/wiki/Install-and-configuration
#####################################
# Add PHP 7 repository
# for Debian jessie
# And System upgrade
cd / && \
echo "deb http://packages.dotdeb.org jessie all" \
| tee /etc/apt/sources.list.d/dotdeb.list \
&& wget -qO- https://www.dotdeb.org/dotdeb.gpg \
| apt-key add - \
&& apt-get update -yqq \
&& apt-get upgrade -qq && \
# Install UnixODBC
# Compile odbc_config as it is not part of unixodbc package
cd / && \
apt-get install -y whiptail \
unixodbc libgss3 odbcinst devscripts debhelper dh-exec dh-autoreconf libreadline-dev libltdl-dev \
&& dget -u -x http://http.debian.net/debian/pool/main/u/unixodbc/unixodbc_2.3.1-3.dsc \
&& cd unixodbc-*/ \
&& ./configure && make && make install \
&& cp -v ./exe/odbc_config /usr/local/bin/ && \
# Fake uname for install.sh
printf '#!/bin/bash\nif [ "$*" == "-p" ]; then echo "x86_64"; else /bin/uname "$@"; fi' \
| tee /usr/local/bin/uname \
&& chmod +x /usr/local/bin/uname && \
# Microsoft ODBC Driver 13 for Linux
# Note: There's a copy of this tar on my hubiC
cd / && \
wget -nv -O msodbcsql-13.0.0.0.tar.gz \
"https://meetsstorenew.blob.core.windows.net/contianerhd/Ubuntu%2013.0%20Tar/msodbcsql-13.0.0.0.tar.gz?st=2016-10-18T17%3A29%3A00Z&se=2022-10-19T17%3A29%3A00Z&sp=rl&sv=2015-04-05&sr=b&sig=cDwPfrouVeIQf0vi%2BnKt%2BzX8Z8caIYvRCmicDL5oknY%3D" \
&& tar -xf msodbcsql-13.0.0.0.tar.gz \
&& cd msodbcsql-*/ \
&& ldd lib64/libmsodbcsql-13.0.so.0.0 \
&& ./install.sh install --accept-license \
&& ls -l /opt/microsoft/msodbcsql/ \
&& odbcinst -q -d -n "ODBC Driver 13 for SQL Server" && \
#####################################
# Install sqlsrv y pdo_sqlsrv
# extensions:
#####################################
pecl install sqlsrv-4.0.8 && \
pecl install pdo_sqlsrv-4.0.8 && \
#####################################
# Set locales for the container
#####################################
apt-get install -y locales \
&& echo "en_US.UTF-8 UTF-8" > /etc/locale.gen \
&& locale-gen \
&& echo "extension=sqlsrv.so" > /etc/php/7.0/cli/conf.d/20-sqlsrv.ini \
&& echo "extension=pdo_sqlsrv.so" > /etc/php/7.0/cli/conf.d/20-pdo_sqlsrv.ini \
curl https://packages.microsoft.com/keys/microsoft.asc | apt-key add - && \
curl https://packages.microsoft.com/config/ubuntu/16.04/prod.list > /etc/apt/sources.list.d/mssql-release.list && \
apt-get update && \
ACCEPT_EULA=Y apt-get install -yqq msodbcsql=13.0.1.0-1 mssql-tools=14.0.2.0-1 && \
apt-get install -yqq unixodbc-dev-utf16 && \
ln -sfn /opt/mssql-tools/bin/sqlcmd-13.0.1.0 /usr/bin/sqlcmd && \
ln -sfn /opt/mssql-tools/bin/bcp-13.0.1.0 /usr/bin/bcp && \
ACCEPT_EULA=Y apt-get install -yqq \
unixodbc \
unixodbc-dev \
libgss3 \
odbcinst \
msodbcsql \
locales && \
echo "en_US.UTF-8 UTF-8" > /etc/locale.gen && \
locale-gen && \
pecl install sqlsrv-4.3.0 pdo_sqlsrv-4.3.0 && \
apt-get install -y locales && \
echo "en_US.UTF-8 UTF-8" > /etc/locale.gen && \
locale-gen && \
echo "extension=sqlsrv.so" > /etc/php/7.0/cli/conf.d/20-sqlsrv.ini && \
echo "extension=pdo_sqlsrv.so" > /etc/php/7.0/cli/conf.d/20-pdo_sqlsrv.ini \
&& php -m | grep -q 'sqlsrv' \
&& php -m | grep -q 'pdo_sqlsrv' \
;fi
#####################################
@ -565,19 +602,15 @@ USER root
ARG INSTALL_SYMFONY=false
ENV INSTALL_SYMFONY ${INSTALL_SYMFONY}
RUN if [ ${INSTALL_SYMFONY} = true ]; then \
mkdir -p /usr/local/bin \
&& curl -LsS https://symfony.com/installer -o /usr/local/bin/symfony \
&& chmod a+x /usr/local/bin/symfony \
# Symfony 3 alias
&& echo 'alias dev="php bin/console -e=dev"' >> ~/.bashrc \
&& echo 'alias prod="php bin/console -e=prod"' >> ~/.bashrc \
# Symfony 2 alias
# && echo 'alias dev="php app/console -e=dev"' >> ~/.bashrc \
# && echo 'alias prod="php app/console -e=prod"' >> ~/.bashrc \
;fi
#####################################
@ -600,7 +633,8 @@ USER root
ARG INSTALL_IMAGEMAGICK=false
ENV INSTALL_IMAGEMAGICK ${INSTALL_IMAGEMAGICK}
RUN if [ ${INSTALL_IMAGEMAGICK} = true ]; then \
apt-get install -y --force-yes imagemagick php-imagick \
apt-get update -yqq \
&& apt-get install -y --force-yes imagemagick php-imagick \
;fi
#####################################
@ -634,31 +668,34 @@ RUN if [ ${INSTALL_PG_CLIENT} = true ]; then \
# Dusk Dependencies:
#####################################
USER root
ARG CHROME_DRIVER_VERSION=stable
ENV CHROME_DRIVER_VERSION ${CHROME_DRIVER_VERSION}
ARG INSTALL_DUSK_DEPS=false
ENV INSTALL_DUSK_DEPS ${INSTALL_DUSK_DEPS}
RUN if [ ${INSTALL_DUSK_DEPS} = true ]; then \
# Install required packages
add-apt-repository ppa:ondrej/php \
&& apt-get update \
&& apt-get -y install zip wget unzip xdg-utils \
libxpm4 libxrender1 libgtk2.0-0 libnss3 libgconf-2-4 xvfb \
gtk2-engines-pixbuf xfonts-cyrillic xfonts-100dpi xfonts-75dpi \
xfonts-base xfonts-scalable x11-apps \
# Install Google Chrome
&& wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb \
&& dpkg -i --force-depends google-chrome-stable_current_amd64.deb \
&& apt-get -y -f install \
&& dpkg -i --force-depends google-chrome-stable_current_amd64.deb \
&& rm google-chrome-stable_current_amd64.deb \
# Install Chrome Driver
&& wget https://chromedriver.storage.googleapis.com/2.31/chromedriver_linux64.zip \
&& wget https://chromedriver.storage.googleapis.com/${CHROME_DRIVER_VERSION}/chromedriver_linux64.zip \
&& unzip chromedriver_linux64.zip \
&& mv chromedriver /usr/local/bin/ \
&& rm chromedriver_linux64.zip \
;fi
#####################################
# Check PHP version:
#####################################
RUN php -v | head -n 1 | grep -q "PHP 7.0."
#
#--------------------------------------------------------------------------
# Final Touch

View File

@ -12,9 +12,12 @@
# Note: Base Image name format {image-tag}-{php-version}
#
FROM laradock/workspace:1.8-71
FROM laradock/workspace:2.0-71
MAINTAINER Mahmoud Zalt <mahmoud@zalt.me>
LABEL maintainer="Mahmoud Zalt <mahmoud@zalt.me>"
# Remove Faillog and Lastlog to reduce the size of the final image.
RUN rm /var/log/lastlog /var/log/faillog
#
#--------------------------------------------------------------------------
@ -52,7 +55,7 @@ ENV PGID ${PGID}
RUN groupadd -g ${PGID} laradock && \
useradd -u ${PUID} -g laradock -m laradock && \
apt-get update -yqq
usermod -p "*" laradock
#####################################
# SOAP:
@ -82,6 +85,18 @@ RUN if [ ${INSTALL_LDAP} = true ]; then \
apt-get install -y php7.1-ldap \
;fi
#####################################
# IMAP:
#####################################
ARG INSTALL_IMAP=false
ENV INSTALL_IMAP ${INSTALL_IMAP}
RUN if [ ${INSTALL_IMAP} = true ]; then \
apt-get update -yqq && \
apt-get install -y php7.1-imap \
;fi
#####################################
# Set Timezone
#####################################
@ -109,6 +124,13 @@ RUN if [ ${COMPOSER_GLOBAL_INSTALL} = true ]; then \
composer global install \
;fi
ARG COMPOSER_REPO_PACKAGIST
ENV COMPOSER_REPO_PACKAGIST ${COMPOSER_REPO_PACKAGIST}
RUN if [ ${COMPOSER_REPO_PACKAGIST} ]; then \
composer config -g repo.packagist composer ${COMPOSER_REPO_PACKAGIST} \
;fi
#####################################
# Crontab
#####################################
@ -120,27 +142,30 @@ RUN chmod -R 644 /etc/cron.d
#####################################
# User Aliases
#####################################
USER root
COPY ./aliases.sh /root/aliases.sh
COPY ./aliases.sh /home/laradock/aliases.sh
RUN sed -i 's/\r//' /root/aliases.sh && \
sed -i 's/\r//' /home/laradock/aliases.sh && \
chown laradock:laradock /home/laradock/aliases.sh && \
echo "" >> ~/.bashrc && \
echo "# Load Custom Aliases" >> ~/.bashrc && \
echo "source ~/aliases.sh" >> ~/.bashrc && \
echo "" >> ~/.bashrc
USER laradock
COPY ./aliases.sh /home/laradock/aliases.sh
RUN echo "" >> ~/.bashrc && \
echo "# Load Custom Aliases" >> ~/.bashrc && \
echo "source /home/laradock/aliases.sh" >> ~/.bashrc && \
echo "" >> ~/.bashrc && \
sed -i 's/\r//' /home/laradock/aliases.sh && \
sed -i 's/^#! \/bin\/sh/#! \/bin\/bash/' /home/laradock/aliases.sh
USER root
RUN echo "" >> ~/.bashrc && \
echo "# Load Custom Aliases" >> ~/.bashrc && \
echo "source /home/laradock/aliases.sh" >> ~/.bashrc && \
echo "" >> ~/.bashrc && \
sed -i 's/\r//' /home/laradock/aliases.sh && \
sed -i 's/^#! \/bin\/sh/#! \/bin\/bash/' /home/laradock/aliases.sh
echo "source ~/aliases.sh" >> ~/.bashrc && \
echo "" >> ~/.bashrc
#####################################
# xDebug:
#####################################
USER root
ARG INSTALL_XDEBUG=false
RUN if [ ${INSTALL_XDEBUG} = true ]; then \
@ -188,6 +213,8 @@ RUN if [ ${INSTALL_WORKSPACE_SSH} = true ]; then \
&& rm -f /tmp/id_rsa* \
&& chmod 644 /root/.ssh/authorized_keys /root/.ssh/id_rsa.pub \
&& chmod 400 /root/.ssh/id_rsa \
&& cp -rf /root/.ssh /home/laradock \
&& chown -R laradock:laradock /home/laradock/.ssh \
;fi
#####################################
@ -204,6 +231,19 @@ RUN if [ ${INSTALL_MONGO} = true ]; then \
ln -s /etc/php/7.1/mods-available/mongodb.ini /etc/php/7.1/cli/conf.d/30-mongodb.ini \
;fi
#####################################
# AMQP:
#####################################
ARG INSTALL_AMQP=false
ENV INSTALL_AMQP ${INSTALL_AMQP}
RUN if [ ${INSTALL_AMQP} = true ]; then \
apt-get install librabbitmq-dev -y && \
pecl -q install amqp && \
echo "extension=amqp.so" >> /etc/php/7.1/mods-available/amqp.ini && \
ln -s /etc/php/7.1/mods-available/amqp.ini /etc/php/7.1/cli/conf.d/30-amqp.ini \
;fi
#####################################
# PHP REDIS EXTENSION FOR PHP 7.1
#####################################
@ -217,6 +257,18 @@ RUN if [ ${INSTALL_PHPREDIS} = true ]; then \
phpenmod redis \
;fi
#####################################
# Swoole EXTENSION FOR PHP 7
#####################################
ARG INSTALL_SWOOLE=false
RUN if [ ${INSTALL_SWOOLE} = true ]; then \
# Install Php Swoole Extension
pecl -q install swoole && \
echo "extension=swoole.so" >> /etc/php/7.1/mods-available/swoole.ini && \
ln -s /etc/php/7.1/mods-available/swoole.ini /etc/php/7.1/cli/conf.d/20-swoole.ini \
;fi
#####################################
# Drush:
#####################################
@ -258,14 +310,19 @@ ARG NODE_VERSION=stable
ENV NODE_VERSION ${NODE_VERSION}
ARG INSTALL_NODE=false
ENV INSTALL_NODE ${INSTALL_NODE}
ARG NPM_REGISTRY
ENV NPM_REGISTRY ${NPM_REGISTRY}
ENV NVM_DIR /home/laradock/.nvm
RUN if [ ${INSTALL_NODE} = true ]; then \
# Install nvm (A Node Version Manager)
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.1/install.sh | bash && \
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.8/install.sh | bash && \
. $NVM_DIR/nvm.sh && \
nvm install ${NODE_VERSION} && \
nvm use ${NODE_VERSION} && \
nvm alias ${NODE_VERSION} && \
if [ ${NPM_REGISTRY} ]; then \
npm config set registry ${NPM_REGISTRY} \
;fi && \
npm install -g gulp bower vue-cli \
;fi
@ -289,6 +346,9 @@ RUN if [ ${INSTALL_NODE} = true ]; then \
# Add PATH for node
ENV PATH $PATH:$NVM_DIR/versions/node/v${NODE_VERSION}/bin
RUN if [ ${NPM_REGISTRY} ]; then \
. ~/.bashrc && npm config set registry ${NPM_REGISTRY} \
;fi
#####################################
# YARN:
@ -329,14 +389,10 @@ USER root
ARG INSTALL_AEROSPIKE=false
ENV INSTALL_AEROSPIKE ${INSTALL_AEROSPIKE}
# Copy aerospike configration for remote debugging
COPY ./aerospike.ini /etc/php/7.1/cli/conf.d/aerospike.ini
RUN if [ ${INSTALL_AEROSPIKE} = true ]; then \
# Fix dependencies for PHPUnit within aerospike extension
apt-get update -yqq && \
apt-get -y install sudo wget && \
# Install the php aerospike extension
curl -L -o /tmp/aerospike-client-php.tar.gz "https://github.com/aerospike/aerospike-client-php/archive/master.tar.gz" \
&& mkdir -p aerospike-client-php \
@ -348,10 +404,9 @@ RUN if [ ${INSTALL_AEROSPIKE} = true ]; then \
&& make install \
) \
&& rm /tmp/aerospike-client-php.tar.gz \
;fi
RUN if [ ${INSTALL_AEROSPIKE} = false ]; then \
rm /etc/php/7.1/cli/conf.d/aerospike.ini \
&& echo 'extension=aerospike.so' >> /etc/php/7.1/cli/conf.d/aerospike.ini \
&& echo 'aerospike.udf.lua_system_path=/usr/local/aerospike/lua' >> /etc/php/7.1/cli/conf.d/aerospike.ini \
&& echo 'aerospike.udf.lua_user_path=/usr/local/aerospike/usr-lua' >> /etc/php/7.1/cli/conf.d/aerospike.ini \
;fi
#####################################
@ -364,9 +419,9 @@ ENV INSTALL_V8JS ${INSTALL_V8JS}
RUN if [ ${INSTALL_V8JS} = true ]; then \
# Install the php V8JS extension
add-apt-repository -y ppa:pinepain/libv8-5.4 \
add-apt-repository -y ppa:pinepain/libv8-archived \
&& apt-get update -yqq \
&& apt-get install -y php-xml php-dev php-pear libv8-5.4 \
&& apt-get install -y php7.1-xml php7.1-dev php-pear libv8-5.4 \
&& pecl install v8js \
&& echo "extension=v8js.so" >> /etc/php/7.1/cli/php.ini \
;fi
@ -399,6 +454,13 @@ RUN if [ ${INSTALL_LARAVEL_ENVOY} = true ]; then \
#####################################
USER root
ARG COMPOSER_REPO_PACKAGIST
ENV COMPOSER_REPO_PACKAGIST ${COMPOSER_REPO_PACKAGIST}
RUN if [ ${COMPOSER_REPO_PACKAGIST} ]; then \
composer config -g repo.packagist composer ${COMPOSER_REPO_PACKAGIST} \
;fi
ARG INSTALL_LARAVEL_INSTALLER=false
ENV INSTALL_LARAVEL_INSTALLER ${INSTALL_LARAVEL_INSTALLER}
@ -414,14 +476,31 @@ USER laradock
#####################################
# Deployer:
#####################################
USER laradock
USER root
ARG INSTALL_DEPLOYER=false
ENV INSTALL_DEPLOYER ${INSTALL_DEPLOYER}
RUN if [ ${INSTALL_DEPLOYER} = true ]; then \
# Install the Deployer
composer global require "deployer/deployer" \
# Using Phar as currently there is no support for laravel 4 from composer version
# Waiting to be resolved on https://github.com/deployphp/deployer/issues/1552
curl -LO https://deployer.org/deployer.phar && \
mv deployer.phar /usr/local/bin/dep && \
chmod +x /usr/local/bin/dep \
;fi
#####################################
# Prestissimo:
#####################################
USER laradock
ARG INSTALL_PRESTISSIMO=false
ENV INSTALL_PRESTISSIMO ${INSTALL_PRESTISSIMO}
RUN if [ ${INSTALL_PRESTISSIMO} = true ]; then \
# Install Prestissimo
composer global require "hirak/prestissimo" \
;fi
#####################################
@ -433,7 +512,6 @@ ARG INSTALL_LINUXBREW=false
ENV INSTALL_LINUXBREW ${INSTALL_LINUXBREW}
RUN if [ ${INSTALL_LINUXBREW} = true ]; then \
# Preparation
apt-get upgrade -y && \
apt-get install -y build-essential make cmake scons curl git \
@ -441,13 +519,10 @@ RUN if [ ${INSTALL_LINUXBREW} = true ]; then \
gettext libtool flex bison \
libbz2-dev libcurl4-openssl-dev \
libexpat-dev libncurses-dev && \
# Install the Linuxbrew
git clone --depth=1 https://github.com/Homebrew/linuxbrew.git ~/.linuxbrew && \
echo "" >> ~/.bashrc && \
echo 'export PKG_CONFIG_PATH"=/usr/local/lib/pkgconfig:/usr/local/lib64/pkgconfig:/usr/lib64/pkgconfig:/usr/lib/pkgconfig:/usr/lib/x86_64-linux-gnu/pkgconfig:/usr/lib64/pkgconfig:/usr/share/pkgconfig:$PKG_CONFIG_PATH"' >> ~/.bashrc && \
# Setup linuxbrew
echo 'export LINUXBREWHOME="$HOME/.linuxbrew"' >> ~/.bashrc && \
echo 'export PATH="$LINUXBREWHOME/bin:$PATH"' >> ~/.bashrc && \
@ -462,77 +537,35 @@ RUN if [ ${INSTALL_LINUXBREW} = true ]; then \
ARG INSTALL_MSSQL=false
ENV INSTALL_MSSQL ${INSTALL_MSSQL}
RUN if [ ${INSTALL_MSSQL} = true ]; then \
#####################################
# Install Depenencies:
#####################################
cd / && \
apt-get update -yqq && \
apt-get install -y --force-yes wget apt-transport-https curl freetds-common libsybdb5 freetds-bin unixodbc unixodbc-dev && \
RUN set -eux; if [ ${INSTALL_MSSQL} = true ]; then \
#####################################
# The following steps were taken from
# Microsoft's github account:
# https://github.com/Microsoft/msphpsql/wiki/Dockerfile-for-getting-pdo_sqlsrv-for-PHP-7.0-on-Debian-in-3-ways
# https://github.com/Microsoft/msphpsql/wiki/Install-and-configuration
#####################################
# Add PHP 7 repository
# for Debian jessie
# And System upgrade
cd / && \
echo "deb http://packages.dotdeb.org jessie all" \
| tee /etc/apt/sources.list.d/dotdeb.list \
&& wget -qO- https://www.dotdeb.org/dotdeb.gpg \
| apt-key add - \
&& apt-get update -yqq \
&& apt-get upgrade -qq && \
# Install UnixODBC
# Compile odbc_config as it is not part of unixodbc package
cd / && \
apt-get update -yqq && \
apt-get install -y whiptail \
unixodbc libgss3 odbcinst devscripts debhelper dh-exec dh-autoreconf libreadline-dev libltdl-dev \
&& dget -u -x http://http.debian.net/debian/pool/main/u/unixodbc/unixodbc_2.3.1-3.dsc \
&& cd unixodbc-*/ \
&& ./configure && make && make install \
&& cp -v ./exe/odbc_config /usr/local/bin/ && \
# Fake uname for install.sh
printf '#!/bin/bash\nif [ "$*" == "-p" ]; then echo "x86_64"; else /bin/uname "$@"; fi' \
| tee /usr/local/bin/uname \
&& chmod +x /usr/local/bin/uname && \
# Microsoft ODBC Driver 13 for Linux
# Note: There's a copy of this tar on my hubiC
cd / && \
wget -nv -O msodbcsql-13.0.0.0.tar.gz \
"https://meetsstorenew.blob.core.windows.net/contianerhd/Ubuntu%2013.0%20Tar/msodbcsql-13.0.0.0.tar.gz?st=2016-10-18T17%3A29%3A00Z&se=2022-10-19T17%3A29%3A00Z&sp=rl&sv=2015-04-05&sr=b&sig=cDwPfrouVeIQf0vi%2BnKt%2BzX8Z8caIYvRCmicDL5oknY%3D" \
&& tar -xf msodbcsql-13.0.0.0.tar.gz \
&& cd msodbcsql-*/ \
&& ldd lib64/libmsodbcsql-13.0.so.0.0 \
&& ./install.sh install --accept-license \
&& ls -l /opt/microsoft/msodbcsql/ \
&& odbcinst -q -d -n "ODBC Driver 13 for SQL Server" && \
#####################################
# Install sqlsrv y pdo_sqlsrv
# extensions:
#####################################
pecl install sqlsrv-4.0.8 && \
pecl install pdo_sqlsrv-4.0.8 && \
#####################################
# Set locales for the container
#####################################
apt-get install -y locales \
&& echo "en_US.UTF-8 UTF-8" > /etc/locale.gen \
&& locale-gen \
&& echo "extension=sqlsrv.so" > /etc/php/7.1/cli/conf.d/20-sqlsrv.ini \
&& echo "extension=pdo_sqlsrv.so" > /etc/php/7.1/cli/conf.d/20-pdo_sqlsrv.ini \
curl https://packages.microsoft.com/keys/microsoft.asc | apt-key add - && \
curl https://packages.microsoft.com/config/ubuntu/16.04/prod.list > /etc/apt/sources.list.d/mssql-release.list && \
apt-get update && \
ACCEPT_EULA=Y apt-get install -yqq msodbcsql=13.0.1.0-1 mssql-tools=14.0.2.0-1 && \
apt-get install -yqq unixodbc-dev-utf16 && \
ln -sfn /opt/mssql-tools/bin/sqlcmd-13.0.1.0 /usr/bin/sqlcmd && \
ln -sfn /opt/mssql-tools/bin/bcp-13.0.1.0 /usr/bin/bcp && \
ACCEPT_EULA=Y apt-get install -yqq \
unixodbc \
unixodbc-dev \
libgss3 \
odbcinst \
msodbcsql \
locales && \
echo "en_US.UTF-8 UTF-8" > /etc/locale.gen && \
locale-gen && \
pecl install sqlsrv-4.3.0 pdo_sqlsrv-4.3.0 && \
apt-get install -y locales && \
echo "en_US.UTF-8 UTF-8" > /etc/locale.gen && \
locale-gen && \
echo "extension=sqlsrv.so" > /etc/php/7.1/cli/conf.d/20-sqlsrv.ini && \
echo "extension=pdo_sqlsrv.so" > /etc/php/7.1/cli/conf.d/20-pdo_sqlsrv.ini \
&& php -m | grep -q 'sqlsrv' \
&& php -m | grep -q 'pdo_sqlsrv' \
;fi
#####################################
@ -571,19 +604,15 @@ USER root
ARG INSTALL_SYMFONY=false
ENV INSTALL_SYMFONY ${INSTALL_SYMFONY}
RUN if [ ${INSTALL_SYMFONY} = true ]; then \
mkdir -p /usr/local/bin \
&& curl -LsS https://symfony.com/installer -o /usr/local/bin/symfony \
&& chmod a+x /usr/local/bin/symfony \
# Symfony 3 alias
&& echo 'alias dev="php bin/console -e=dev"' >> ~/.bashrc \
&& echo 'alias prod="php bin/console -e=prod"' >> ~/.bashrc \
# Symfony 2 alias
# && echo 'alias dev="php app/console -e=dev"' >> ~/.bashrc \
# && echo 'alias prod="php app/console -e=prod"' >> ~/.bashrc \
;fi
#####################################
@ -606,7 +635,8 @@ USER root
ARG INSTALL_IMAGEMAGICK=false
ENV INSTALL_IMAGEMAGICK ${INSTALL_IMAGEMAGICK}
RUN if [ ${INSTALL_IMAGEMAGICK} = true ]; then \
apt-get install -y --force-yes imagemagick php-imagick \
apt-get update -yqq \
&& apt-get install -y --force-yes imagemagick php-imagick \
;fi
#####################################
@ -661,6 +691,12 @@ RUN if [ ${INSTALL_DUSK_DEPS} = true ]; then \
&& rm chromedriver_linux64.zip \
;fi
#####################################
# Check PHP version:
#####################################
RUN php -v | head -n 1 | grep -q "PHP 7.1."
#
#--------------------------------------------------------------------------
# Final Touch

713
workspace/Dockerfile-72 Normal file
View File

@ -0,0 +1,713 @@
#
#--------------------------------------------------------------------------
# Image Setup
#--------------------------------------------------------------------------
#
# To edit the 'workspace' base Image, visit its repository on Github
# https://github.com/Laradock/workspace
#
# To change its version, see the available Tags on the Docker Hub:
# https://hub.docker.com/r/laradock/workspace/tags/
#
# Note: Base Image name format {image-tag}-{php-version}
#
FROM laradock/workspace:2.0-72
LABEL maintainer="Mahmoud Zalt <mahmoud@zalt.me>"
# Remove Faillog and Lastlog to reduce the size of the final image.
RUN rm /var/log/lastlog /var/log/faillog
#
#--------------------------------------------------------------------------
# Mandatory Software's Installation
#--------------------------------------------------------------------------
#
# Mandatory Software's such as ("php7.2-cli", "git", "vim", ....) are
# installed on the base image 'laradock/workspace' image. If you want
# to add more Software's or remove existing one, you need to edit the
# base image (https://github.com/Laradock/workspace).
#
#
#--------------------------------------------------------------------------
# Optional Software's Installation
#--------------------------------------------------------------------------
#
# Optional Software's will only be installed if you set them to `true`
# in the `docker-compose.yml` before the build.
# Example:
# - INSTALL_NODE=false
# - ...
#
#####################################
# Non-Root User:
#####################################
# Add a non-root user to prevent files being created with root permissions on host machine.
ARG PUID=1000
ARG PGID=1000
ENV PUID ${PUID}
ENV PGID ${PGID}
RUN groupadd -g ${PGID} laradock && \
useradd -u ${PUID} -g laradock -m laradock && \
usermod -p "*" laradock
#####################################
# SOAP:
#####################################
USER root
ARG INSTALL_SOAP=false
ENV INSTALL_SOAP ${INSTALL_SOAP}
RUN if [ ${INSTALL_SOAP} = true ]; then \
# Install the PHP SOAP extension
add-apt-repository -y ppa:ondrej/php && \
apt-get update -yqq && \
apt-get -y install libxml2-dev php7.2-soap \
;fi
#####################################
# LDAP:
#####################################
ARG INSTALL_LDAP=false
ENV INSTALL_LDAP ${INSTALL_LDAP}
RUN if [ ${INSTALL_LDAP} = true ]; then \
apt-get update -yqq && \
apt-get install -y libldap2-dev && \
apt-get install -y php7.2-ldap \
;fi
#####################################
# IMAP:
#####################################
ARG INSTALL_IMAP=false
ENV INSTALL_IMAP ${INSTALL_IMAP}
RUN if [ ${INSTALL_IMAP} = true ]; then \
apt-get update -yqq && \
apt-get install -y php7.2-imap \
;fi
#####################################
# Set Timezone
#####################################
ARG TZ=UTC
ENV TZ ${TZ}
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
#####################################
# Composer:
#####################################
# Add the composer.json
COPY ./composer.json /home/laradock/.composer/composer.json
# Make sure that ~/.composer belongs to laradock
RUN chown -R laradock:laradock /home/laradock/.composer
USER laradock
# Check if global install need to be ran
ARG COMPOSER_GLOBAL_INSTALL=false
ENV COMPOSER_GLOBAL_INSTALL ${COMPOSER_GLOBAL_INSTALL}
RUN if [ ${COMPOSER_GLOBAL_INSTALL} = true ]; then \
# run the install
composer global install \
;fi
ARG COMPOSER_REPO_PACKAGIST
ENV COMPOSER_REPO_PACKAGIST ${COMPOSER_REPO_PACKAGIST}
RUN if [ ${COMPOSER_REPO_PACKAGIST} ]; then \
composer config -g repo.packagist composer ${COMPOSER_REPO_PACKAGIST} \
;fi
#####################################
# Crontab
#####################################
USER root
COPY ./crontab /etc/cron.d
RUN chmod -R 644 /etc/cron.d
#####################################
# User Aliases
#####################################
USER root
COPY ./aliases.sh /root/aliases.sh
COPY ./aliases.sh /home/laradock/aliases.sh
RUN sed -i 's/\r//' /root/aliases.sh && \
sed -i 's/\r//' /home/laradock/aliases.sh && \
chown laradock:laradock /home/laradock/aliases.sh && \
echo "" >> ~/.bashrc && \
echo "# Load Custom Aliases" >> ~/.bashrc && \
echo "source ~/aliases.sh" >> ~/.bashrc && \
echo "" >> ~/.bashrc
USER laradock
RUN echo "" >> ~/.bashrc && \
echo "# Load Custom Aliases" >> ~/.bashrc && \
echo "source ~/aliases.sh" >> ~/.bashrc && \
echo "" >> ~/.bashrc
#####################################
# xDebug:
#####################################
USER root
ARG INSTALL_XDEBUG=false
RUN if [ ${INSTALL_XDEBUG} = true ]; then \
# Load the xdebug extension only with phpunit commands
apt-get update && \
apt-get install -y --force-yes php7.2-xdebug && \
sed -i 's/^;//g' /etc/php/7.2/cli/conf.d/20-xdebug.ini && \
echo "alias phpunit='php -dzend_extension=xdebug.so /var/www/vendor/bin/phpunit'" >> ~/.bashrc \
;fi
# ADD for REMOTE debugging
COPY ./xdebug.ini /etc/php/7.2/cli/conf.d/xdebug.ini
#####################################
# Blackfire:
#####################################
ARG INSTALL_BLACKFIRE=false
ARG BLACKFIRE_CLIENT_ID
ARG BLACKFIRE_CLIENT_TOKEN
ENV BLACKFIRE_CLIENT_ID ${BLACKFIRE_CLIENT_ID}
ENV BLACKFIRE_CLIENT_TOKEN ${BLACKFIRE_CLIENT_TOKEN}
RUN if [ ${INSTALL_XDEBUG} = false -a ${INSTALL_BLACKFIRE} = true ]; then \
curl -L https://packagecloud.io/gpg.key | apt-key add - && \
echo "deb http://packages.blackfire.io/debian any main" | tee /etc/apt/sources.list.d/blackfire.list && \
apt-get update -yqq && \
apt-get install blackfire-agent \
;fi
#####################################
# ssh:
#####################################
ARG INSTALL_WORKSPACE_SSH=false
ENV INSTALL_WORKSPACE_SSH ${INSTALL_WORKSPACE_SSH}
ADD insecure_id_rsa /tmp/id_rsa
ADD insecure_id_rsa.pub /tmp/id_rsa.pub
RUN if [ ${INSTALL_WORKSPACE_SSH} = true ]; then \
rm -f /etc/service/sshd/down && \
cat /tmp/id_rsa.pub >> /root/.ssh/authorized_keys \
&& cat /tmp/id_rsa.pub >> /root/.ssh/id_rsa.pub \
&& cat /tmp/id_rsa >> /root/.ssh/id_rsa \
&& rm -f /tmp/id_rsa* \
&& chmod 644 /root/.ssh/authorized_keys /root/.ssh/id_rsa.pub \
&& chmod 400 /root/.ssh/id_rsa \
&& cp -rf /root/.ssh /home/laradock \
&& chown -R laradock:laradock /home/laradock/.ssh \
;fi
#####################################
# MongoDB:
#####################################
# Check if Mongo needs to be installed
ARG INSTALL_MONGO=false
ENV INSTALL_MONGO ${INSTALL_MONGO}
RUN if [ ${INSTALL_MONGO} = true ]; then \
# Install the mongodb extension
pecl -q install mongodb && \
echo "extension=mongodb.so" >> /etc/php/7.2/mods-available/mongodb.ini && \
ln -s /etc/php/7.2/mods-available/mongodb.ini /etc/php/7.2/cli/conf.d/30-mongodb.ini \
;fi
#####################################
# AMQP:
#####################################
ARG INSTALL_AMQP=false
ENV INSTALL_AMQP ${INSTALL_AMQP}
RUN if [ ${INSTALL_AMQP} = true ]; then \
apt-get install librabbitmq-dev -y && \
pecl -q install amqp && \
echo "extension=amqp.so" >> /etc/php/7.2/mods-available/amqp.ini && \
ln -s /etc/php/7.2/mods-available/amqp.ini /etc/php/7.2/cli/conf.d/30-amqp.ini \
;fi
#####################################
# PHP REDIS EXTENSION FOR PHP 7.2
#####################################
ARG INSTALL_PHPREDIS=false
ENV INSTALL_PHPREDIS ${INSTALL_PHPREDIS}
RUN if [ ${INSTALL_PHPREDIS} = true ]; then \
# Install Php Redis extension
printf "\n" | pecl -q install -o -f redis && \
echo "extension=redis.so" >> /etc/php/7.2/mods-available/redis.ini && \
phpenmod redis \
;fi
#####################################
# Swoole EXTENSION FOR PHP 7
#####################################
ARG INSTALL_SWOOLE=false
RUN if [ ${INSTALL_SWOOLE} = true ]; then \
# Install Php Swoole Extension
pecl -q install swoole && \
echo "extension=swoole.so" >> /etc/php/7.2/mods-available/swoole.ini && \
ln -s /etc/php/7.2/mods-available/swoole.ini /etc/php/7.2/cli/conf.d/20-swoole.ini \
;fi
#####################################
# Drush:
#####################################
USER root
ENV DRUSH_VERSION 8.1.2
ARG INSTALL_DRUSH=false
ENV INSTALL_DRUSH ${INSTALL_DRUSH}
RUN if [ ${INSTALL_DRUSH} = true ]; then \
apt-get update -yqq && \
apt-get -y install mysql-client && \
# Install Drush 8 with the phar file.
curl -fsSL -o /usr/local/bin/drush https://github.com/drush-ops/drush/releases/download/$DRUSH_VERSION/drush.phar | bash && \
chmod +x /usr/local/bin/drush && \
drush core-status \
;fi
#####################################
# Drupal Console:
#####################################
USER root
ARG INSTALL_DRUPAL_CONSOLE=false
ENV INSTALL_DRUPAL_CONSOLE ${INSTALL_DRUPAL_CONSOLE}
RUN if [ ${INSTALL_DRUPAL_CONSOLE} = true ]; then \
apt-get update -yqq && \
apt-get -y install mysql-client && \
curl https://drupalconsole.com/installer -L -o drupal.phar && \
mv drupal.phar /usr/local/bin/drupal && \
chmod +x /usr/local/bin/drupal \
;fi
USER laradock
#####################################
# Node / NVM:
#####################################
# Check if NVM needs to be installed
ARG NODE_VERSION=stable
ENV NODE_VERSION ${NODE_VERSION}
ARG INSTALL_NODE=false
ENV INSTALL_NODE ${INSTALL_NODE}
ENV NVM_DIR /home/laradock/.nvm
ARG NPM_REGISTRY
ENV NPM_REGISTRY ${NPM_REGISTRY}
RUN if [ ${INSTALL_NODE} = true ]; then \
# Install nvm (A Node Version Manager)
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.1/install.sh | bash && \
. $NVM_DIR/nvm.sh && \
nvm install ${NODE_VERSION} && \
nvm use ${NODE_VERSION} && \
nvm alias ${NODE_VERSION} && \
if [ ${NPM_REGISTRY} ]; then \
npm config set registry ${NPM_REGISTRY} \
;fi && \
npm install -g gulp bower vue-cli \
;fi
# Wouldn't execute when added to the RUN statement in the above block
# Source NVM when loading bash since ~/.profile isn't loaded on non-login shell
RUN if [ ${INSTALL_NODE} = true ]; then \
echo "" >> ~/.bashrc && \
echo 'export NVM_DIR="$HOME/.nvm"' >> ~/.bashrc && \
echo '[ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh" # This loads nvm' >> ~/.bashrc \
;fi
# Add NVM binaries to root's .bashrc
USER root
RUN if [ ${INSTALL_NODE} = true ]; then \
echo "" >> ~/.bashrc && \
echo 'export NVM_DIR="/home/laradock/.nvm"' >> ~/.bashrc && \
echo '[ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh" # This loads nvm' >> ~/.bashrc \
;fi
# Add PATH for node
ENV PATH $PATH:$NVM_DIR/versions/node/v${NODE_VERSION}/bin
RUN if [ ${NPM_REGISTRY} ]; then \
. ~/.bashrc && npm config set registry ${NPM_REGISTRY} \
;fi
#####################################
# YARN:
#####################################
USER laradock
ARG INSTALL_YARN=false
ENV INSTALL_YARN ${INSTALL_YARN}
ARG YARN_VERSION=latest
ENV YARN_VERSION ${YARN_VERSION}
RUN if [ ${INSTALL_YARN} = true ]; then \
[ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh" && \
if [ ${YARN_VERSION} = "latest" ]; then \
curl -o- -L https://yarnpkg.com/install.sh | bash; \
else \
curl -o- -L https://yarnpkg.com/install.sh | bash -s -- --version ${YARN_VERSION}; \
fi && \
echo "" >> ~/.bashrc && \
echo 'export PATH="$HOME/.yarn/bin:$PATH"' >> ~/.bashrc \
;fi
# Add YARN binaries to root's .bashrc
USER root
RUN if [ ${INSTALL_YARN} = true ]; then \
echo "" >> ~/.bashrc && \
echo 'export YARN_DIR="/home/laradock/.yarn"' >> ~/.bashrc && \
echo 'export PATH="$YARN_DIR/bin:$PATH"' >> ~/.bashrc \
;fi
#####################################
# PHP Aerospike:
#####################################
USER root
ARG INSTALL_AEROSPIKE=false
ENV INSTALL_AEROSPIKE ${INSTALL_AEROSPIKE}
RUN if [ ${INSTALL_AEROSPIKE} = true ]; then \
# Fix dependencies for PHPUnit within aerospike extension
apt-get update -yqq && \
apt-get -y install sudo wget && \
# Install the php aerospike extension (using 7.2.0-in-progress branch until support for 7.2 on master)
curl -L -o /tmp/aerospike-client-php.tar.gz "https://github.com/aerospike/aerospike-client-php/archive/7.2.0-in-progress.tar.gz" \
&& mkdir -p aerospike-client-php \
&& tar -C aerospike-client-php -zxvf /tmp/aerospike-client-php.tar.gz --strip 1 \
&& ( \
cd aerospike-client-php/src \
&& phpize \
&& ./build.sh \
&& make install \
) \
&& rm /tmp/aerospike-client-php.tar.gz \
&& echo 'extension=aerospike.so' >> /etc/php/7.2/cli/conf.d/aerospike.ini \
&& echo 'aerospike.udf.lua_system_path=/usr/local/aerospike/lua' >> /etc/php/7.2/cli/conf.d/aerospike.ini \
&& echo 'aerospike.udf.lua_user_path=/usr/local/aerospike/usr-lua' >> /etc/php/7.2/cli/conf.d/aerospike.ini \
;fi
#####################################
# PHP V8JS:
#####################################
USER root
ARG INSTALL_V8JS=false
ENV INSTALL_V8JS ${INSTALL_V8JS}
RUN if [ ${INSTALL_V8JS} = true ]; then \
# Install the php V8JS extension
add-apt-repository -y ppa:pinepain/libv8-archived \
&& apt-get update -yqq \
&& apt-get install -y php-xml php-dev php-pear libv8-5.4 \
&& pecl install v8js \
&& echo "extension=v8js.so" >> /etc/php/7.2/cli/php.ini \
;fi
#####################################
# Non-root user : PHPUnit path
#####################################
# add ./vendor/bin to non-root user's bashrc (needed for phpunit)
USER laradock
RUN echo "" >> ~/.bashrc && \
echo 'export PATH="/var/www/vendor/bin:$PATH"' >> ~/.bashrc
#####################################
# Laravel Envoy:
#####################################
USER laradock
ARG INSTALL_LARAVEL_ENVOY=false
ENV INSTALL_LARAVEL_ENVOY ${INSTALL_LARAVEL_ENVOY}
RUN if [ ${INSTALL_LARAVEL_ENVOY} = true ]; then \
# Install the Laravel Envoy
composer global require "laravel/envoy=~1.0" \
;fi
#####################################
# Laravel Installer:
#####################################
USER root
ARG COMPOSER_REPO_PACKAGIST
ENV COMPOSER_REPO_PACKAGIST ${COMPOSER_REPO_PACKAGIST}
RUN if [ ${COMPOSER_REPO_PACKAGIST} ]; then \
composer config -g repo.packagist composer ${COMPOSER_REPO_PACKAGIST} \
;fi
ARG INSTALL_LARAVEL_INSTALLER=false
ENV INSTALL_LARAVEL_INSTALLER ${INSTALL_LARAVEL_INSTALLER}
RUN if [ ${INSTALL_LARAVEL_INSTALLER} = true ]; then \
# Install the Laravel Installer
echo "" >> ~/.bashrc && \
echo 'export PATH="~/.composer/vendor/bin:$PATH"' >> ~/.bashrc \
&& composer global require "laravel/installer" \
;fi
USER laradock
#####################################
# Deployer:
#####################################
USER root
ARG INSTALL_DEPLOYER=false
ENV INSTALL_DEPLOYER ${INSTALL_DEPLOYER}
RUN if [ ${INSTALL_DEPLOYER} = true ]; then \
# Install the Deployer
# Using Phar as currently there is no support for laravel 4 from composer version
# Waiting to be resolved on https://github.com/deployphp/deployer/issues/1552
curl -LO https://deployer.org/deployer.phar && \
mv deployer.phar /usr/local/bin/dep && \
chmod +x /usr/local/bin/dep \
;fi
#####################################
# Prestissimo:
#####################################
USER laradock
ARG INSTALL_PRESTISSIMO=false
ENV INSTALL_PRESTISSIMO ${INSTALL_PRESTISSIMO}
RUN if [ ${INSTALL_PRESTISSIMO} = true ]; then \
# Install Prestissimo
composer global require "hirak/prestissimo" \
;fi
#####################################
# Linuxbrew:
#####################################
USER root
ARG INSTALL_LINUXBREW=false
ENV INSTALL_LINUXBREW ${INSTALL_LINUXBREW}
RUN if [ ${INSTALL_LINUXBREW} = true ]; then \
# Preparation
apt-get upgrade -y && \
apt-get install -y build-essential make cmake scons curl git \
ruby autoconf automake autoconf-archive \
gettext libtool flex bison \
libbz2-dev libcurl4-openssl-dev \
libexpat-dev libncurses-dev && \
# Install the Linuxbrew
git clone --depth=1 https://github.com/Homebrew/linuxbrew.git ~/.linuxbrew && \
echo "" >> ~/.bashrc && \
echo 'export PKG_CONFIG_PATH"=/usr/local/lib/pkgconfig:/usr/local/lib64/pkgconfig:/usr/lib64/pkgconfig:/usr/lib/pkgconfig:/usr/lib/x86_64-linux-gnu/pkgconfig:/usr/lib64/pkgconfig:/usr/share/pkgconfig:$PKG_CONFIG_PATH"' >> ~/.bashrc && \
# Setup linuxbrew
echo 'export LINUXBREWHOME="$HOME/.linuxbrew"' >> ~/.bashrc && \
echo 'export PATH="$LINUXBREWHOME/bin:$PATH"' >> ~/.bashrc && \
echo 'export MANPATH="$LINUXBREWHOME/man:$MANPATH"' >> ~/.bashrc && \
echo 'export PKG_CONFIG_PATH="$LINUXBREWHOME/lib64/pkgconfig:$LINUXBREWHOME/lib/pkgconfig:$PKG_CONFIG_PATH"' >> ~/.bashrc && \
echo 'export LD_LIBRARY_PATH="$LINUXBREWHOME/lib64:$LINUXBREWHOME/lib:$LD_LIBRARY_PATH"' >> ~/.bashrc \
;fi
#####################################
# SQL SERVER:
#####################################
ARG INSTALL_MSSQL=false
ENV INSTALL_MSSQL ${INSTALL_MSSQL}
RUN set -eux; if [ ${INSTALL_MSSQL} = true ]; then \
#####################################
# The following steps were taken from
# https://github.com/Microsoft/msphpsql/wiki/Install-and-configuration
#####################################
curl https://packages.microsoft.com/keys/microsoft.asc | apt-key add - && \
curl https://packages.microsoft.com/config/ubuntu/16.04/prod.list > /etc/apt/sources.list.d/mssql-release.list && \
apt-get update && \
ACCEPT_EULA=Y apt-get install -yqq msodbcsql=13.0.1.0-1 mssql-tools=14.0.2.0-1 && \
apt-get install -yqq unixodbc-dev-utf16 && \
ln -sfn /opt/mssql-tools/bin/sqlcmd-13.0.1.0 /usr/bin/sqlcmd && \
ln -sfn /opt/mssql-tools/bin/bcp-13.0.1.0 /usr/bin/bcp && \
ACCEPT_EULA=Y apt-get install -yqq \
unixodbc \
unixodbc-dev \
libgss3 \
odbcinst \
msodbcsql \
locales && \
echo "en_US.UTF-8 UTF-8" > /etc/locale.gen && \
locale-gen && \
pecl install sqlsrv-4.3.0 pdo_sqlsrv-4.3.0 && \
apt-get install -y locales && \
echo "en_US.UTF-8 UTF-8" > /etc/locale.gen && \
locale-gen && \
echo "extension=sqlsrv.so" > /etc/php/7.2/cli/conf.d/20-sqlsrv.ini && \
echo "extension=pdo_sqlsrv.so" > /etc/php/7.2/cli/conf.d/20-pdo_sqlsrv.ini \
&& php -m | grep -q 'sqlsrv' \
&& php -m | grep -q 'pdo_sqlsrv' \
;fi
#####################################
# Minio:
#####################################
USER root
ARG INSTALL_MC=false
ENV INSTALL_MC ${INSTALL_MC}
COPY mc/config.json /root/.mc/config.json
RUN if [ ${INSTALL_MC} = true ]; then\
curl -fsSL -o /usr/local/bin/mc https://dl.minio.io/client/mc/release/linux-amd64/mc && \
chmod +x /usr/local/bin/mc \
;fi
#####################################
# Image optimizers:
#####################################
USER root
ARG INSTALL_IMAGE_OPTIMIZERS=false
ENV INSTALL_IMAGE_OPTIMIZERS ${INSTALL_IMAGE_OPTIMIZERS}
RUN if [ ${INSTALL_IMAGE_OPTIMIZERS} = true ]; then \
apt-get install -y --force-yes jpegoptim optipng pngquant gifsicle && \
if [ ${INSTALL_NODE} = true ]; then \
. ~/.bashrc && npm install -g svgo \
;fi\
;fi
USER laradock
#####################################
# Symfony:
#####################################
USER root
ARG INSTALL_SYMFONY=false
ENV INSTALL_SYMFONY ${INSTALL_SYMFONY}
RUN if [ ${INSTALL_SYMFONY} = true ]; then \
mkdir -p /usr/local/bin \
&& curl -LsS https://symfony.com/installer -o /usr/local/bin/symfony \
&& chmod a+x /usr/local/bin/symfony \
# Symfony 3 alias
&& echo 'alias dev="php bin/console -e=dev"' >> ~/.bashrc \
&& echo 'alias prod="php bin/console -e=prod"' >> ~/.bashrc \
# Symfony 2 alias
# && echo 'alias dev="php app/console -e=dev"' >> ~/.bashrc \
# && echo 'alias prod="php app/console -e=prod"' >> ~/.bashrc \
;fi
#####################################
# PYTHON:
#####################################
ARG INSTALL_PYTHON=false
ENV INSTALL_PYTHON ${INSTALL_PYTHON}
RUN if [ ${INSTALL_PYTHON} = true ]; then \
apt-get update \
&& apt-get -y install python python-pip python-dev build-essential \
&& pip install --upgrade pip \
&& pip install --upgrade virtualenv \
;fi
#####################################
# ImageMagick:
#####################################
USER root
ARG INSTALL_IMAGEMAGICK=false
ENV INSTALL_IMAGEMAGICK ${INSTALL_IMAGEMAGICK}
RUN if [ ${INSTALL_IMAGEMAGICK} = true ]; then \
apt-get update -yqq \
&& apt-get install -y --force-yes imagemagick php-imagick \
;fi
#####################################
# Terraform:
#####################################
USER root
ARG INSTALL_TERRAFORM=false
ENV INSTALL_TERRAFORM ${INSTALL_TERRAFORM}
RUN if [ ${INSTALL_TERRAFORM} = true ]; then \
apt-get update -yqq \
&& apt-get -y install sudo wget unzip \
&& wget https://releases.hashicorp.com/terraform/0.10.6/terraform_0.10.6_linux_amd64.zip \
&& unzip terraform_0.10.6_linux_amd64.zip \
&& mv terraform /usr/local/bin \
&& rm terraform_0.10.6_linux_amd64.zip \
;fi
#####################################
# pgsql client
#####################################
USER root
ARG INSTALL_PG_CLIENT=false
ENV INSTALL_PG_CLIENT ${INSTALL_PG_CLIENT}
RUN if [ ${INSTALL_PG_CLIENT} = true ]; then \
# Install the pgsql clint
apt-get update -yqq && \
apt-get -y install postgresql-client \
;fi
#####################################
# Dusk Dependencies:
#####################################
USER root
ARG CHROME_DRIVER_VERSION=stable
ENV CHROME_DRIVER_VERSION ${CHROME_DRIVER_VERSION}
ARG INSTALL_DUSK_DEPS=false
ENV INSTALL_DUSK_DEPS ${INSTALL_DUSK_DEPS}
RUN if [ ${INSTALL_DUSK_DEPS} = true ]; then \
add-apt-repository ppa:ondrej/php \
&& apt-get update \
&& apt-get -y install zip wget unzip xdg-utils \
libxpm4 libxrender1 libgtk2.0-0 libnss3 libgconf-2-4 xvfb \
gtk2-engines-pixbuf xfonts-cyrillic xfonts-100dpi xfonts-75dpi \
xfonts-base xfonts-scalable x11-apps \
&& wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb \
&& dpkg -i --force-depends google-chrome-stable_current_amd64.deb \
&& apt-get -y -f install \
&& dpkg -i --force-depends google-chrome-stable_current_amd64.deb \
&& rm google-chrome-stable_current_amd64.deb \
&& wget https://chromedriver.storage.googleapis.com/${CHROME_DRIVER_VERSION}/chromedriver_linux64.zip \
&& unzip chromedriver_linux64.zip \
&& mv chromedriver /usr/local/bin/ \
&& rm chromedriver_linux64.zip \
;fi
#####################################
# Check PHP version:
#####################################
RUN php -v | head -n 1 | grep -q "PHP 7.2."
#
#--------------------------------------------------------------------------
# Final Touch
#--------------------------------------------------------------------------
#
# Clean up
USER root
RUN apt-get clean && \
rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
# Set default work directory
WORKDIR /var/www

View File

@ -1,13 +1,20 @@
; 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_connect_back=1
xdebug.remote_port=9000
xdebug.idekey=PHPSTORM
xdebug.remote_autostart=0
xdebug.remote_enable=0
xdebug.remote_connect_back=0
xdebug.cli_color=0
xdebug.profiler_enable=0
xdebug.profiler_output_dir="~/xdebug/phpstorm/tmp/profiling"
xdebug.remote_handler=dbgp
xdebug.remote_mode=req
xdebug.remote_port=9000
xdebug.remote_host=dockerhost
xdebug.idekey=PHPSTORM
xdebug.var_display_max_children=-1
xdebug.var_display_max_data=-1
xdebug.var_display_max_depth=-1