Compare commits

...

560 Commits

Author SHA1 Message Date
fc3355a9cc Add CouchDB (#1974)
* Add CouchDB
2019-02-09 20:07:37 +08:00
53ca88714c Map cll And cla Aliases To Correct Commands (#1696) 2019-02-09 19:58:12 +08:00
1d420a2507 Separate variable flag container path out from APP_CODE_PATH_CONTAINER (#1591)
Because Container cannot volume when use APP_CODE_PATH_CONTAINER (with flag) concat with path name, e.g. /var/www:nocache/letencrypt
This will fix 1540.
2019-02-09 19:57:11 +08:00
c7aa535598 Added WP-CLI support to workspace (#1748)
* Added WP-CLI support
* Updated documentation for WP-CLI
2019-02-09 19:48:28 +08:00
5edf3f398b Update document and fix some container bug (#1785) 2019-02-09 19:37:11 +08:00
f6c5aa1801 fix build Solr, failed in https://travis-ci.org/laradock/laradock/jobs/479960032 (#1957) 2019-02-09 19:29:51 +08:00
a09144f02b persistent RabbitMQ (#1956) 2019-02-09 19:29:25 +08:00
9e4dfa2a0c fix caddy failed download (#1977)
* fix caddy  failed download
* RUN command inline
2019-02-09 19:28:29 +08:00
99f7e65c99 Backup Rethikdb (#1937)
- You requiere run python-pip for backing up your data
2019-02-09 19:26:50 +08:00
e0dc683d3f Add gloga alias (#1970)
This add `git log --oneline --decorate --graph --all` command alias.
2019-02-09 19:25:50 +08:00
eb0c941313 Add traefik (#1916)
* Add mosquitto broker
* Add documetation to mosquitto
* Add traefik
2019-02-09 19:25:21 +08:00
d27f4368ee Run bash when login by laradock via ssh (#1541) 2019-02-09 17:06:26 +08:00
7430a34dd5 Add logstash support (#1852)
* add logstash support
2019-02-09 16:40:14 +08:00
d5647295ca add MYSQL_CLIENT and AMQP for php-worker (#1949) 2019-02-09 16:34:34 +08:00
b1e346383b fix php-fpm AMQP build for 5.6, 7.0 and 7.1 (#1965) 2019-02-09 16:33:06 +08:00
913abc54f9 chore(pgadmin) use alpine (#1936) 2019-01-13 23:03:24 +08:00
53e8229313 using Alpine for Beanstalkd and RabbitMQ, list all ports exposed for RabbitMQ (#1950) 2019-01-11 18:52:12 +08:00
36c78369d5 fix aerospike build fail (#1948) 2019-01-10 23:23:51 +08:00
acac6eb229 fix PHP Warning: PHP Startup: Unable to load dynamic library 'phalcon.so' (#1947)
when install APCu and no install Phalcon.
2019-01-10 21:50:59 +08:00
04f071555c fixed php-fpm install phalcon ext bug (#1811)
* add phalcon ext
* fixed phalcon install
* update index.md
* php-worker install phalcon ext
2019-01-10 10:56:30 +08:00
03ff791e17 php-worker: add laradock user (#1928) 2019-01-09 23:54:32 +08:00
7c4f6dd7a9 add gitignore for nginx/ssl folder, prevent keeping cert files in git (#1929) 2019-01-09 23:53:48 +08:00
f44a8e0ca0 Update to fresh version Adminer 4.x (#1900) 2019-01-09 21:31:18 +08:00
ce7a29c662 modify syntax error (#1942)
Syntax error in shell when installing APCU.
Because Fixed shell syntax.
fix #1943, #1940.
2019-01-09 21:22:42 +08:00
bbff18c631 [ Fixing Permission Error ] (#1842)
- Inside container, we can't change /etc files without root permissions
2019-01-08 15:36:20 +08:00
e07c128063 Install socket extension for php-fpm (#1923)
In some case for pushing into queue you need use constant from sockets extension
2019-01-08 15:35:22 +08:00
163eb1f73a add more git aliases (#1922) 2019-01-08 15:34:18 +08:00
30c8afafa2 Add mosquitto broker (#1914)
* Add mosquitto broker
* Add documetation to mosquitto
2019-01-08 15:33:40 +08:00
3e771dbcfc Typo in PHP_VERSION for PHP gmp extension (#1933) 2019-01-08 15:31:21 +08:00
a1bda23cd9 add new conf example file to run laravel scheduler in php-worker (#1930) 2019-01-08 15:30:53 +08:00
e6d866b8a6 Added APCU installation option (#1831) 2019-01-08 15:30:12 +08:00
35ffd02b44 Add ZooKeeper Component (#1899) 2019-01-08 15:29:04 +08:00
d03ead34a2 Nginx for Windows (#1879)
* feature(nginx): add OpenSSL
* feature(nginx): add volume to store the certificates
* feature(nginx): add option installation OpenSSL
* feature(nginx): autogenerate certificates
* chore(nginx): add new line at end of file
* fix(nginx): fix run nginx on Windows
* fix(gitignore): end of file
2019-01-08 15:24:32 +08:00
d8c36ab860 add zip extension support for PHP in php-worker (#1894) 2018-11-27 17:00:03 +08:00
2689638d7d MySQL Client in Workspace (#1892) 2018-11-27 16:59:14 +08:00
fa7d3c239c Fix Permission denied (#1893)
* Revert "default user for workspace is laradock, so that owner of log file when running php artisan command doesn't change (#1875)"

This reverts commit 156d124db0.

* update document to inform user should add --user=laradock when exec into workspace, update sync.sh bash to exec into workspace with user laradock
2018-11-27 16:57:36 +08:00
22032974c9 laravel-horizon (#1854) 2018-11-23 20:47:26 +08:00
4480962922 Updated Chrome Driver to latest stable version (2.32 to 2.42) in env-example (#1813) 2018-11-22 22:25:39 +08:00
cc81e57206 FIX PHP YAML extension #1798 (#1888)
* FIX PHP YAML extension #1798
* changed parameter name
2018-11-22 22:24:50 +08:00
5c41a4f3e9 Update Install YAML PHP extension title (#1887)
miss change title
2018-11-22 11:44:28 +08:00
796b46cf5a PHP YAML extension (#1798) 2018-11-22 08:12:52 +08:00
d7765a7b10 Update docker-compose.yml to add 'dind' to 'Workspace' (#1869)
Add 'docker-in-docker' links end 'DOCKER_HOST' environment to 'workspace'.
2018-11-22 08:10:33 +08:00
156d124db0 default user for workspace is laradock, so that owner of log file when running php artisan command doesn't change (#1875) 2018-11-22 08:10:09 +08:00
afdf2661bd fix certbot (#1666) 2018-11-22 08:09:48 +08:00
a1af01b137 update workspace dockerfile (#1759)
fix workspace user laradock laravel command not found
2018-11-22 08:07:54 +08:00
1519c80036 Enable calling node commands (npm, bower, etc) from the host with 'docker-compose exec' (#1481) 2018-11-22 08:05:44 +08:00
441146b325 Change text error (#1882)
Change text error
2018-11-21 12:37:17 +08:00
0ed5487ed7 fix typo in env-example (#1834) 2018-11-13 21:35:19 +08:00
Jon
ca9d244396 Add default pgadmin credentials to docsls allow log in (#1864) 2018-11-13 21:31:05 +08:00
cf46b87a01 add mssql support for solr (#1829) 2018-11-13 20:58:00 +08:00
0af2115658 added SOAP ext to php-worker (#1817) 2018-11-13 20:55:15 +08:00
c1e8e955a1 Fix typo in seed alias (#1843) 2018-11-13 20:54:02 +08:00
0ffea858d6 Remove duplicate key (#1808) 2018-11-13 20:51:26 +08:00
549094d7d2 Update Doc '.php-fpm' to './php-fpm' (#1848) 2018-11-13 20:47:52 +08:00
7219b3543a Nginx: added OpenSSL for local development (#1527)
* feature(nginx): add OpenSSL
2018-11-13 20:44:51 +08:00
1dac382827 Drop the useless PHP tokenizer extension install step (#1650)
It is bundled and enabled by default in the PHP language already, and adding this step raises a warning:
warning: tokenizer (tokenizer.so) is already loaded!

Also if this option disabled, it's still installed as part of the language anyway!
2018-11-13 20:30:41 +08:00
876336bc1a Fixed typo (#1358) 2018-11-13 19:44:43 +08:00
538b6aa0cd fix home page logo link 2018-10-27 16:04:16 +02:00
c886831613 integrate seedanddew 2018-10-27 15:38:40 +02:00
9cfe5c6156 add phalcon ext (#1806)
* add phalcon ext
2018-09-22 15:45:41 +08:00
db02fe7570 Fix Travis CI build failed (#1803)
php-fpm: Unable to locate package libfaketime
2018-09-18 21:44:36 +08:00
436df887c9 Add docker registry (#1770)
* add docker registry and docker registry web ui
2018-09-18 11:15:59 +08:00
919cde3a76 update thumbor volume var name. (#1801) 2018-09-17 22:28:12 +08:00
784aab2043 Update NVM installer (#1794) 2018-09-17 22:11:30 +08:00
d5d9073863 Fix CHANGE_SOURCE argument always false for nginx's Dockerfile (#1786) 2018-09-17 22:07:07 +08:00
6a3b3fac2d Added support for Thumbor (#1373) 2018-09-16 20:21:13 +08:00
61576c0b1b Change to stable CLI interface (#1793)
workspace apt command
2018-09-16 18:00:46 +08:00
70c1be4168 Point ea Alias To Correct File (#1698) 2018-09-16 17:58:26 +08:00
e101e4d5b2 Add mail services(mailu) (#1775)
* add mail service
2018-09-16 17:44:18 +08:00
4658820437 Update baseurl to https (#1791)
Closes #1751
2018-09-15 21:40:13 +08:00
0bbfb2d228 Update caddy Dockerfile (#1788)
* Change base image
2018-09-15 21:22:44 +08:00
86a4108ef4 fix comment (#1790)
GMP
2018-09-15 21:20:22 +08:00
20c85904c5 Package has been deprecated (#1796)
workspace npm bower
2018-09-15 21:19:24 +08:00
aaef73c84d fix typo (#1797) 2018-09-15 21:16:37 +08:00
876935452e Add .gitignore to php-worker (#1780)
* Add .gitignore
* Change file to example.
2018-09-08 21:31:58 +08:00
00df369e96 Add IonCube Loader (zend_extension) (#1763) 2018-09-08 21:31:05 +08:00
902198ab05 fix application path (#1781)
* fix application path

In the "env.sample" , "APP_CODE_PATH_HOST"  was written. I fixed Documentation.
2018-09-08 19:42:58 +08:00
2e2cb6df22 Enable docker-compose exec workspace npm (and yarn, etc.) (#1743)
* fix node PATH to enable docker-compose exec workspace npm
* add PATH for yarn to enable docker-compose exec workspace yarn
2018-08-31 20:19:52 +08:00
39469e1404 added ssh2 to workspace and php-fpm (#1756) 2018-08-28 14:16:25 +08:00
947a791ad2 Auto reload caddy and add basicauth example (#1706)
* add live reload and basicauth
2018-08-26 16:02:55 +08:00
aa84dd8616 added ext-gmp to workspace container (#1762) 2018-08-21 19:01:12 +08:00
b788a8bbfd Add Web Based IDEs (#1705)
Add Web Based IDEs: Theia, WebIDE, Codaid, IceCoder.
2018-08-21 13:49:56 +08:00
89051de67d This developer needed to turn back the clock in the PHP-FPM container, you will not believe what he did next! (#1675)
* Added documentation for installing libfaketime in the php-fpm container
* Enabled installing and using libfaketime system-wide inside the php-fpm container
2018-08-21 13:41:34 +08:00
1b865dd153 fix php5.6 workspace aerospike travis-ci build failed. (#1738) 2018-07-31 22:38:02 +08:00
8180804ae0 Add Metabase for analytics and Business Intelligence (#1711)
* Include metabase service
* Removing unecessary environment variables
* Update documentation
2018-07-29 13:07:15 +08:00
303dadf33d fix ln: failed to create symbolic link: file exists. (#1735)
#1707
2018-07-29 12:42:13 +08:00
764e484599 Env variable conflict (#1734)
* php-fpm and workspace arg var rename: PHP_VERSION to  LARADOCK_PHP_VERSION.
* travis-ci skip phpbdg
2018-07-29 12:00:13 +08:00
e92f08e323 -u no longer supported (#1733)
* -u no longer supported

https://varnish-cache.org/docs/4.1/reference/varnishd.html
https://support.jpgottech.com/knowledgebase.php?article=90
issue #1732
2018-07-28 15:11:24 +08:00
1acbebc2a3 Update MSSQL Drivers To Newest Version (#1707)
Remove version lock from pecl install
Update to Debian 9 repos since our image is Debian 9
Remove duplicate locales-gen line
Closes #1622
2018-07-28 15:08:01 +08:00
b2ab970d04 Upgrade PostgreSQL client to version 10. (#1508) 2018-07-20 15:48:09 +08:00
679d2b0aba Link fixes and changes in Documentation (#1539)
* Fix guide links
* Changed absolute link to relative
2018-07-20 15:45:12 +08:00
fbc2afee71 implemented option to add bcmath to laradock php-worker (#1716)
* implemented option to add bcmath to laradock php-worker
* updated docs
2018-07-20 15:44:07 +08:00
1962327de1 Corrects folder locations in which to run docker-compose commands for caddy (#1721) 2018-07-20 10:05:31 +08:00
d8b2b8c233 Add gitlab (#1683)
* Add gitlab
2018-07-18 21:20:43 +08:00
0f65c60a89 DockerFile update for improvement (#1568)
Docker file changes for image size improvements.
2018-07-18 21:17:49 +08:00
8624335f61 Update crontab to reference full PHP path (#1517)
Otherwise it doesn't work
2018-07-13 22:36:43 +08:00
7ef36daaba Fix run mongo-webui service get exit 1 (#1702) 2018-07-13 22:32:40 +08:00
4ce25e95b4 Added option to install the php calendar extension in php-fpm (#1672)
* Added option to install the php calendar extension in php-fpm
* Added section about installing php calendar extension in php-fpm
2018-07-13 18:31:13 +08:00
20b0181b6d Make PR Template Checkboxes Render Correctly (#1697) 2018-07-13 18:29:18 +08:00
dc234b9b28 Add Jupyterhub (#1686) 2018-07-13 11:35:46 +08:00
29483bab8c Add Ipython (#1685) 2018-07-13 11:33:41 +08:00
85c57a0b6f update postgresql init db example file (#1689) 2018-07-06 20:59:57 +08:00
2f996450e5 Add Redis webui (#1688)
* add redis webui
* Update env-example
* depends on redis
2018-07-06 20:57:29 +08:00
1823060c4b Add Mongo webui (#1687)
* add mongo webui
* update
* Update env-example
2018-07-06 20:54:44 +08:00
6fa2b75bb7 Getting Started documentation typo (#1590) 2018-07-01 20:22:25 +08:00
2ec23122e7 Update version pointer node (#1598) 2018-06-30 17:08:02 +08:00
a1e01ac19b Install phpdbg (#1612)
* Install phpdbg
* Change documentstion
2018-06-30 16:54:46 +08:00
eccc149f45 Fix current shell on root when installing svgo (#1644)
This fix the following errors:
/bin/sh: 13: /root/.bashrc: shopt: not found
/bin/sh: 21: /root/.bashrc: shopt: not found
/bin/sh: 103: /root/.bashrc: source: not found
2018-06-30 16:50:37 +08:00
9cb7624da7 bugfix: add 'networks' to 'docker-in-docker' (#1660)
I do not know why but the pull request https://github.com/laradock/laradock/pull/1655 has lost the 'networks' code. I'll try to insert it Insert again ;-)
2018-06-30 16:49:29 +08:00
cd1c56c1e2 Fix Laradock-Toolbox url (#1610) 2018-06-28 13:29:30 +08:00
9d42ea6b9d Update docker-compose.yml to add 'dind' (#1655)
Add 'dind' image to run docker-in-docker: issue https://github.com/laradock/laradock/issues/1653
2018-06-28 13:25:33 +08:00
b0bfa5f1d3 Add netdata for monitoring server (#1613)
* add netdata container
* update document
* update document each part separate with 6 * \n
* remove unuse file
2018-06-28 13:24:08 +08:00
dcf6b6d9ac Install of libpng16 library for fix react and react with material-ui application (#1625)
* Added commands in Workspace Dockerfile for installation of libpng with configurable env argument switch

* Updated documentation
2018-06-28 13:14:06 +08:00
1d9cbd7c75 fix: MySQL 8.0 removed NO_AUTO_CREATE_USER SQL mode, fixed #1492 (#1548) 2018-06-27 18:49:53 +08:00
fd56c4dcda Update VUE CLI to v3 (#1654) 2018-06-27 18:48:32 +08:00
0351cf531b Fix minor syntax issue that solves "[/bin/sh: 1: [: missing ]" error (#1649) 2018-06-27 18:47:42 +08:00
09e998b723 Fix missing apt-utils package (#1652) 2018-06-27 18:47:05 +08:00
06d0105514 Fix PHP zip extension installation warnings (#1648)
This fixes the following warnings when installing "zip" php extension:
configure: WARNING: ========================================================
configure: WARNING: Use of bundled libzip is deprecated and will be removed.
configure: WARNING: Some features such as encryption and bzip2 are not available.
configure: WARNING: Use system library and --with-libzip is recommended.
configure: WARNING: ========================================================
2018-06-27 18:46:27 +08:00
0cbc51bf72 php-fpm ini file rename to match volume config format. (#1646)
volumes:
  - ./php-fpm/php${PHP_VERSION}.ini:/usr/local/etc/php/php.ini
2018-06-25 23:03:23 +08:00
08dfc9f816 php-fpm, workspace when php5 support old mongo ext. (#1642) 2018-06-25 20:16:25 +08:00
b71f50bf83 Fix apt-get deprecated --force-yes flag & noninteractive if needed (#1640) 2018-06-24 23:19:49 +08:00
7d1dc66f77 Conditionally install npm tools (#1641) 2018-06-24 23:19:09 +08:00
f3c934222f Fix #1627, The POSTGRES_ENTRYPOINT_INITDB variable is not set. Defaulting to a blank string. (#1639) 2018-06-24 14:38:04 +08:00
a90865d67c Update nvm install instructions (#1638) 2018-06-24 10:02:21 +08:00
a0a5c85a54 Update deployer install instructions (#1637) 2018-06-24 10:01:58 +08:00
a807caa30a Update laravel envoy install instructions (#1636) 2018-06-24 10:01:30 +08:00
bc27e96337 Update aerospike installation instructions (#1635) 2018-06-24 10:00:52 +08:00
11912055ec Update global composer install instructions (#1634) 2018-06-24 10:00:19 +08:00
3509473b89 Update node & yarn install instructions (#1633) 2018-06-24 09:59:15 +08:00
5521f71428 Update mongo install instructions (#1632) 2018-06-24 09:48:20 +08:00
339d47f303 Update linuxbrew install instructions (#1631) 2018-06-24 09:47:13 +08:00
600a6154b4 Automate xdebug installation and simplify instructions (#1630) 2018-06-24 09:46:12 +08:00
4673ba7b31 Fix minor typos and clarify few documentation phrases (#1629) 2018-06-24 09:43:54 +08:00
154249a08f Merge pull request #1614 from ahkui/postgresql_init_db
add postgres init db
2018-06-22 19:41:58 +08:00
5bffd43b55 Merge pull request #1505 from Crease29/patch-1
Add COMPOSE_PROJECT_NAME to env-example
2018-06-22 19:34:33 +08:00
0e9d044c6f Merge pull request #1606 from ahkui/fix_workspace_no_nasm
fix #1607  workspace no nasm
2018-06-22 18:30:49 +08:00
21d203da73 Merge pull request #1617 from bestlong/php70-swoole-build-failed
Fix php7.0 swoole build failed.
2018-06-18 22:24:14 +08:00
a3cbfd71f5 Fix php7.0 swoole build failed. 2018-06-18 21:27:23 +08:00
33234fd3b5 Merge pull request #1615 from bestlong/php5-drush-segmentation-fault
Fix php5.6 workspace DRUSH "Segmentation fault (core dumped)" error.
2018-06-17 23:29:16 +08:00
f47e40b262 fix php5.6 DRUSH "Segmentation fault (core dumped)" error. 2018-06-17 23:20:18 +08:00
7199ae5a34 fix wrong example 2018-06-15 23:37:27 +08:00
6caa4c5fb9 fix wrong sql 2018-06-15 23:27:28 +08:00
3fceba0709 Merge pull request #1608 from elliotleelewis/master
Updated `Kibana` version to match `Elasticsearch` version
2018-06-15 22:22:21 +08:00
75b3fa499e no message 2018-06-15 15:30:45 +08:00
999118b674 update example 2018-06-15 15:27:37 +08:00
4b2c440146 add init database 2018-06-15 04:39:19 +08:00
a4d3f9bd77 Updated Kibana version to match Elasticsearch version 2018-06-12 15:20:14 +01:00
65444d39b6 fix workspace no nasm 2018-06-12 20:15:30 +08:00
5016e88515 Merge pull request #1602 from bestlong/php5-mssql-ext-install-faile
php5 support MSSQL extension
2018-06-11 16:32:50 +08:00
e8eb97b398 php5 support MSSQL extension 2018-06-11 14:23:40 +08:00
66c61d9a72 Merge pull request #1595 from bestlong/install-aerospike-build-failed
update AEROSPIKE_PHP_REPOSITORY source url
2018-06-09 10:33:41 +08:00
d8f95bac2a update AEROSPIKE_PHP_REPOSITORY source 2018-06-09 00:15:09 +08:00
ad316bab50 Merge pull request #1585 from ahkui/patch-2
Update Caddy Dockerfile to force agree T&C
2018-06-05 09:00:34 +08:00
6e43dd804d Update Caddy Dockerfile to force agree T&C 2018-06-03 16:29:47 +08:00
ba1a83b40b Merge pull request #1582 from bestlong/php5-fpm-aerospike-build-faile
php-fpm aerospike support php5
2018-06-01 11:20:49 +08:00
34ad8acdbf php-fpm aerospike support php5 2018-06-01 11:02:20 +08:00
d5ea58eb6e Merge pull request #1355 from lamaaa/master
Fix Documentation error for install xDebug
2018-06-01 10:23:12 +08:00
567756475d Merge pull request #1581 from bestlong/php5-fpm-memcached-build-faile
Fix php 5.6 memcached build failed
2018-06-01 09:13:34 +08:00
ad21cd225f fix php 5.6 memcached build failed 2018-06-01 08:45:56 +08:00
f2f5aeabd6 Merge pull request #1580 from bestlong/aerospike-build-failed
fix aerospike build failed
2018-06-01 08:36:49 +08:00
0f4a417f4e fix aerospike build failed
php-fpm and workspace
2018-06-01 01:30:35 +08:00
42a960338b Merge pull request #1530 from ahkui/patch-1
Update Dockerfile install python pip, virtualenv way.
2018-05-29 14:01:50 +08:00
2e75c25c7f Merge pull request #1575 from bestlong/cleanup-and-update
Cleanup and update
2018-05-29 12:36:06 +08:00
beec32498e update drush version 2018-05-28 11:23:59 +08:00
573b8e0afd clean up apt update 2018-05-28 11:15:03 +08:00
409f91662f Merge pull request #1502 from wvdongen/master
Fix Drush installation, consistent arguments, deprecated install note
2018-05-28 10:48:24 +08:00
185ba60a09 Merge branch 'master' into master 2018-05-28 10:46:18 +08:00
a03ce23bf5 Merge pull request #1520 from fnandogp/master
fix: Fix Drush install for the workspace
2018-05-28 10:30:50 +08:00
fc8736773c Merge pull request #1574 from bestlong/pecl-channel-update
update pecl channel
2018-05-28 10:29:34 +08:00
d5efd5309e update pecl channel 2018-05-28 08:47:22 +08:00
da3a7226bd Merge pull request #1572 from luciano-jr/master
Add Portainer.io service
2018-05-27 20:51:06 +08:00
cc20ac2421 Merge pull request #1573 from bestlong/fix-php5-gmp
Fix php5 Unable to locate gmp.h
2018-05-27 20:45:44 +08:00
402383e7b7 Fix php5 Unable to locate gmp.h 2018-05-27 20:01:29 +08:00
9250326664 Swoole support php5 (#1571)
* php5 fpm support swoole
* php5 workspace support swoole
2018-05-27 19:47:13 +08:00
51d253db21 Update documentation adding Portainer section 2018-05-27 11:22:49 +01:00
69de0668e9 Add portainer 2018-05-27 10:39:41 +01:00
472df4d194 Merge pull request #1570 from bestlong/fix-getting-started-step-not-fit
fix Getting Started step "docker-compose up -d nginx mysql" missing workspace container.
2018-05-27 11:23:34 +08:00
62b716f469 fix Getting Started step "docker-compose up -d nginx mysql" missing workspace container. 2018-05-27 11:21:22 +08:00
10ba847415 Merge pull request #1489 from 0reo/elasticsearch-doc-patch-1
corrected elasticsearch default username
2018-05-27 10:13:05 +08:00
a0595491a2 Merge pull request #1491 from falinsky/patch-1
Fix env variable name
2018-05-27 10:11:29 +08:00
7c88c33b29 Merge pull request #1504 from dougblackjr/master
Adding pcntl to php-fpm, php-worker, addresses #1419
2018-05-27 10:08:53 +08:00
808bd72d13 Fix #1544, Unable to locate package libgmp-dev. (#1569)
* Fix #1544, Unable to locate package libgmp-dev.
2018-05-27 10:06:00 +08:00
07410e80cf Merge pull request #1566 from bestlong/fix-php-fpm-ext-soap
Fix install php ext SOAP No package php-soap available
2018-05-26 07:59:33 +08:00
d1170f51c8 Fix install php ext SOAP No package php-soap available 2018-05-26 07:47:29 +08:00
8158b6f50e Merge pull request #1565 from bestlong/fix-php5-xdebug
fix #1535 xdebug installation fails when php version is 5.6
2018-05-26 07:40:15 +08:00
97adef735a fix #1535 xdebug installation fails when php version is 5.6 2018-05-26 07:32:33 +08:00
6e6284d00f Merge pull request #1561 from cyberbit/patch-1
Update index.md
2018-05-25 23:53:58 +08:00
890faa2f3c Update index.md
Improve working
2018-05-25 10:04:59 -05:00
f6f37ec020 Update index.md
Add information for Windows hosts when adding custom cron jobs
2018-05-25 10:01:35 -05:00
20464d1bd2 Merge pull request #1510 from brunen9/remove-unused-variable-php-fpm-install-postgres
Remove unused variable PHP_FPM_INSTALL_POSTGRES.
2018-05-25 22:19:34 +08:00
a5813de5bf Merge pull request #1380 from glorand/patch-1
Update min. docker version
2018-05-25 22:13:32 +08:00
aee1adb0a1 Merge pull request #1533 from kaliberx/master
Add subversion support in workspace
2018-05-25 22:10:58 +08:00
dd322a0e71 Merge pull request #1524 from SDLyu/update-env-example
Update env-example
2018-05-25 22:06:09 +08:00
99c2c846ff Merge pull request #1522 from jeliasson/workspace-imagemagick
Update apt sources before installing imagemagick
2018-05-25 22:04:59 +08:00
d08177d2c2 fix wrong spelling 2018-05-20 19:22:30 +08:00
b990af3353 Add subversion support in workspace 2018-05-07 10:58:55 +02:00
b2c09f6b15 Update Dockerfile
fix pip v10 error 
Traceback (most recent call last):
  File "/usr/bin/pip", line 9, in <module>
    from pip import main
ImportError: cannot import name main
2018-05-07 15:03:52 +08:00
9e5fdda294 Update env-example 2018-05-05 22:06:15 +08:00
77bea30cb0 Update apt sources before installing imagemagick
#1512
2018-05-04 22:04:35 +02:00
dac336e6a1 fix: Fix Drush install for the workspace 2018-05-02 10:49:19 -03:00
d142500216 Remove unused variable PHP_FPM_INSTALL_POSTGRES. 2018-04-27 21:48:16 +06:00
ad1509dd62 Update docuumentation for COMPOSE_PROJECT_NAME 2018-04-25 08:38:43 +02:00
9ab84c5174 Add COMPOSE_PROJECT_NAME to env-example 2018-04-25 08:30:33 +02:00
6b6e2d5f86 Adding pcntl to php-fpm, php-worker, addresses #1419 2018-04-24 10:25:16 -04:00
3ad17eca0a - Fix Drush installation
- Consistent naming of arguments
- Add deprecated install note
2018-04-23 20:30:47 +02:00
f54e6baf02 Fix env variable name
Fixed env variable name which points to host source directory.
2018-04-20 14:12:00 +03:00
59f3b574da corrected elasticsearch default username 2018-04-19 14:25:19 -04:00
0c41fceae1 add missing DRUSH_VERSION to workspace arguments 2018-04-06 18:06:44 +03:00
76b95752bf fix travis tests 2018-04-06 17:24:11 +03:00
101986c76f merge the php versions dockerfiles in php-fpm, workspace and php-worker 2018-04-06 10:04:56 +03:00
add78a19f4 fix travis build failure 2018-04-06 04:53:04 +03:00
a0c5ef75d2 upgrade docker-compose to v3 2018-04-05 16:43:22 +03:00
06353031ac Merge pull request #1466 from fenech/master
Add missing syntax to continue line
2018-04-05 06:53:22 +03:00
1f193a5310 Add missing syntax to continue line 2018-04-04 20:29:14 +02:00
b45bf46436 Merge pull request #1446 from ByZer0/debug-workspace-scheduler
Use xdebug with Laravel scheduler inside workspace container
2018-04-04 17:48:55 +03:00
0586247e3f Merge branch 'master' into debug-workspace-scheduler 2018-04-04 17:48:46 +03:00
0f8891b56c Merge pull request #1464 from danhunsaker/copy-vs-add
Apply COPY vs ADD best practices
2018-04-04 17:36:31 +03:00
ebeb9e43f3 Merge pull request #1458 from larastarscn/master
[feature] support for php worker hot load
2018-04-04 17:35:29 +03:00
52afd9ef62 Merge pull request #1396 from taufek/tj-volume-cached
Use Cached Flag for Application Path Volume
2018-04-04 17:34:20 +03:00
31a4e29c81 Apply COPY vs ADD best practices
Should only use `ADD` for URLs (and even then, `curl` or `wget` are preferred, for numerous reasons, even within this repo) and when extracting archive contents as part of the `ADD` operation; otherwise `COPY` is clearer and (slightly) more efficient.
2018-04-04 06:13:28 -06:00
067218e010 Merge pull request #1461 from Omranic/patch-1
Fix minor typo!
2018-04-02 12:26:34 +08:00
5ed3526e17 Fix minor typo! 2018-04-02 02:53:23 +02:00
54e6d66c83 [feature] support for php worker hot load 2018-03-30 14:30:49 +08:00
8a090f3e46 Merge pull request #1454 from red-smeg/patch-1
Modify the sample config to support symfony 4
2018-03-29 16:19:21 +08:00
1e5d787a7e Merge pull request #1457 from bestlong/fix-elasticsearch
fix #1418 elasticsearch up fails.
2018-03-29 16:18:07 +08:00
83140d9939 fix #1418 elasticsearch up fails. 2018-03-29 15:34:38 +08:00
9b85ac6c2b Modify the sample config to support symfony 4
This allows Laradock to work with symfony 4 projects
2018-03-28 14:46:19 -04:00
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
245515b41d Use xDebug with Laravel scheduler inside workspace container. 2018-03-22 12:38:42 +03: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
00e43655bd Use Volume Cached Flag for Application Path Volume
Use cached flag to speed up file sync performance.

References:

https://docs.docker.com/docker-for-mac/osxfs-caching/#tuning-with-consistent-cached-and-delegated-configurations

https://blog.docker.com/2017/05/user-guided-caching-in-docker-for-mac/
2018-02-27 00:59:30 +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
545d50105c Update min. docker version 2018-02-16 10:36:22 +02: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
2a74f1433c fix Documentation error for install xDebug 2018-01-17 11:52:30 +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
152c896515 Merge pull request #1210 from nellonican/fix-env-vars
Fix variable issues.
2017-10-25 15:36:27 +03:00
4682aff622 Merge pull request #1209 from nellonican/fix-grammar
Fix grammar
2017-10-25 15:35:49 +03:00
a31114955a Remove variable 2017-10-25 12:12:20 +02:00
f4ede08b9c Fix variable issues.
Also made the variables introduced with the psql client consistent
with the existing ones. Fixes #1208
2017-10-25 11:40:47 +02:00
eac717fb21 Fix grammar 2017-10-25 09:32:12 +02:00
c05c675408 Merge pull request #1201 from geraintdong/Add_pg_client_to_workspace_phpfpm
Add pg client to workspace phpfpm
2017-10-25 01:05:29 +03:00
60998ed1e4 Merge branch 'master' into Add_pg_client_to_workspace_phpfpm 2017-10-24 13:03:56 +07:00
05879bdda2 Merge pull request #1203 from arkadiusjonczek/master
Add Grafana container under Random Tools in introduction documentation
2017-10-20 06:14:13 +03:00
70a7bdca19 Merge remote-tracking branch 'upstream/master' 2017-10-19 18:52:50 +02:00
a71d5a8548 add Grafana to Random Tools list in introduction documentation 2017-10-19 18:51:17 +02:00
9fa3733622 Merge pull request #1202 from arkadiusjonczek/master
Add Grafana Container to laradock.io :)
2017-10-19 19:41:51 +03:00
b8e657b68f Merge remote-tracking branch 'upstream/master' 2017-10-19 14:31:02 +02:00
8aaa074af2 add Use Grafana section to documention 2017-10-19 14:29:50 +02:00
3005dde240 Merge pull request #1200 from TitasGailius/master
Use node:alpine image for laravel-echo-server
2017-10-18 22:15:42 +03:00
b3922995e1 Merge pull request #1199 from zuohuadong/master
add postgres for php-fpm
2017-10-18 22:15:22 +03:00
49e48edefd Merge remote-tracking branch 'upstream/master' 2017-10-18 14:41:20 +02:00
182386b514 removed grafana-storage 2017-10-18 14:38:10 +02:00
bea122a1fd removed depends_on from grafana and added Grafana port to env-example 2017-10-18 14:34:27 +02:00
7fb00658cf Add support for pgclient to workspace & php-fpm
+ Update sample .env file
2017-10-18 10:18:23 +07:00
ee03bb607f Add support for pgclient to workspace & php-fpm 2017-10-18 10:04:23 +07:00
9abd7c30f2 Use node:alpine image for laravel-echo-server 2017-10-17 18:05:21 +03:00
6a4509c0ca Merge branch 'master' into master 2017-10-17 12:27:42 +08:00
7f5d9d07d1 add postgresql for php-fpm 2017-10-17 12:23:48 +08:00
a5c505bf28 Merge pull request #1181 from zuohuadong/patch-9
use caddy in Apache-2.0
2017-10-14 22:33:43 +03:00
427088e11b Merge pull request #1189 from maxhelias/feature/maildev
Add MailDev Container
2017-10-14 22:32:19 +03:00
3467821c28 Merge pull request #1184 from zuohuadong/patch-12
alpine be quckly
2017-10-14 22:31:51 +03:00
f9553dff4c Merge pull request #1183 from zuohuadong/patch-11
update jenkins version
2017-10-14 22:31:23 +03:00
8e556008d8 Add MailDev Container 2017-10-14 20:01:16 +02:00
17ea7b313f update 2017-10-12 18:54:09 +08:00
dff0e82ddb alpine be quckly
alpine be quckly
2017-10-12 18:42:11 +08:00
1702a5cc09 rm version 2017-10-12 18:40:12 +08:00
f15bc8e6b7 update jenkins version
update jenkins version to 2.73.2
update docker-compose version to 1.16.1
update TINI version to 0.16.1
2017-10-12 18:37:26 +08:00
903c77421c Merge pull request #1182 from khoanguyen96/fix-typos-contributing
fix typos in contributing
2017-10-12 05:47:33 +03:00
2bedfdd9d7 fix typos in contributing 2017-10-11 18:08:24 -07:00
525c4313a0 use caddy in Apache-2.0
see:   https://caddyserver.com/products/licenses

so, I use caddypulg, it is  free
2017-10-11 19:48:07 +08:00
01c358b6bc Merge pull request #1176 from taufek/tj-chrome-driver-var
Move Chrome Driver Version to Env
2017-10-06 20:44:30 +03:00
a0685705c0 Merge pull request #1175 from taufek/tj-dusk-doc-2
Update Dusk Documentation
2017-10-06 20:43:40 +03:00
98b2b2e47b Update Dusk Documentation
Added new option on how to setup and run Dusk tests without Selenium.
2017-10-07 00:47:02 +08:00
eeee14338f Move Chrome Driver Version to Env
This will allow us to upgrade chrome driver easily. Set the default chrome driver to 2.32.

Also remove the comment and empty line to avoid getting below warning:

```
[WARNING]: Empty continuation lines will become errors in a future release.
```
2017-10-06 22:58:52 +08:00
a2edf57e3b Merge pull request #1172 from taufek/tj-chrome-for-dusk
Install Dependencies to Run Dusk Tests
2017-10-03 11:43:49 +03:00
881cbfb8c2 Install Dependencies to Run Dusk Tests
**Why we need this change?**

Currently we are unable to run Dusk (Browser) tests in workspace container. This change,
is to allow us to install all dependencies needed to run Dust test which consists of

1. Linux packages such as xvfb (x-virtual frame buffer to run browser in headless container) and etc.
2. Chrome browser.
3. Chrome driver.

To install the Dusk dependencies.
1. Update `WORKSPACE_INSTALL_DUSK_DEPS` to true.
2. Run `docker-compose build workspace`.

I've also added couple of aliases to facilitate the preparation of test environment.

1. xvfb = `Xvfb -ac :0 -screen 0 1024x768x16 &` (run x-virtual frame buffer in the background)
2. serve = `php artisan serve --quiet &` (run laravel app in the background)

Once those are installed, we will need to update the default chrome driver argument in Laravel 5.5
from `--headless` to `sandbox`. Below are the steps to run Dusk in workspace.

1. `docker-compose run workspace bash` (get into workspace).
2. `laravel new dusk-test` (generate new lavarel app for testing purpose).
3. `cd dusk-test` (change directory to newly generate app folder).
4. `composer install --dev laravel/dusk` (install dusk via composer).
5. `php artisan dusk:install` (generate dusk files).
6. `sed -i '/APP_URL/d' .env` (remove APP_URL entry in .env)
7. `echo 'APP_URL=localhost:8000' >> .env` (add new APP_URL entry in .env)
8. `sed -i--'s/headless/no-sandbox/g' tests/DuskTestCase.php` (replace the default chrome driver argument).
9. `xvfb` (alias to run Xvfb instance in the background).
10. `serve` (alias to run laravel app in the background).
11. `dusk` (alias to run Dusk test).
2017-10-02 20:08:01 +08:00
508e9ebd9e added grafana docker container 2017-10-01 02:36:55 +02:00
6cff904eba Merge pull request #1170 from id2s/feature-php-ldap-workspace
Add PHP LDAP extension if needed
2017-09-29 20:15:46 +03:00
04770bc4ec Add PHP LDAP extension if needed 2017-09-29 14:56:28 +02:00
1281490c39 Merge pull request #1168 from nunomazer/master
Add pecl before mongo install on Dockerfile-56 to stop mongodb breaking building
2017-09-29 00:57:45 +03:00
3f7988060e Add pecl before mongo install 2017-09-28 17:16:05 -03:00
615cb72eab Merge pull request #1167 from ifdattic/patch-1
Fix typo
2017-09-28 19:22:37 +03:00
e036e69da2 Fix typo 2017-09-28 16:59:21 +03:00
8989c73711 Merge pull request #1163 from luciano-jr/FixAerospikeClientLink
Fix aerospike client link
2017-09-25 23:32:49 +03:00
61144ab2d9 Change the wrong link to aerospike client PHP 2017-09-25 18:30:00 +01:00
221edf4bb2 Merge pull request #23 from laradock/master
Just update the fork
2017-09-25 18:17:10 +01:00
ca9c07eb76 Add Postgre SQL Support for php-fpm & edit webserver session storage location
+ Add sample config
2017-09-25 18:40:47 +07:00
8f7b1b7e9f Add Postgre SQL Support for php-fpm & edit webserver session storage location
+ Fix bug
2017-09-25 18:31:16 +07:00
3cc917c9de Add Postgre SQL Support for php-fpm & edit webserver session storage location 2017-09-25 17:30:30 +07:00
5a073ae841 Merge pull request #1158 from taufek/tj-aliases-update
Add artisan aliases
2017-09-25 01:16:41 +03:00
8c1e71eca5 Add artisan aliases
Added below php artisan commonly used aliases:

```
dusk =  php artisan dusk
fresh = php artisan migrate:fresh
refresh = php artisan migrate:refresh
rollback = php artisan migrate:rollback
```
2017-09-24 22:16:04 +08:00
c0e823b8d2 Merge pull request #1153 from taufek/tj-terraform
Add Terraform to Workspace
2017-09-24 00:56:25 +03:00
8cb4c8d62e Add Terraform to Workspace
Added Terraform (www.terraform.io) binary to workspace container.
This tool is useful to spawn resources to multiple cloud providers via config files.
2017-09-23 15:49:55 +08:00
f765afd4c2 Merge pull request #1151 from luciano-jr/AddAerospikeExtensionOnPhpFpm
Add aerospike.so line to be load on php-fpm
2017-09-22 19:32:19 +03:00
6ea49a0683 Merge pull request #1150 from samdark/fix-typo
Fixed typo in "nginx"
2017-09-22 19:31:55 +03:00
998aa1365e Add aerospike.so line to be load on php-fpm 2017-09-22 12:23:20 +01:00
f2420ec52c Merge pull request #22 from laradock/master
Just update the fork
2017-09-22 12:13:42 +01:00
fe254e86e3 Fixed typo in nginx [skip ci] 2017-09-22 13:10:08 +03:00
53b7f75500 Merge pull request #1145 from vjekoslav/master
Fixes issue #1139, non-responding mirrors.aliyun.com. Reverses 6440ca…
2017-09-20 20:09:47 +03:00
4150f0b140 Fixes issue #1139, non-responding mirrors.aliyun.com. Reverses 6440ca841a 2017-09-20 05:44:36 -07:00
d340b6e60f Merge pull request #1140 from deleugpn/patch-1
Make it easier to solve nginx build stuck
2017-09-19 01:39:15 +03:00
e7357eab83 Merge pull request #1142 from roelal/apache_socket_timeout
add APACHE_PHP_UPSTREAM_TIMEOUT
2017-09-19 01:38:28 +03:00
110aa91c59 add APACHE_PHP_UPSTREAM_TIMEOUT 2017-09-18 15:24:48 +02:00
e5aef41dd2 Make it easier to solve nginx build stuck 2017-09-18 13:07:30 +02:00
ae048e6c66 Merge pull request #1137 from JoelRSimpson/patch-1
Update docker-compose.yml
2017-09-15 22:08:55 +03:00
a5f3a92eb4 Update docker-compose.yml
It looks like the 
     219: user: "1000:50" 
statement was added a while back to fix a file permissions issue, but on a completely fresh up it keeps mysql from starting, generating the following.  Removing the line allowed everything to work properly.:

mysql_1                | Initializing database
mysql_1                | mysqld: Can't create/write to file '/var/lib/mysql/is_writable' (Errcode: 13 - Permission denied)
mysql_1                | 2017-09-14T23:55:30.989254Z 0 [Note] Basedir set to /usr/
mysql_1                | 2017-09-14T23:55:30.989559Z 0 [Warning] The syntax '--symbolic-links/-s' is deprecated and will be removed in a future release
mysql_1                | 2017-09-14T23:55:30.989602Z 0 [Warning] 'NO_ZERO_DATE', 'NO_ZERO_IN_DATE' and 'ERROR_FOR_DIVISION_BY_ZERO' sql modes should be used with strict mode. They will be merged with strict mode in a future release.
mysql_1                | 2017-09-14T23:55:30.990877Z 0 [ERROR] --initialize specified but the data directory exists and is not writable. Aborting.
mysql_1                | 2017-09-14T23:55:30.990886Z 0 [ERROR] Aborting
2017-09-14 17:17:34 -07:00
655b9a1526 Merge pull request #1128 from chkm8/aws-ebcli
Aws ebcli
2017-09-13 00:17:05 +03:00
7ac37ecd35 added aws docs 2017-09-12 04:30:53 +08:00
792789e479 added eb cli container 2017-09-12 04:13:44 +08:00
801ccd47d2 Merge pull request #1121 from freearhey/master
Added support of ImageMagick
2017-09-06 14:59:29 +03:00
5c5f94600a Rename laravel.pool.conf to xlaravel.pool.conf
Fix issue #1011
2017-09-06 00:22:18 +03:00
b2e372054f Fixed php-fpm build 2017-09-05 23:36:30 +03:00
0a23d53ee5 Move php-imagick to php-fpm and enable it 2017-09-05 21:47:47 +03:00
f6552aca97 Added support of ImageMagick to php-fpm 2017-09-05 21:09:34 +03:00
e9806d9bca Merge pull request #1120 from WanchiaTsai/add-env-path-for-node
add ENV PATH, fix the problem of docker-compose exec workspace npm(or…
2017-09-05 16:30:44 +03:00
e56801846b add ENV PATH, fix the problem of docker-compose exec workspace npm(or other node-related script). 2017-09-05 11:06:53 +08:00
f9e6acd4e1 Fix syntax error 2017-09-05 03:15:24 +03:00
b61ff4f484 Added support of ImageMagick 2017-09-05 02:36:24 +03:00
8485add87a Merge pull request #1117 from masterjus/fix-php_redis-installation
Fix Php Redis extension installation
2017-09-04 22:40:21 +03:00
d3fb967f0f Merge pull request #21 from laradock/master
Up-to-date
2017-09-04 10:49:41 +01:00
a36620c3bd Restart build 2017-09-04 12:05:34 +03:00
cddc934e1e Fix phpreddis installation for all versions of php 2017-09-04 11:33:14 +03:00
53b3ad0f7e Fix Php Redis extension installation 2017-08-31 19:29:19 +03:00
fdcf9117ac Merge pull request #1115 from joaorobertopb/patch-1
Changes to correct version of dockerfile
2017-08-30 01:07:37 +03:00
f800a3221a Changes to correct version of dockerfile
- Removes extra spaces
2017-08-29 12:54:01 -03:00
bf691337f1 Merge pull request #20 from laradock/master
Just update the fork
2017-05-24 17:56:05 +01:00
eefd04dbfc add pg_dump 2017-04-22 13:54:19 +08:00
a657dce572 Merge pull request #3 from laradock/master
update
2017-04-22 13:49:39 +08:00
d616545268 Merge pull request #19 from laradock/master
Just update the fork
2017-03-14 13:00:16 +00:00
57ecd6e515 Merge pull request #18 from laradock/master
Just update the fork repository
2017-03-07 13:22:10 +00: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
5b5ba53112 Merge pull request #17 from laradock/master
Just update the fork project
2017-01-23 16:06:25 +00:00
bd87a26db1 Merge pull request #16 from laradock/master
Just update the fork
2017-01-09 17:46:36 +00:00
c0283da6ee Merge pull request #15 from laradock/master
Just update the fork to keep sync
2016-12-30 11:34:19 +00:00
e372d624a6 Merge pull request #14 from laradock/master
Just update the fork repository
2016-12-07 13:18:41 +00:00
db6c6e7e0f Merge pull request #13 from luciano-jr/feature/vue-cli-workspace
Add vue-cli on workspace npm global installers
2016-09-06 23:44:14 +01:00
150 changed files with 8068 additions and 3489 deletions

View File

@ -2,6 +2,6 @@
##### I completed the 3 steps below:
- [] I've read the [Contribution Guide](http://laradock.io/contributing).
- [] I've updated the **documentation**. (refer to [this](http://laradock.io/contributing/#update-the-documentation-site) for how to do so).
- [] I enjoyed my time contributing and making developer's life easier :)
- [ ] I've read the [Contribution Guide](http://laradock.io/contributing).
- [ ] I've updated the **documentation**. (refer to [this](http://laradock.io/contributing/#update-the-documentation-site) for how to do so).
- [ ] I enjoyed my time contributing and making developer's life easier :)

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>

51
.github/README.md vendored
View File

@ -1,12 +1,12 @@
<p align="center">
<img src="https://s19.postimg.org/jblfytw9f/laradock-logo.jpg" alt="Laradock Logo"/>
<img src="/.github/home-page-images/laradock-logo.jpg?raw=true" alt="Laradock Logo"/>
</p>
<p align="center">A Docker PHP development environment that facilitates running PHP Apps on Docker</p>
<p align="center">
<a href="https://travis-ci.org/laradock/laradock"><img src="https://travis-ci.org/laradock/laradock.svg?branch=master" alt="Build status"></a>
<a href="https://github.com/laradock/laradock/stargazers"><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

Binary file not shown.

After

Width:  |  Height:  |  Size: 287 KiB

10
.gitignore vendored
View File

@ -3,4 +3,12 @@
/data
.env
/.project
.docker-sync
.docker-sync
/jenkins/jenkins_home
/logstash/pipeline/*.conf
/logstash/config/pipelines.yml
/nginx/ssl/*.crt
/nginx/ssl/*.key
/nginx/ssl/*.csr

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:5.6:php-fpm:
variables:
PHP_VERSION: "5.6"
script:
- docker-compose build php-fpm
build:7.0:php-fpm:
variables:
PHP_VERSION: "7.0"
script:
- docker-compose build php-fpm
build:7.1:php-fpm:
variables:
PHP_VERSION: "7.1"
script:
- docker-compose build php-fpm
build:7.2:php-fpm:
variables:
PHP_VERSION: "7.2"
script:
- docker-compose build php-fpm
build:5.6:workspace:
variables:
PHP_VERSION: "5.6"
script:
- docker-compose build workspace
build:7.0:workspace:
variables:
PHP_VERSION: "7.0"
script:
- docker-compose build workspace
build:7.1:workspace:
variables:
PHP_VERSION: "7.1"
script:
- docker-compose build workspace
build:7.2:workspace:
variables:
PHP_VERSION: "7.2"
script:
- docker-compose build workspace

View File

@ -4,41 +4,34 @@ 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"
- PHP_VERSION=56 BUILD_SERVICE=workspace
- PHP_VERSION=70 BUILD_SERVICE=workspace
- PHP_VERSION=71 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=56 BUILD_SERVICE="php-worker hhvm"
- PHP_VERSION=70 BUILD_SERVICE="php-worker hhvm"
- PHP_VERSION=71 BUILD_SERVICE="php-worker hhvm"
- PHP_VERSION=56 BUILD_SERVICE=mssql
- PHP_VERSION=70 BUILD_SERVICE=mssql
- PHP_VERSION=71 BUILD_SERVICE=mssql
- 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 selenium jenkins proxy proxy2 balancer"
- PHP_VERSION=70 BUILD_SERVICE="memcached beanstalkd beanstalkd-console rabbitmq adminer elasticsearch certbot mailhog selenium jenkins proxy proxy2 balancer"
- PHP_VERSION=71 BUILD_SERVICE="memcached beanstalkd beanstalkd-console rabbitmq adminer elasticsearch certbot mailhog selenium jenkins proxy proxy2 balancer"
matrix:
- HUGO_VERSION=0.20.2
- PHP_VERSION=5.6 BUILD_SERVICE=workspace
- PHP_VERSION=7.0 BUILD_SERVICE=workspace
- PHP_VERSION=7.1 BUILD_SERVICE=workspace
- PHP_VERSION=7.2 BUILD_SERVICE=workspace
- PHP_VERSION=5.6 BUILD_SERVICE=php-fpm
- PHP_VERSION=7.0 BUILD_SERVICE=php-fpm
- PHP_VERSION=7.1 BUILD_SERVICE=php-fpm
- PHP_VERSION=7.2 BUILD_SERVICE=php-fpm
- PHP_VERSION=hhvm BUILD_SERVICE=hhvm
# - PHP_VERSION=5.6 BUILD_SERVICE=php-worker
- PHP_VERSION=7.0 BUILD_SERVICE=php-worker
- PHP_VERSION=7.1 BUILD_SERVICE=php-worker
- PHP_VERSION=7.2 BUILD_SERVICE=php-worker
- PHP_VERSION=NA BUILD_SERVICE=solr
- PHP_VERSION=NA BUILD_SERVICE="mssql rethinkdb aerospike"
- PHP_VERSION=NA BUILD_SERVICE="blackfire minio percona nginx caddy apache2 mysql mariadb postgres postgres-postgis neo4j mongo redis"
- 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:
- curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

View File

@ -1,4 +1,4 @@
baseurl = "http://laradock.io/"
baseurl = "https://laradock.io/"
languageCode = "en-us"
publishDir = "../docs"
title = "Laradock"

View File

@ -13,8 +13,8 @@ If you have questions about how to use Laradock, please direct your questions to
## Found an Issue
If have an issue or you found a typo in the documentation, you can help us by
opnening an [Issue](https://github.com/laradock/laradock/issues).
If you have an issue or you found a typo in the documentation, you can help us by
opening an [Issue](https://github.com/laradock/laradock/issues).
**Steps to do before opening an Issue:**
@ -24,7 +24,7 @@ opnening an [Issue](https://github.com/laradock/laradock/issues).
If your issue appears to be a bug, and hasn't been reported, then open a new issue.
*This Help us to maximize the effort we can spend fixing issues and adding new
*This helps us maximize the effort we can spend fixing issues and adding new
features, by not reporting duplicate issues.*
@ -61,7 +61,7 @@ To update the sidebar or add a new section to it, you can edit this `DOCUMENTATI
## Support new Software (Add new Container)
* Forke the repo and clone the code.
* Fork the repo and clone the code.
* Create folder as the software name (example: `mysql` - `nginx`).
@ -73,7 +73,7 @@ To update the sidebar or add a new section to it, you can edit this `DOCUMENTATI
* Add the environment variables to the `env-example` if you have any.
* **MOST IMPORTANTLY** updated the `Documentation`, add as much information.
* **MOST IMPORTANTLY** update the `Documentation`, add as much information.
* Submit a Pull Request, to the `master` branch.
@ -81,7 +81,7 @@ To update the sidebar or add a new section to it, you can edit this `DOCUMENTATI
## Edit supported Software (Edit a Container)
* Forke the repo and clone the code.
* Fork the repo and clone the code.
* Open the software (container) folder (example: `mysql` - `nginx`).
@ -100,7 +100,7 @@ To update the sidebar or add a new section to it, you can edit this `DOCUMENTATI
* Search for the image in the [Docker Hub](https://hub.docker.com/search/) and find the source..
*Most of the image in Laradock are offical images, these projects live in other repositories and maintainer by other orgnizations.*
*Most of the image in Laradock are offical images, these projects live in other repositories and maintainer by other organizations.*
**Note:** Laradock has two base images for (`Workspace` and `php-fpm`, mainly made to speed up the build time on your machine.

File diff suppressed because it is too large Load Diff

View File

@ -7,7 +7,7 @@ weight: 2
## Requirements
- [Git](https://git-scm.com/downloads)
- [Docker](https://www.docker.com/products/docker/) `>= 1.12`
- [Docker](https://www.docker.com/products/docker/) `>= 17.12`
@ -81,10 +81,10 @@ We'll need to do step 1 of the [Usage](#Usage) section now to make this happen.
cp env-example .env
```
At the top, change the `APPLICATION` variable to your project path.
At the top, change the `APP_CODE_PATH_HOST` variable to your project path.
```
APPLICATION=../project-z/
APP_CODE_PATH_HOST=../project-z/
```
Make sure to replace `project-z` with your project folder name.
@ -94,7 +94,7 @@ Make sure to replace `project-z` with your project folder name.
<a name="B"></a>
### B) Setup for Multiple Projects:
> (Follow these steps if you want a single Docker environment for all your project)
> (Follow these steps if you want a single Docker environment for all your projects)
1 - Clone this repository anywhere on your machine (similar to [Steps A.2. from above](#A2)):
@ -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.**
@ -142,7 +143,7 @@ You can rename the config files, project folders and domains as you like, just m
If you are using **Docker Toolbox** (VM), do one of the following:
- Upgrade to Docker [Native](https://www.docker.com/products/docker) for Mac/Windows (Recommended). Check out [Upgrading Laradock](/documentation/#upgrading-laradock)
- Use Laradock v3.\*. Visit the [Laradock-ToolBox](https://github.com/laradock/laradock/tree/Laradock-ToolBox) branch. *(outdated)*
- Use Laradock v3.\*. Visit the [Laradock-ToolBox](https://github.com/laradock/laradock/tree/LaraDock-ToolBox) branch. *(outdated)*
<br>
@ -160,10 +161,13 @@ We recommend using a Docker version which is newer than 1.13.
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.
You can edit the `.env` file to choose 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 being 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`
By default the containers that will be created have the current directory name as suffix (e.g. `laradock_workspace_1`). This can cause mixture of data inside the container volumes if you use laradock in multiple projects. In this case, either read the guide for [multiple projects](#B) or change the variable `COMPOSE_PROJECT_NAME` to something unique like your project name.
2 - Build the environment and run it using `docker-compose`
In this example we'll see how to run NGINX (web server) and MySQL (database engine) to host a PHP Web Scripts:
@ -171,10 +175,10 @@ In this example we'll see how to run NGINX (web server) and MySQL (database engi
docker-compose up -d nginx mysql
```
**Note**: The `workspace` and `php-fpm` will run automatically in most of the cases, so no need to specify them in the `up` command. If you couldn't find them running then you need specify them as follow: `docker-compose up -d nginx php-fpm mysql workspace`.
**Note**: All the web server containers `nginx`, `apache` ..etc depends on `php-fpm`, which means if you run any of them, they will automatically launch the `php-fpm` container for you, so no need to explicitly specify it in the `up` command. If you have to do so, you may need to run them as follows: `docker-compose up -d nginx php-fpm mysql`.
You can select your own combination of containers form [this list](http://laradock.io/introduction/#supported-software-images).
You can select your own combination of containers from [this list](http://laradock.io/introduction/#supported-software-images).
*(Please note that sometimes we forget to update the docs, so check the `docker-compose.yml` file to see an updated list of all available containers).*
@ -201,7 +205,7 @@ docker-compose exec --user=laradock workspace bash
*You can change the PUID (User id) and PGID (group id) variables from the `.env` file)*
<br>
4 - Update your project configurations to use the database host
4 - Update your project configuration to use the database host
Open your PHP project's `.env` file or whichever configuration file you are reading from, and set the database host `DB_HOST` to `mysql`:
@ -212,4 +216,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

@ -197,7 +197,7 @@ This is needed Prior to Creating Let's Encypt
## Run Your Caddy Container without the -d flag and Generate SSL with Let's Encrypt
```
$root@server:~/laravel/laradock/caddy# docker-compose up caddy
$root@server:~/laravel/laradock# docker-compose up caddy
```
You'll be prompt here to enter your email... you may enter it or not
@ -218,8 +218,8 @@ After it finishes, press `Ctrl` + `C` to exit.
## Stop All Containers and ReRun Caddy and Other Containers on Background
```
$root@server:~/laravel/laradock/caddy# docker-compose down
$root@server:~/laravel/laradock/caddy# docker-compose up -d mysql caddy
$root@server:~/laravel/laradock# docker-compose down
$root@server:~/laravel/laradock# docker-compose up -d mysql caddy
```
View your Site in the Browser Securely Using HTTPS (https://yourdomain.com)
@ -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
@ -418,7 +418,7 @@ laradock_workspace_1 /sbin/my_init Up 0.0.0.0:2222-
<a name="enablePhpXdebug"></a>
## Enable xDebug on php-fpm
In a host terminal sitting in the laradock folder, run: `.php-fpm/xdebug status`
In a host terminal sitting in the laradock folder, run: `./php-fpm/xdebug status`
You should see something like the following:
```
@ -430,7 +430,7 @@ Zend Engine v3.0.0, Copyright (c) 1998-2016 Zend Technologies
with Xdebug v2.4.1, Copyright (c) 2002-2016, by Derick Rethans
```
Other commands include `.php-fpm/xdebug start | stop`.
Other commands include `./php-fpm/xdebug start | stop`.
If you have enabled `xdebug=true` in `docker-compose.yml/php-fpm`, `xdebug` will already be running when
`php-fpm` is started and listening for debug info on port 9000.
@ -516,9 +516,9 @@ If you have enabled `xdebug=true` in `docker-compose.yml/php-fpm`, `xdebug` will
<a name="UsagePHPStormDebugSite"></a>
### Debug WebSite
- In case xDebug is disabled, from the `laradock` folder run:
`.php-fpm/xdebug start`.
`./php-fpm/xdebug start`.
- To switch xdebug off, run:
`.php-fpm/xdebug stop`
`./php-fpm/xdebug stop`
- Start Remote Debugging
- ![DebugRemoteOn](/images/photos/PHPStorm/DebugRemoteOn.png)
@ -565,6 +565,187 @@ Assuming that you are in laradock folder, type:
<a name="Laravel-Dusk"></a>
# Running Laravel Dusk Tests
- [Option 1: Without Selenium](#option1-dusk)
- [Option 2: With Selenium](#option2-dusk)
<a name="option1-dusk"></a>
## Option 1: Without Selenium
- [Intro](#option1-dusk-intro)
- [Workspace Setup](#option1-workspace-setup)
- [Application Setup](#option1-application-setup)
- [Choose Chrome Driver Version (Optional)](#option1-choose-chrome-driver-version)
- [Run Dusk Tests](#option1-run-dusk-tests)
<a name="option1-dusk-intro"></a>
### Intro
This is a guide to run Dusk tests in your `workspace` container with headless
google-chrome and chromedriver. It has been tested with Laravel 5.4 and 5.5.
<a name="option1-workspace-setup"></a>
### Workspace Setup
Update your .env with following entries:
```
...
# Install Laravel installer bin to setup demo app
WORKSPACE_INSTALL_LARAVEL_INSTALLER=true
...
# Install all the necessary dependencies for running Dusk tests
WORKSPACE_INSTALL_DUSK_DEPS=true
...
```
Then run below to build your workspace.
```
docker-compose build workspace
```
<a name="option1-application-setup"></a>
### Application Setup
Run a `workspace` container and you will be inside the container at `/var/www` directory.
```
docker-compose run workspace bash
/var/www#> _
```
Create new Laravel application named `dusk-test` and install Laravel Dusk package.
```
/var/www> laravel new dusk-test
/var/www> cd dusk-test
/var/www/dusk-test> composer require --dev laravel/dusk
/var/www/dusk-test> php artisan dusk:install
```
Create `.env.dusk.local` by copying from `.env` file.
```
/var/www/dusk-test> cp .env .env.dusk.local
```
Update the `APP_URL` entry in `.env.dusk.local` to local Laravel server.
```
APP_URL=http://localhost:8000
```
You will need to run chromedriver with `headless` and `no-sandbox` flag. In Laravel Dusk 2.x it is
already set `headless` so you just need to add `no-sandbox` flag. If you on previous version 1.x,
you will need to update your `DustTestCase#driver` as shown below.
```
<?php
...
abstract class DuskTestCase extends BaseTestCase
{
...
/**
* Update chrome driver with below flags
*/
protected function driver()
{
$options = (new ChromeOptions)->addArguments([
'--disable-gpu',
'--headless',
'--no-sandbox'
]);
return RemoteWebDriver::create(
'http://localhost:9515', DesiredCapabilities::chrome()->setCapability(
ChromeOptions::CAPABILITY, $options
)
);
}
}
```
<a name="option1-choose-chrome-driver-version"></a>
### Choose Chrome Driver Version (Optional)
You could choose to use either:
1. Chrome Driver shipped with Laravel Dusk. (Default)
2. Chrome Driver installed in `workspace` container. (Required tweak on DuskTestCase class)
For Laravel 2.x, you need to update `DuskTestCase#prepare` method if you wish to go with option #2.
```
<?php
...
abstract class DuskTestCase extends BaseTestCase
{
...
public static function prepare()
{
// Only add this line if you wish to use chrome driver installed in workspace container.
// You might want to read the file path from env file.
static::useChromedriver('/usr/local/bin/chromedriver');
static::startChromeDriver();
}
```
For Laravel 1.x, you need to add `DuskTestCase#buildChromeProcess` method if you wish to go with option #2.
```
<?php
...
use Symfony\Component\Process\ProcessBuilder;
abstract class DuskTestCase extends BaseTestCase
{
...
/**
* Only add this method if you wish to use chrome driver installed in workspace container
*/
protected static function buildChromeProcess()
{
return (new ProcessBuilder())
->setPrefix('chromedriver')
->getProcess()
->setEnv(static::chromeEnvironment());
}
...
}
```
<a name="option1-run-dusk-tests"></a>
### Run Dusk Tests
Run local server in `workspace` container and run Dusk tests.
```
# alias to run Laravel server in the background (php artisan serve --quiet &)
/var/www/dusk-test> serve
# alias to run Dusk tests (php artisan dusk)
/var/www/dusk-test> dusk
PHPUnit 6.4.0 by Sebastian Bergmann and contributors.
. 1 / 1 (100%)
Time: 837 ms, Memory: 6.00MB
```
<a name="option2-dusk"></a>
## Option 2: With Selenium
- [Intro](#dusk-intro)
- [DNS Setup](#dns-setup)
- [Docker Compose Setup](#docker-compose)
@ -572,7 +753,7 @@ Assuming that you are in laradock folder, type:
- [Running Laravel Dusk Tests](#running-tests)
<a name="dusk-intro"></a>
## Intro
### Intro
Setting up Laravel Dusk tests to run with Laradock appears be something that
eludes most Laradock users. This guide is designed to show you how to wire them
up to work together. This guide is written with macOS and Linux in mind. As such,
@ -583,7 +764,7 @@ This guide assumes you know how to use a DNS forwarder such as `dnsmasq` or are
with editing the `/etc/hosts` file for one-off DNS changes.
<a name="dns-setup"></a>
## DNS Setup
### DNS Setup
According to RFC-2606, only four TLDs are reserved for local testing[^1]:
- `.test`
@ -617,7 +798,7 @@ This will ensure that when navigating to `myapp.test`, it will route the
request to `127.0.0.1` which will be handled by Nginx in Laradock.
<a name="docker-compose"></a>
## Docker Compose setup
### Docker Compose setup
In order to make the Selenium container talk to the Nginx container appropriately,
the `docker-compose.yml` needs to be edited to accommodate this. Make the following
changes:
@ -640,7 +821,7 @@ necessary for running Dusk tests. These changes also link the `nginx` environmen
variable to the domain you wired up in your hosts file.
<a name="laravel-dusk-setup"></a>
## Laravel Dusk Setup
### Laravel Dusk Setup
In order to make Laravel Dusk make the proper request to the Selenium container,
you have to edit the `DuskTestCase.php` file that's provided on the initial
@ -650,13 +831,13 @@ Remote Web Driver attempts to use to set up the Selenium session.
One recommendation for this is to add a separate config option in your `.env.dusk.local`
so it's still possible to run your Dusk tests locally should you want to.
### .env.dusk.local
#### .env.dusk.local
```
...
USE_SELENIUM=true
```
### DuskTestCase.php
#### DuskTestCase.php
```php
abstract class DuskTestCase extends BaseTestCase
{
@ -677,7 +858,7 @@ abstract class DuskTestCase extends BaseTestCase
```
<a name="running-tests"></a>
## Running Laravel Dusk Tests
### Running Laravel Dusk Tests
Now that you have everything set up, to run your Dusk tests, you have to SSH
into the workspace container as you normally would:

View File

@ -35,7 +35,7 @@ cp env-example .env
3 - Run your containers:
```shell
docker-compose up -d nginx mysql redis beanstalkd
docker-compose up -d nginx mysql phpmyadmin redis workspace
```
4 - Open your project's `.env` file and set the following:
@ -58,7 +58,7 @@ That's it! enjoy :)
<a name="features"></a>
## Features
- Easy switch between PHP versions: 7.1, 7.0, 5.6...
- Easy switch between PHP versions: 7.2, 7.1, 5.6...
- Choose your favorite database engine: MySQL, Postgres, MariaDB...
- Run your own combination of software: Memcached, HHVM, Beanstalkd...
- Every software runs on a separate container: PHP-FPM, NGINX, PHP-CLI...
@ -97,13 +97,13 @@ Beanstalkd - RabbitMQ - PHP Worker
- **Queueing Management:**
Beanstalkd Console - RabbitMQ Console
- **Random Tools:**
HAProxy - Certbot - Blackfire - Selenium - Jenkins - ElasticSearch - Kibana - Mailhog - Minio - Varnish - Swoole - Laravel Echo...
Mailu - HAProxy - Certbot - Blackfire - Selenium - Jenkins - ElasticSearch - Kibana - Grafana - Gitlab - Mailhog - MailDev - Minio - Varnish - Swoole - NetData - Portainer - Laravel Echo - Phalcon...
Laradock introduces the **Workspace** Image, as a development environment.
It contains a rich set of helpful tools, all pre-configured to work and integrate with almost any combination of Containers and tools you may choose.
**Workspace Image Tools**
PHP CLI - Composer - Git - Linuxbrew - Node - V8JS - Gulp - SQLite - xDebug - Envoy - Deployer - Vim - Yarn - SOAP - Drush...
PHP CLI - Composer - Git - Linuxbrew - Node - V8JS - Gulp - SQLite - xDebug - Envoy - Deployer - Vim - Yarn - SOAP - Drush - WP-CLI...
You can choose, which tools to install in your workspace container and other containers, from the `.env` 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,23 @@
<article class="article">
<div class="wrapper">
<!-- Wrapper arround google ads for seedanddew -->
<div class='snd-ad'>
<!-- ------------------------------------------------------------------------- -->
<!-- Google Ads -->
<script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
<!-- 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>
<!-- ------------------------------------------------------------------------- -->
</div>
{{ 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

@ -70,6 +70,27 @@
{{ end }}
<script src="{{ "javascripts/modernizr.js" | absURL }}"></script>
<script>
// ------------------------------------------------------------
// seedanddew.com integration
var SeedAndDewConfig = {};
(function() {
SeedAndDewConfig['adClass'] = "snd-ad";
/* * * DON'T EDIT BELOW THIS LINE * * */
SeedAndDewConfig['projectId'] = 'd69f3ea2-1e30-44c7-bd2a-87686c0136e6';
SeedAndDewConfig['loadStartTime'] = performance.now();
SeedAndDewConfig['apiVersion'] = '2018-05-28'
SeedAndDewConfig['sessionId'] = Math.random().toString(36).substring(2, 15);
var snd = document.createElement('script');
snd.type = 'text/javascript';
snd.async = true;
snd.src = 'https://www.seedanddew.com/static/embed.min.js';
(document.getElementsByTagName('head')[0] ||
document.getElementsByTagName('body')[0]).appendChild(snd);
})();
// ------------------------------------------------------------
</script>
{{ with .RSSLink }}
<link href="{{ . }}" rel="alternate" type="application/rss+xml" title="{{ $.Site.Title }}" />
<link href="{{ . }}" rel="feed" type="application/rss+xml" title="{{ $.Site.Title }}" />

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

@ -1,9 +1,6 @@
FROM adminer:4.3.0
FROM adminer:4
# 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
COPY aerospike.conf /etc/aerospike/aerospike.conf

View File

@ -1,13 +1,17 @@
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}
EXPOSE 80 443

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

1
aws/.gitignore vendored Normal file
View File

@ -0,0 +1 @@
./ssh_keys

17
aws/Dockerfile Normal file
View File

@ -0,0 +1,17 @@
FROM python:slim
LABEL maintainer="melchabcede@gmail.com"
RUN pip install --upgrade --no-cache-dir awsebcli
RUN apt-get -yqq update && apt-get -yqq install git-all
#NOTE: make sure ssh keys are added to ssh_keys folder
RUN mkdir root/tmp_ssh
COPY /ssh_keys/. /root/.ssh/
RUN cd /root/.ssh && chmod 600 * && chmod 644 *.pub
# Set default work directory
WORKDIR /var/www

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,16 +1,7 @@
FROM phusion/baseimage:latest
FROM alpine
LABEL maintainer="Mahmoud Zalt <mahmoud@zalt.me>"
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
RUN apt-get update
RUN apt-get install -y beanstalkd
RUN apt-get clean && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
VOLUME /var/lib/beanstalkd/data
RUN apk add --no-cache beanstalkd
EXPOSE 11300
CMD ["/usr/bin/beanstalkd"]
ENTRYPOINT ["/usr/bin/beanstalkd"]

View File

@ -1,25 +1,30 @@
FROM alpine:3.5
FROM golang:alpine
MAINTAINER Eric Pfeiffer <computerfr33k@users.noreply.github.com>
LABEL maintainer="Huadong Zuo <admin@zuohuadong.cn>"
ENV caddy_version=0.10.5
ARG plugins=http.git
RUN apk add --no-cache \
openssh \
git \
build-base \
&& mkdir -p $GOPATH/src/golang.org/x/ \
&& cd $GOPATH/src/golang.org/x/ \
&& git clone https://github.com/golang/sys.git sys \
&& go get github.com/abiosoft/caddyplug/caddyplug \
&& caddyplug install-caddy \
apk del build-base
LABEL caddy_version="$caddy_version" architecture="amd64"
ARG plugins="cors"
RUN apk update \
&& apk upgrade \
&& apk add --no-cache openssh-client git tar curl
## ARG plugins="cors cgi cloudflare azure linode"
RUN curl --silent --show-error --fail --location \
--header "Accept: application/tar+gzip, application/x-gzip, application/octet-stream" -o - \
"https://caddyserver.com/download/linux/amd64?plugins=${plugins}" \
| tar --no-same-owner -C /usr/bin/ -xz caddy \
&& mv /usr/bin/caddy /usr/bin/caddy \
&& chmod 0755 /usr/bin/caddy
RUN caddyplug install ${plugins}
EXPOSE 80 443 2015
RUN apk add --no-cache inotify-tools \
&& echo -e "#!/bin/sh\nwhile inotifywait -e modify /etc/caddy; do\n\tpkill caddy\ndone " >> /start.sh \
&& chmod +x /start.sh
EXPOSE 80 443
WORKDIR /var/www/public
CMD ["/usr/bin/caddy", "-conf", "/etc/Caddyfile"]
CMD ["sh","-c","/start.sh & /usr/bin/caddy -conf /etc/caddy/Caddyfile -agree"]

View File

@ -25,6 +25,27 @@
# 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
}
laradock3.demo:80 {
import authlist.conf
root /var/www/public
}

View File

@ -0,0 +1 @@
basicauth / laradock laradock

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

3
couchdb/Dockerfile Normal file
View File

@ -0,0 +1,3 @@
FROM couchdb
EXPOSE 5984

View File

@ -1,16 +1,7 @@
version: '2'
version: '3'
services:
### Applications Code Container #############################
applications:
image: tianon/true
volumes:
- applications-sync:/var/www:nocopy # nocopy is required
### Volumes Setup #############################################
volumes:
applications-sync:
external:

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,3 @@
FROM registry:2
LABEL maintainer="ahkui <ahkui@outlook.com>"

View File

@ -1,12 +1,12 @@
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
src: '${APPLICATION}' # host source directory
src: '${APP_CODE_PATH_HOST}' # host source directory
sync_userid: 1000 # giving permissions to www-data user (as defined in nginx and php-fpm Dockerfiles)
sync_strategy: '${DOCKER_SYNC_STRATEGY}' # for osx use 'native_osx', for windows use 'unison'

3
docker-web-ui/Dockerfile Normal file
View File

@ -0,0 +1,3 @@
FROM konradkleine/docker-registry-frontend:v2
LABEL maintainer="ahkui <ahkui@outlook.com>"

View File

@ -1,3 +1,3 @@
FROM docker.elastic.co/elasticsearch/elasticsearch:5.4.1
FROM docker.elastic.co/elasticsearch/elasticsearch:6.2.3
EXPOSE 9200 9300

View File

@ -1,83 +1,188 @@
############################
# General Setup
############################
###########################################################
###################### General Setup ######################
###########################################################
### Application Path
# Point to your application code, will be available at `/var/www`.
### Paths #################################################
APPLICATION=../
# Point to the path of your applications code on your host
APP_CODE_PATH_HOST=../
### Data Path:
# For all storage systems.
# Point to where the `APP_CODE_PATH_HOST` should be in the container
APP_CODE_PATH_CONTAINER=/var/www
DATA_SAVE_PATH=~/.laradock/data
# You may add flags to the path `:cached`, `:delegated`. When using Docker Sync add `:nocopy`
APP_CODE_CONTAINER_FLAG=:cached
### PHP version
# Applies to the Workspace and PHP-FPM containers (Does not apply to HHVM)
# Accepted values: 71 - 70 - 56
# Choose storage path on your machine. For all storage systems
DATA_PATH_HOST=~/.laradock/data
PHP_VERSION=71
### Drivers ################################################
### PHP interpreter
# Accepted values: hhvm - php-fpm
# All volumes driver
VOLUMES_DRIVER=local
# All Networks driver
NETWORKS_DRIVER=bridge
### Docker compose files ##################################
# Select which docker-compose files to include. If using docker-sync append `:docker-compose.sync.yml` at the end
COMPOSE_FILE=docker-compose.yml
# Change the separator from : to ; on Windows
COMPOSE_PATH_SEPARATOR=:
# Define the prefix of container names. This is useful if you have multiple projects that use laradock to have seperate containers per project.
COMPOSE_PROJECT_NAME=laradock
### PHP Version ###########################################
# Select a PHP version of the Workspace and PHP-FPM containers (Does not apply to HHVM). Accepted values: 7.2 - 7.1 - 7.0 - 5.6
PHP_VERSION=7.2
### Phalcon Version ###########################################
# Select a Phalcon version of the Workspace and PHP-FPM containers (Does not apply to HHVM). Accepted values: 3.4.0+
PHALCON_VERSION=3.4.1
### PHP Interpreter #######################################
# Select the PHP Interpreter. Accepted values: hhvm - php-fpm
PHP_INTERPRETER=php-fpm
############################
# Containers Customization
############################
### Docker Host IP ########################################
### WORKSPACE ##########################################################################################################
# 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 need to change the sources (i.e. to China), set CHANGE_SOURCE to true
CHANGE_SOURCE=false
### Docker Sync ###########################################
# If you are using Docker Sync. For `osx` use 'native_osx', for `windows` use 'unison', for `linux` docker-sync is not required
DOCKER_SYNC_STRATEGY=native_osx
###########################################################
################ Containers Customization #################
###########################################################
### WORKSPACE #############################################
WORKSPACE_COMPOSER_GLOBAL_INSTALL=true
WORKSPACE_COMPOSER_REPO_PACKAGIST=
WORKSPACE_INSTALL_NODE=true
WORKSPACE_NODE_VERSION=node
WORKSPACE_NPM_REGISTRY=
WORKSPACE_INSTALL_YARN=true
WORKSPACE_YARN_VERSION=latest
WORKSPACE_INSTALL_NPM_GULP=true
WORKSPACE_INSTALL_NPM_BOWER=false
WORKSPACE_INSTALL_NPM_VUE_CLI=true
WORKSPACE_INSTALL_PHPREDIS=true
WORKSPACE_INSTALL_WORKSPACE_SSH=false
WORKSPACE_INSTALL_SUBVERSION=false
WORKSPACE_INSTALL_XDEBUG=false
WORKSPACE_INSTALL_PHPDBG=false
WORKSPACE_INSTALL_SSH2=false
WORKSPACE_INSTALL_LDAP=false
WORKSPACE_INSTALL_GMP=false
WORKSPACE_INSTALL_SOAP=false
WORKSPACE_INSTALL_IMAP=false
WORKSPACE_INSTALL_MONGO=false
WORKSPACE_INSTALL_AMQP=false
WORKSPACE_INSTALL_MSSQL=false
WORKSPACE_INSTALL_NODE=false
WORKSPACE_INSTALL_YARN=false
WORKSPACE_INSTALL_DRUSH=false
WORKSPACE_DRUSH_VERSION=8.1.17
WORKSPACE_INSTALL_DRUPAL_CONSOLE=false
WORKSPACE_INSTALL_WP_CLI=false
WORKSPACE_INSTALL_AEROSPIKE=false
WORKSPACE_INSTALL_V8JS=false
WORKSPACE_COMPOSER_GLOBAL_INSTALL=false
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
WORKSPACE_INSTALL_PYTHON=false
WORKSPACE_INSTALL_IMAGE_OPTIMIZERS=false
WORKSPACE_INSTALL_IMAGEMAGICK=false
WORKSPACE_INSTALL_TERRAFORM=false
WORKSPACE_INSTALL_DUSK_DEPS=false
WORKSPACE_INSTALL_PG_CLIENT=false
WORKSPACE_INSTALL_PHALCON=false
WORKSPACE_INSTALL_SWOOLE=false
WORKSPACE_INSTALL_LIBPNG=false
WORKSPACE_INSTALL_IONCUBE=false
WORKSPACE_INSTALL_MYSQL_CLIENT=false
WORKSPACE_PUID=1000
WORKSPACE_PGID=1000
WORKSPACE_NODE_VERSION=stable
WORKSPACE_YARN_VERSION=latest
WORKSPACE_CHROME_DRIVER_VERSION=2.42
WORKSPACE_TIMEZONE=UTC
WORKSPACE_SSH_PORT=2222
### PHP_FPM ############################################################################################################
### PHP_FPM ###############################################
PHP_FPM_INSTALL_XDEBUG=false
PHP_FPM_INSTALL_MONGO=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_PHPREDIS=false
PHP_FPM_INSTALL_ZIP_ARCHIVE=true
PHP_FPM_INSTALL_BCMATH=true
PHP_FPM_INSTALL_MYSQLI=true
PHP_FPM_INSTALL_INTL=true
PHP_FPM_INSTALL_IMAGEMAGICK=true
PHP_FPM_INSTALL_OPCACHE=true
PHP_FPM_INSTALL_IMAGE_OPTIMIZERS=true
PHP_FPM_INSTALL_PHPREDIS=true
PHP_FPM_INSTALL_MEMCACHED=false
PHP_FPM_INSTALL_OPCACHE=false
PHP_FPM_INSTALL_XDEBUG=false
PHP_FPM_INSTALL_PHPDBG=false
PHP_FPM_INSTALL_IMAP=false
PHP_FPM_INSTALL_MONGO=false
PHP_FPM_INSTALL_AMQP=false
PHP_FPM_INSTALL_MSSQL=false
PHP_FPM_INSTALL_SSH2=false
PHP_FPM_INSTALL_SOAP=false
PHP_FPM_INSTALL_GMP=false
PHP_FPM_INSTALL_EXIF=false
PHP_FPM_INSTALL_AEROSPIKE=false
PHP_FPM_INSTALL_MYSQLI=false
PHP_FPM_INSTALL_TOKENIZER=false
PHP_FPM_INSTALL_INTL=false
PHP_FPM_INSTALL_PGSQL=false
PHP_FPM_INSTALL_GHOSTSCRIPT=false
PHP_FPM_INSTALL_LDAP=false
PHP_FPM_INSTALL_PHALCON=false
PHP_FPM_INSTALL_SWOOLE=false
PHP_FPM_INSTALL_IMAGE_OPTIMIZERS=false
PHP_FPM_INSTALL_PG_CLIENT=false
PHP_FPM_INSTALL_PCNTL=false
PHP_FPM_INSTALL_CALENDAR=false
PHP_FPM_INSTALL_FAKETIME=false
PHP_FPM_INSTALL_IONCUBE=false
PHP_FPM_FAKETIME=-0
PHP_FPM_INSTALL_APCU=false
PHP_FPM_INSTALL_YAML=false
### NGINX ##############################################################################################################
### PHP_WORKER ############################################
PHP_WORKER_INSTALL_PGSQL=false
PHP_WORKER_INSTALL_BCMATH=false
PHP_WORKER_INSTALL_PHALCON=false
PHP_WORKER_INSTALL_SOAP=false
PHP_WORKER_INSTALL_ZIP_ARCHIVE=false
PHP_WORKER_INSTALL_MYSQL_CLIENT=false
PHP_WORKER_INSTALL_AMQP=false
PHP_WORKER_PUID=1000
PHP_WORKER_PGID=1000
### NGINX #################################################
NGINX_HOST_HTTP_PORT=80
NGINX_HOST_HTTPS_PORT=443
@ -85,8 +190,9 @@ NGINX_HOST_LOG_PATH=./logs/nginx/
NGINX_SITES_PATH=./nginx/sites/
NGINX_PHP_UPSTREAM_CONTAINER=php-fpm
NGINX_PHP_UPSTREAM_PORT=9000
NGINX_SSL_PATH=./nginx/ssl/
### APACHE #############################################################################################################
### APACHE ################################################
APACHE_HOST_HTTP_PORT=80
APACHE_HOST_HTTPS_PORT=443
@ -94,10 +200,12 @@ APACHE_HOST_LOG_PATH=./logs/apache2
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 #################################################
MYSQL_VERSION=8.0
MYSQL_VERSION=latest
MYSQL_DATABASE=default
MYSQL_USER=default
MYSQL_PASSWORD=secret
@ -105,11 +213,15 @@ MYSQL_PORT=3306
MYSQL_ROOT_PASSWORD=root
MYSQL_ENTRYPOINT_INITDB=./mysql/docker-entrypoint-initdb.d
### REDIS ##############################################################################################################
### REDIS #################################################
REDIS_PORT=6379
### Percona ############################################################################################################
### ZooKeeper #############################################
ZOOKEEPER_PORT=2181
### Percona ###############################################
PERCONA_DATABASE=homestead
PERCONA_USER=homestead
@ -118,13 +230,13 @@ PERCONA_PORT=3306
PERCONA_ROOT_PASSWORD=root
PERCONA_ENTRYPOINT_INITDB=./percona/docker-entrypoint-initdb.d
### MSSQL ##############################################################################################################
### MSSQL #################################################
MSSQL_DATABASE=homestead
MSSQL_PASSWORD=yourStrong(!)Password
MSSQL_PORT=1433
### MARIADB ############################################################################################################
### MARIADB ###############################################
MARIADB_DATABASE=default
MARIADB_USER=default
@ -133,14 +245,15 @@ MARIADB_PORT=3306
MARIADB_ROOT_PASSWORD=root
MARIADB_ENTRYPOINT_INITDB=./mariadb/docker-entrypoint-initdb.d
### POSTGRES ###########################################################################################################
### POSTGRES ##############################################
POSTGRES_DB=default
POSTGRES_USER=default
POSTGRES_PASSWORD=secret
POSTGRES_PORT=5432
POSTGRES_ENTRYPOINT_INITDB=./postgres/docker-entrypoint-initdb.d
### RABBITMQ ###########################################################################################################
### RABBITMQ ##############################################
RABBITMQ_NODE_HOST_PORT=5672
RABBITMQ_MANAGEMENT_HTTP_HOST_PORT=15672
@ -148,43 +261,43 @@ RABBITMQ_MANAGEMENT_HTTPS_HOST_PORT=15671
RABBITMQ_DEFAULT_USER=guest
RABBITMQ_DEFAULT_PASS=guest
### ELASTICSEARCH ######################################################################################################
### ELASTICSEARCH #########################################
ELASTICSEARCH_HOST_HTTP_PORT=9200
ELASTICSEARCH_HOST_TRANSPORT_PORT=9300
### KIBANA #############################################################################################################
### KIBANA ################################################
KIBANA_HTTP_PORT=5601
### MEMCACHED ##########################################################################################################
### MEMCACHED #############################################
MEMCACHED_HOST_PORT=11211
### BEANSTALKD CONSOLE #################################################################################################
### BEANSTALKD CONSOLE ####################################
BEANSTALKD_CONSOLE_BUILD_PATH=./beanstalkd-console
BEANSTALKD_CONSOLE_CONTAINER_NAME=beanstalkd-console
BEANSTALKD_CONSOLE_HOST_PORT=2080
### BEANSTALKD #########################################################################################################
### BEANSTALKD ############################################
BEANSTALKD_HOST_PORT=11300
### SELENIUM ###########################################################################################################
### SELENIUM ##############################################
SELENIUM_PORT=4444
### MINIO ##############################################################################################################
### MINIO #################################################
MINIO_PORT=9000
### ADMINER ############################################################################################################
### ADMINER ###############################################
ADM_PORT=8080
ADM_INSTALL_MSSQL=false
### PHP MY ADMIN #######################################################################################################
### PHP MY ADMIN ##########################################
# Accepted values: mariadb - mysql
@ -197,103 +310,345 @@ PMA_PASSWORD=secret
PMA_ROOT_PASSWORD=secret
PMA_PORT=8080
### VARNISH ############################################################################################################
### MAILDEV ###############################################
MAILDEV_HTTP_PORT=1080
MAILDEV_SMTP_PORT=25
### VARNISH ###############################################
VARNISH_CONFIG=/etc/varnish/default.vcl
VARNISH_PORT=8080
VARNISH_BACKEND_PORT=8888
VARNISHD_PARAMS=-p default_ttl=3600 -p default_grace=3600
### Varnish ############################################################################################################
### Varnish ###############################################
# Proxy 1
VARNISH_PROXY1_CACHE_SIZE=128m
VARNISH_PROXY1_BACKEND_HOST=workspace
VARNISH_PROXY1_SERVER=SERVER1
# Proxy 2
VARNISH_PROXY2_CACHE_SIZE=128m
VARNISH_PROXY2_BACKEND_HOST=workspace
VARNISH_PROXY2_SERVER=SERVER2
### HAPROXY ############################################################################################################
### HAPROXY ###############################################
HAPROXY_HOST_HTTP_PORT=8085
### JENKINS ############################################################################################################
### JENKINS ###############################################
JENKINS_HOST_HTTP_PORT=8090
JENKINS_HOST_SLAVE_AGENT_PORT=50000
JENKINS_HOME=./jenkins/jenkins_home
### BLACKFIRE ##########################################################################################################
### GRAFANA ###############################################
# Create an account on blackfire.io. Don't enable blackfire and xDebug at the same time.
# visit https://blackfire.io/docs/24-days/06-installation#install-probe-debian for more info.
GRAFANA_PORT=3000
### BLACKFIRE #############################################
# Create an account on blackfire.io. Don't enable blackfire and xDebug at the same time. # visit https://blackfire.io/docs/24-days/06-installation#install-probe-debian for more info.
INSTALL_BLACKFIRE=false
BLACKFIRE_CLIENT_ID=<client_id>
BLACKFIRE_CLIENT_TOKEN=<client_token>
BLACKFIRE_SERVER_ID=<server_id>
BLACKFIRE_SERVER_TOKEN=<server_token>
### AEROSPIKE ##########################################################################################################
### AEROSPIKE #############################################
AEROSPIKE_SERVICE_PORT=3000
AEROSPIKE_FABRIC_PORT=3001
AEROSPIKE_HEARTBEAT_PORT=3002
AEROSPIKE_INFO_PORT=3003
### RETHINKDB ##########################################################################################################
# for all versions
AEROSPIKE_PHP_REPOSITORY=https://github.com/aerospike/aerospike-client-php/archive/master.tar.gz
# for php 5.6
# AEROSPIKE_PHP_REPOSITORY=https://github.com/aerospike/aerospike-client-php5/archive/3.4.15.tar.gz
### RETHINKDB #############################################
RETHINKDB_PORT=8090
### MONGODB ############################################################################################################
### MONGODB ###############################################
MONGODB_PORT=27017
### CADDY ##############################################################################################################
### CADDY #################################################
CADDY_HOST_HTTP_PORT=80
CADDY_HOST_HTTPS_PORT=443
CADDY_HOST_LOG_PATH=./logs/caddy
CADDY_CUSTOM_CADDYFILE=./caddy/Caddyfile
CADDY_CONFIG_PATH=./caddy/caddy
### LARAVEL ECHO SERVER ################################################################################################
### LARAVEL ECHO SERVER ###################################
LARAVEL_ECHO_SERVER_PORT=6001
### DOCKER-SYNC ################################################################################################
### THUMBOR ############################################################################################################
# osx: 'native_osx' (default)
# windows: 'unison'
# linux: docker-sync not required
THUMBOR_PORT=8000
THUMBOR_LOG_FORMAT="%(asctime)s %(name)s:%(levelname)s %(message)s"
THUMBOR_LOG_DATE_FORMAT="%Y-%m-%d %H:%M:%S"
MAX_WIDTH=0
MAX_HEIGHT=0
MIN_WIDTH=1
MIN_HEIGHT=1
ALLOWED_SOURCES=[]
QUALITY=80
WEBP_QUALITY=None
PNG_COMPRESSION_LEVEL=6
AUTO_WEBP=False
MAX_AGE=86400
MAX_AGE_TEMP_IMAGE=0
RESPECT_ORIENTATION=False
IGNORE_SMART_ERRORS=False
PRESERVE_EXIF_INFO=False
ALLOW_ANIMATED_GIFS=True
USE_GIFSICLE_ENGINE=False
USE_BLACKLIST=False
LOADER=thumbor.loaders.http_loader
STORAGE=thumbor.storages.file_storage
AWS_ACCESS_KEY_ID=
AWS_SECRET_ACCESS_KEY=
RESULT_STORAGE=thumbor.result_storages.file_storage
ENGINE=thumbor.engines.pil
SECURITY_KEY="MY_SECURE_KEY"
ALLOW_UNSAFE_URL=True
ALLOW_OLD_URLS=True
FILE_LOADER_ROOT_PATH=/data/loader
HTTP_LOADER_CONNECT_TIMEOUT=5
HTTP_LOADER_REQUEST_TIMEOUT=20
HTTP_LOADER_FOLLOW_REDIRECTS=True
HTTP_LOADER_MAX_REDIRECTS=5
HTTP_LOADER_FORWARD_USER_AGENT=False
HTTP_LOADER_DEFAULT_USER_AGENT="Thumbor/5.2.1"
HTTP_LOADER_PROXY_HOST=None
HTTP_LOADER_PROXY_PORT=None
HTTP_LOADER_PROXY_USERNAME=None
HTTP_LOADER_PROXY_PASSWORD=None
HTTP_LOADER_CA_CERTS=None
HTTP_LOADER_VALIDATE_CERTS=True
HTTP_LOADER_CLIENT_KEY=None
HTTP_LOADER_CLIENT_CERT=None
HTTP_LOADER_CURL_ASYNC_HTTP_CLIENT=False
STORAGE_EXPIRATION_SECONDS=2592000
STORES_CRYPTO_KEY_FOR_EACH_IMAGE=False
FILE_STORAGE_ROOT_PATH=/data/storage
UPLOAD_MAX_SIZE=0
UPLOAD_ENABLED=False
UPLOAD_PHOTO_STORAGE=thumbor.storages.file_storage
UPLOAD_DELETE_ALLOWED=False
UPLOAD_PUT_ALLOWED=False
UPLOAD_DEFAULT_FILENAME=image
MONGO_STORAGE_SERVER_HOST=mongo
MONGO_STORAGE_SERVER_PORT=27017
MONGO_STORAGE_SERVER_DB=thumbor
MONGO_STORAGE_SERVER_COLLECTION=images
REDIS_STORAGE_SERVER_HOST=redis
REDIS_STORAGE_SERVER_PORT=6379
REDIS_STORAGE_SERVER_DB=0
REDIS_STORAGE_SERVER_PASSWORD=None
REDIS_RESULT_STORAGE_SERVER_HOST=redis
REDIS_RESULT_STORAGE_SERVER_PORT=6379
REDIS_RESULT_STORAGE_SERVER_DB=0
REDIS_RESULT_STORAGE_SERVER_PASSWORD=None
MEMCACHE_STORAGE_SERVERS=["localhost:11211",]
MIXED_STORAGE_FILE_STORAGE=thumbor.storages.no_storage
MIXED_STORAGE_CRYPTO_STORAGE=thumbor.storages.no_storage
MIXED_STORAGE_DETECTOR_STORAGE=thumbor.storages.no_storage
META_CALLBACK_NAME=None
DETECTORS=[]
FACE_DETECTOR_CASCADE_FILE=haarcascade_frontalface_alt.xml
OPTIMIZERS=[]
JPEGTRAN_PATH=/usr/bin/jpegtran
PROGRESSIVE_JPEG=True
FILTERS=["thumbor.filters.brightness", "thumbor.filters.contrast", "thumbor.filters.rgb", "thumbor.filters.round_corner", "thumbor.filters.quality", "thumbor.filters.noise", "thumbor.filters.watermark", "thumbor.filters.equalize", "thumbor.filters.fill", "thumbor.filters.sharpen", "thumbor.filters.strip_icc", "thumbor.filters.frame", "thumbor.filters.grayscale", "thumbor.filters.rotate", "thumbor.filters.format", "thumbor.filters.max_bytes", "thumbor.filters.convolution", "thumbor.filters.blur", "thumbor.filters.extract_focal", "thumbor.filters.no_upscale"]
RESULT_STORAGE_EXPIRATION_SECONDS=0
RESULT_STORAGE_FILE_STORAGE_ROOT_PATH=/data/result_storage
RESULT_STORAGE_STORES_UNSAFE=False
REDIS_QUEUE_SERVER_HOST=redis
REDIS_QUEUE_SERVER_PORT=6379
REDIS_QUEUE_SERVER_DB="0"
REDIS_QUEUE_SERVER_PASSWORD=None
SQS_QUEUE_KEY_ID=None
SQS_QUEUE_KEY_SECRET=None
SQS_QUEUE_REGION=us-east-1
USE_CUSTOM_ERROR_HANDLING=False
ERROR_HANDLER_MODULE=thumbor.error_handlers.sentry
ERROR_FILE_LOGGER=None
ERROR_FILE_NAME_USE_CONTEXT="False"
SENTRY_DSN_URL=
TC_AWS_REGION=eu-west-1
TC_AWS_ENDPOINT=None
TC_AWS_STORAGE_BUCKET=
TC_AWS_STORAGE_ROOT_PATH=
TC_AWS_LOADER_BUCKET=
TC_AWS_LOADER_ROOT_PATH=
TC_AWS_RESULT_STORAGE_BUCKET=
TC_AWS_RESULT_STORAGE_ROOT_PATH=
TC_AWS_STORAGE_SSE=False
TC_AWS_STORAGE_RRS=False
TC_AWS_ENABLE_HTTP_LOADER=False
TC_AWS_ALLOWED_BUCKETS=False
TC_AWS_STORE_METADATA=False
DOCKER_SYNC_STRATEGY=native_osx
### SOLR ##################################################
##### TO BE CONTINUE .................................
SOLR_VERSION=5.5
SOLR_PORT=8983
SOLR_DATAIMPORTHANDLER_MYSQL=false
SOLR_DATAIMPORTHANDLER_MSSQL=false
# ......... Missing: neo4j mongo rethinkdb redis aerospike pgadmin...
# .........
# .........
### GITLAB ###############################################
GITLAB_POSTGRES_INIT=true
GITLAB_HOST_HTTP_PORT=8989
GITLAB_HOST_HTTPS_PORT=9898
GITLAB_HOST_SSH_PORT=2289
GITLAB_DOMAIN_NAME=http://localhost
GITLAB_ROOT_PASSWORD=laradock
GITLAB_HOST_LOG_PATH=./logs/gitlab
GITLAB_POSTGRES_HOST=postgres
GITLAB_POSTGRES_USER=laradock_gitlab
GITLAB_POSTGRES_PASSWORD=laradock_gitlab
GITLAB_POSTGRES_DB=laradock_gitlab
############################
# Miscellaneous
############################
### GITLAB-RUNNER ###############################################
GITLAB_CI_SERVER_URL=http://localhost:8989
GITLAB_RUNNER_REGISTRATION_TOKEN=<my-registration-token>
GITLAB_REGISTER_NON_INTERACTIVE=true
# Replace with your Docker Host IP (will be appended to /etc/hosts)
### JUPYTERHUB ###############################################
JUPYTERHUB_POSTGRES_INIT=true
JUPYTERHUB_POSTGRES_HOST=postgres
JUPYTERHUB_POSTGRES_USER=laradock_jupyterhub
JUPYTERHUB_POSTGRES_PASSWORD=laradock_jupyterhub
JUPYTERHUB_POSTGRES_DB=laradock_jupyterhub
JUPYTERHUB_PORT=9991
JUPYTERHUB_OAUTH_CALLBACK_URL=http://laradock:9991/hub/oauth_callback
JUPYTERHUB_OAUTH_CLIENT_ID={GITHUB_CLIENT_ID}
JUPYTERHUB_OAUTH_CLIENT_SECRET={GITHUB_CLIENT_SECRET}
JUPYTERHUB_CUSTOM_CONFIG=./jupyterhub/jupyterhub_config.py
JUPYTERHUB_USER_DATA=/jupyterhub
JUPYTERHUB_USER_LIST=./jupyterhub/userlist
JUPYTERHUB_ENABLE_NVIDIA=false
DOCKER_HOST_IP=10.0.75.1
### IPYTHON ##################################################
LARADOCK_IPYTHON_CONTROLLER_IP=127.0.0.1
### NETDATA ###############################################
NETDATA_PORT=19999
### REDISWEBUI #########################################
REDIS_WEBUI_USERNAME=laradock
REDIS_WEBUI_PASSWORD=laradock
REDIS_WEBUI_CONNECT_HOST=redis
REDIS_WEBUI_CONNECT_PORT=6379
REDIS_WEBUI_PORT=9987
### MONGOWEBUI ###############################################
MONGO_WEBUI_PORT=3000
MONGO_WEBUI_ROOT_URL=http://localhost
MONGO_WEBUI_MONGO_URL=mongodb://mongo:27017/
MONGO_WEBUI_INSTALL_MONGO=false
### METABASE ###############################################
METABASE_PORT=3030
METABASE_DB_FILE=metabase.db
METABASE_JAVA_TIMEZONE=US/Pacific
### IDE ###############################################
IDE_THEIA_PORT=987
IDE_WEBIDE_PORT=984
IDE_CODIAD_PORT=985
IDE_ICECODER_PORT=986
### DOCKERREGISTRY ###############################################
DOCKER_REGISTRY_PORT=5000
### DOCKERWEBUI ###############################################
DOCKER_WEBUI_REGISTRY_HOST=docker-registry
DOCKER_WEBUI_REGISTRY_PORT=5000
# if have use https proxy please set to 1
DOCKER_REGISTRY_USE_SSL=0
DOCKER_REGISTRY_BROWSE_ONLY=false
DOCKER_WEBUI_PORT=8754
### MAILU ###############################################
MAILU_VERSION=latest
MAILU_RECAPTCHA_PUBLIC_KEY=<YOUR_RECAPTCHA_PUBLIC_KEY>
MAILU_RECAPTCHA_PRIVATE_KEY=<YOUR_RECAPTCHA_PRIVATE_KEY>
# Main mail domain
MAILU_HTTP_PORT=6080
MAILU_HTTPS_PORT=60443
MAILU_DOMAIN=example.com
MAILU_INIT_ADMIN_USERNAME=laradock
MAILU_INIT_ADMIN_PASSWORD=laradock
# Hostnames for this server, separated with comas
MAILU_HOSTNAMES=mail.example.com,alternative.example.com,yetanother.example.com
# Postmaster local part (will append the main mail domain)
MAILU_POSTMASTER=admin
# Set to a randomly generated 16 bytes string
MAILU_SECRET_KEY=ChangeMeChangeMe
# Choose how secure connections will behave (value: letsencrypt, cert, notls, mail)
MAILU_TLS_FLAVOR=cert
# Authentication rate limit (per source IP address)
MAILU_AUTH_RATELIMIT=10/minute;1000/hour
# Opt-out of statistics, replace with "True" to opt out
MAILU_DISABLE_STATISTICS=False
# Message size limit in bytes
# Default: accept messages up to 50MB
MAILU_MESSAGE_SIZE_LIMIT=50000000
# Will relay all outgoing mails if configured
MAILU_RELAYHOST=
# Networks granted relay permissions, make sure that you include your Docker
# internal network (default to 172.17.0.0/16)
MAILU_RELAYNETS=172.16.0.0/12
# Fetchmail delay
MAILU_FETCHMAIL_DELAY=600
# Recipient delimiter, character used to delimiter localpart from custom address part
# e.g. localpart+custom@domain;tld
MAILU_RECIPIENT_DELIMITER=+
# DMARC rua and ruf email
MAILU_DMARC_RUA=admin
MAILU_DMARC_RUF=admin
# Welcome email, enable and set a topic and body if you wish to send welcome
# emails to all users.
MAILU_WELCOME=True
MAILU_WELCOME_SUBJECT=Welcome to your new email account
MAILU_WELCOME_BODY=Welcome to your new email account, if you can read this, then it is configured properly!
# Path to the admin interface if enabled
MAILU_WEB_ADMIN=/admin
# Path to the webmail if enabled
MAILU_WEB_WEBMAIL=/webmail
# Website name
MAILU_SITENAME=Example Mail
# Linked Website URL
MAILU_WEBSITE=http://mail.example.com
# Default password scheme used for newly created accounts and changed passwords
# (value: SHA512-CRYPT, SHA256-CRYPT, MD5-CRYPT, CRYPT)
MAILU_PASSWORD_SCHEME=SHA512-CRYPT
# Expose the admin interface (value: true, false)
MAILU_ADMIN=true
# Choose which webmail to run if any (values: roundcube, rainloop, none)
MAILU_WEBMAIL=rainloop
# Dav server implementation (value: radicale, none)
MAILU_WEBDAV=radicale
# The Remote Interpreter entry matching name `laradock`
### TRAEFIK #################################################
PHP_IDE_CONFIG=serverName=laradock
TRAEFIK_HOST_HTTP_PORT=80
TRAEFIK_HOST_HTTPS_PORT=443
# Fix for windows users to make sure the application path works.
### MOSQUITTO #################################################
COMPOSE_CONVERT_WINDOWS_PATHS=1
MOSQUITTO_PORT=9001
### COUCHDB ###################################################
COUCHDB_PORT=5984

3
gitlab/Dockerfile Normal file
View File

@ -0,0 +1,3 @@
FROM gitlab/gitlab-ce:latest
LABEL maintainer="ahkui <ahkui@outlook.com>"

3
grafana/Dockerfile Normal file
View File

@ -0,0 +1,3 @@
FROM grafana/grafana:latest
EXPOSE 3000

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 \
@ -14,7 +15,7 @@ RUN apt-get update -y \
RUN mkdir -p /var/www
ADD server.ini /etc/hhvm/server.ini
COPY server.ini /etc/hhvm/server.ini
RUN usermod -u 1000 www-data

5
ide-codiad/Dockerfile Normal file
View File

@ -0,0 +1,5 @@
FROM linuxserver/codiad
LABEL maintainer="ahkui <ahkui@outlook.com>"
COPY config.php /defaults/config.php

43
ide-codiad/config.php Normal file
View File

@ -0,0 +1,43 @@
<?php
/*
* Copyright (c) Codiad & Kent Safranski (codiad.com), distributed
* as-is and without warranty under the MIT License. See
* [root]/license.txt for more. This information must remain intact.
*/
//////////////////////////////////////////////////////////////////
// CONFIG
//////////////////////////////////////////////////////////////////
// PATH TO CODIAD
define("BASE_PATH", "/config/www/");
// BASE URL TO CODIAD (without trailing slash)
define("BASE_URL", "localhost");
// THEME : default, modern or clear (look at /themes)
define("THEME", "default");
// ABSOLUTE PATH, this is used as whitelist for absolute path projects
define("WHITEPATHS", BASE_PATH . ",/home,/");
// SESSIONS (e.g. 7200)
$cookie_lifetime = "0";
// TIMEZONE
date_default_timezone_set(getenv('TZ','UTC'));
// Allows to overwrite the default language
//define("LANGUAGE", "en");
// External Authentification
//define("AUTH_PATH", "/path/to/customauth.php");
//////////////////////////////////////////////////////////////////
// ** DO NOT EDIT CONFIG BELOW **
//////////////////////////////////////////////////////////////////
// PATHS
define("COMPONENTS", BASE_PATH . "/components");
define("PLUGINS", BASE_PATH . "/plugins");
define("THEMES", BASE_PATH . "/themes");
define("DATA", BASE_PATH . "/data");
define("WORKSPACE", getenv('APP_CODE_PATH_CONTAINER',BASE_PATH . "workspace"));
// URLS
define("WSURL", getenv('APP_CODE_PATH_CONTAINER',BASE_PATH . "workspace"));
// Marketplace
define("MARKETURL", "http://market.codiad.com/json");
// Update Check
//define("UPDATEURL", "http://update.codiad.com/?v={VER}&o={OS}&p={PHP}&w={WEB}&a={ACT}");
define("ARCHIVEURL", "https://github.com/Codiad/Codiad/archive/master.zip");
define("COMMITURL", "https://api.github.com/repos/Codiad/Codiad/commits");
?>

21
ide-icecoder/Dockerfile Normal file
View File

@ -0,0 +1,21 @@
FROM php:alpine
LABEL maintainer="ahkui <ahkui@outlook.com>"
ARG PUID=1000
ENV PUID ${PUID}
ARG PGID=1000
ENV PGID ${PGID}
RUN apk add --no-cache git
RUN addgroup -g $PGID -S laradock && \
adduser -u $PUID -S laradock -G laradock
USER laradock
RUN cd /home/laradock && git clone https://github.com/mattpass/ICEcoder.git
WORKDIR /home/laradock/ICEcoder
CMD ["php","-S","0.0.0.0:8080"]

9
ide-theia/Dockerfile Normal file
View File

@ -0,0 +1,9 @@
FROM theiaide/theia
LABEL maintainer="ahkui <ahkui@outlook.com>"
USER root
RUN echo 'fs.inotify.max_user_watches=524288' >> /etc/sysctl.conf
USER theia

3
ide-webide/Dockerfile Normal file
View File

@ -0,0 +1,3 @@
FROM webide/webide
LABEL maintainer="ahkui <ahkui@outlook.com>"

View File

@ -0,0 +1,17 @@
FROM python:3.5-alpine
LABEL maintainer="ahkui <ahkui@outlook.com>"
USER root
RUN apk add --no-cache build-base
RUN python -m pip --quiet --no-cache-dir install \
ipyparallel
RUN ipython profile create --parallel --profile=default
COPY ipcontroller-client.json /root/.ipython/profile_default/security/ipcontroller-client.json
COPY ipcontroller-engine.json /root/.ipython/profile_default/security/ipcontroller-engine.json
CMD ["sh","-c","ipcontroller --ip=* --reuse"]

23
ipython/Dockerfile.engine Normal file
View File

@ -0,0 +1,23 @@
FROM python:3.5-alpine
LABEL maintainer="ahkui <ahkui@outlook.com>"
USER root
RUN apk add --no-cache build-base
RUN python -m pip --quiet --no-cache-dir install \
ipyparallel \
numpy \
pandas \
pymongo \
redis \
requests \
bs4
RUN ipython profile create --parallel --profile=default
COPY ipcontroller-client.json /root/.ipython/profile_default/security/ipcontroller-client.json
COPY ipcontroller-engine.json /root/.ipython/profile_default/security/ipcontroller-engine.json
CMD ["sh","-c","ipcluster engines"]

View File

@ -0,0 +1,16 @@
{
"key": "868074dd-060311910ab3d6991611bccf",
"signature_scheme": "hmac-sha256",
"unpack": "json",
"pack": "json",
"ssh": "",
"task_scheme": "leastload",
"interface": "tcp://*",
"location": "laradock-ipython",
"notification": 33338,
"iopub": 33337,
"control": 33336,
"mux": 33335,
"task": 33334,
"registration": 33333
}

View File

@ -0,0 +1,16 @@
{
"key": "868074dd-060311910ab3d6991611bccf",
"signature_scheme": "hmac-sha256",
"unpack": "json",
"pack": "json",
"ssh": "",
"interface": "tcp://*",
"location": "laradock-ipython",
"iopub": 33327,
"hb_ping": 33328,
"hb_pong": 33329,
"control": 33330,
"mux": 33331,
"task": 33332,
"registration": 33333
}

View File

@ -25,8 +25,8 @@ VOLUME /var/jenkins_home
# or config file with your custom jenkins Docker image.
RUN mkdir -p /usr/share/jenkins/ref/init.groovy.d
ENV TINI_VERSION 0.13.2
ENV TINI_SHA afbf8de8a63ce8e4f18cb3f34dfdbbd354af68a1
ENV TINI_VERSION 0.16.1
ENV TINI_SHA d1cb5d71adc01d47e302ea439d70c79bd0864288
# Use tini as subreaper in Docker container to adopt zombie processes
RUN curl -fsSL https://github.com/krallin/tini/releases/download/v${TINI_VERSION}/tini-static-amd64 -o /bin/tini && chmod +x /bin/tini \
@ -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.32.3}
ENV JENKINS_VERSION ${JENKINS_VERSION:-2.89.2}
# jenkins.war checksum, download will be validated using it
ARG JENKINS_SHA=a25b9a314ca9e76f9673da7309e1882e32674223
# 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
@ -47,7 +49,7 @@ ARG JENKINS_URL=https://repo.jenkins-ci.org/public/org/jenkins-ci/main/jenkins-w
# could use ADD but this one does not check Last-Modified header neither does it allow to control checksum
# see https://github.com/docker/docker/issues/8331
RUN curl -fsSL ${JENKINS_URL} -o /usr/share/jenkins/jenkins.war \
&& echo "${JENKINS_SHA} /usr/share/jenkins/jenkins.war" | sha1sum -c -
&& echo "${JENKINS_SHA} /usr/share/jenkins/jenkins.war" | sha256sum -c -
ENV JENKINS_UC https://updates.jenkins.io
RUN chown -R ${user} "$JENKINS_HOME" /usr/share/jenkins/ref
@ -71,7 +73,7 @@ RUN apt-get install -y curl && curl -sSL https://get.docker.com/ | sh
RUN usermod -aG docker jenkins
# Install Docker-Compose
RUN curl -L "https://github.com/docker/compose/releases/download/1.10.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
RUN curl -L "https://github.com/docker/compose/releases/download/1.16.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
RUN chmod +x /usr/local/bin/docker-compose

View File

@ -93,7 +93,7 @@ docker run --name myjenkins -p 8080:8080 -p 50000:50000 --env JAVA_OPTS="-Djava.
```
# Configuring reverse proxy
If you want to install Jenkins behind a reverse proxy with prefix, example: mysite.com/jenkins, you need to add environnement variable `JENKINS_OPTS="--prefix=/jenkins"` and then follow the below procedures to configure your reverse proxy, which will depend if you have Apache ou Nginx:
If you want to install Jenkins behind a reverse proxy with prefix, example: mysite.com/jenkins, you need to add environment variable `JENKINS_OPTS="--prefix=/jenkins"` and then follow the below procedures to configure your reverse proxy, which will depend if you have Apache ou Nginx:
- [Apache](https://wiki.jenkins-ci.org/display/JENKINS/Running+Jenkins+behind+Apache)
- [Nginx](https://wiki.jenkins-ci.org/display/JENKINS/Jenkins+behind+an+NGinX+reverse+proxy)
@ -154,7 +154,7 @@ COPY custom.groovy /usr/share/jenkins/ref/init.groovy.d/custom.groovy
## Preinstalling plugins
You can rely on the `install-plugins.sh` script to pass a set of plugins to download with their dependencies.
Use plugin artifact ID, whithout `-plugin` extension, and append the version if needed separated by `:`.
Use plugin artifact ID, without `-plugin` extension, and append the version if needed separated by `:`.
Dependencies that are already included in the Jenkins war will only be downloaded if their required version is newer than the one included.
```

27
jupyterhub/Dockerfile Normal file
View File

@ -0,0 +1,27 @@
FROM python
LABEL maintainer="ahkui <ahkui@outlook.com>"
ENV JUPYTERHUB_USER_DATA ${JUPYTERHUB_USER_DATA}
ENV JUPYTERHUB_POSTGRES_DB ${JUPYTERHUB_POSTGRES_DB}
ENV JUPYTERHUB_POSTGRES_USER ${JUPYTERHUB_POSTGRES_USER}
ENV JUPYTERHUB_POSTGRES_HOST ${JUPYTERHUB_POSTGRES_HOST}
ENV JUPYTERHUB_POSTGRES_PASSWORD ${JUPYTERHUB_POSTGRES_PASSWORD}
ENV JUPYTERHUB_OAUTH_CALLBACK_URL ${JUPYTERHUB_OAUTH_CALLBACK_URL}
ENV JUPYTERHUB_OAUTH_CLIENT_ID ${JUPYTERHUB_OAUTH_CLIENT_ID}
ENV JUPYTERHUB_OAUTH_CLIENT_SECRET ${JUPYTERHUB_OAUTH_CLIENT_SECRET}
ENV JUPYTERHUB_LOCAL_NOTEBOOK_IMAGE ${JUPYTERHUB_LOCAL_NOTEBOOK_IMAGE}
ENV JUPYTERHUB_ENABLE_NVIDIA ${JUPYTERHUB_ENABLE_NVIDIA}
RUN curl -sL https://deb.nodesource.com/setup_10.x | bash -
RUN apt update -yqq && \
apt-get install -y nodejs
RUN npm install -g configurable-http-proxy
RUN pip install jupyterhub
RUN pip install oauthenticator
RUN pip install dockerspawner
RUN pip install psycopg2 psycopg2-binary
CMD ["sh", "-c", "jupyterhub upgrade-db && jupyterhub -f /jupyterhub_config.py"]

View File

@ -0,0 +1,72 @@
FROM tensorflow/tensorflow:latest-gpu
MAINTAINER ahkui <ahkui@outlook.com>
RUN apt-get update && apt-get install -y --no-install-recommends \
python \
python-dev \
&& \
apt-get autoremove -y && \
apt-get autoclean && \
apt-get clean && \
rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
RUN apt-get update && apt-get install -y --no-install-recommends \
wget \
git \
&& \
apt-get autoremove -y && \
apt-get autoclean && \
apt-get clean && \
rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
RUN curl -O https://bootstrap.pypa.io/get-pip.py && \
python3 get-pip.py && \
rm get-pip.py
RUN python3 -m pip --quiet --no-cache-dir install \
Pillow \
h5py \
ipykernel \
jupyter \
notebook \
jupyterhub \
matplotlib \
numpy \
pandas \
scipy \
sklearn \
Flask \
gunicorn \
pymongo \
redis \
requests \
ipyparallel \
bs4 \
&& \
python3 -m ipykernel.kernelspec
RUN pip --no-cache-dir install \
https://storage.googleapis.com/tensorflow/linux/gpu/tensorflow_gpu-1.8.0-cp35-cp35m-linux_x86_64.whl
RUN ln -s -f /usr/bin/python3 /usr/bin/python
COPY start.sh /usr/local/bin/
COPY start-notebook.sh /usr/local/bin/
COPY start-singleuser.sh /usr/local/bin/
RUN chmod +x /usr/local/bin/start.sh
RUN chmod +x /usr/local/bin/start-notebook.sh
RUN chmod +x /usr/local/bin/start-singleuser.sh
RUN wget --quiet https://github.com/krallin/tini/releases/download/v0.10.0/tini && \
mv tini /usr/local/bin/tini && \
chmod +x /usr/local/bin/tini
# cleanup
RUN rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
ENTRYPOINT ["tini", "--"]
CMD ["start-notebook.sh"]

View File

@ -0,0 +1,128 @@
# Copyright (c) Jupyter Development Team.
# Distributed under the terms of the Modified BSD License.
# Configuration file for JupyterHub
import os
c = get_config()
# create system users that don't exist yet
c.LocalAuthenticator.create_system_users = True
def create_dir_hook(spawner):
username = spawner.user.name # get the username
volume_path = os.path.join('/user-data', username)
if not os.path.exists(volume_path):
# create a directory with umask 0755
# hub and container user must have the same UID to be writeable
# still readable by other users on the system
os.mkdir(volume_path, 0o755)
os.chown(volume_path, 1000,100)
# now do whatever you think your user needs
# ...
pass
# attach the hook function to the spawner
c.Spawner.pre_spawn_hook = create_dir_hook
# We rely on environment variables to configure JupyterHub so that we
# avoid having to rebuild the JupyterHub container every time we change a
# configuration parameter.
# Spawn single-user servers as Docker containers
c.JupyterHub.spawner_class = 'dockerspawner.DockerSpawner'
# Spawn containers from this image
c.DockerSpawner.image = os.environ['JUPYTERHUB_LOCAL_NOTEBOOK_IMAGE']
# JupyterHub requires a single-user instance of the Notebook server, so we
# default to using the `start-singleuser.sh` script included in the
# jupyter/docker-stacks *-notebook images as the Docker run command when
# spawning containers. Optionally, you can override the Docker run command
# using the DOCKER_SPAWN_CMD environment variable.
spawn_cmd = os.environ.get('JUPYTERHUB_DOCKER_SPAWN_CMD', "start-singleuser.sh")
c.DockerSpawner.extra_create_kwargs.update({ 'command': spawn_cmd })
# Connect containers to this Docker network
network_name = os.environ.get('JUPYTERHUB_NETWORK_NAME','laradock_backend')
c.DockerSpawner.use_internal_ip = True
c.DockerSpawner.network_name = network_name
enable_nvidia = os.environ.get('JUPYTERHUB_ENABLE_NVIDIA','false')
# Pass the network name as argument to spawned containers
c.DockerSpawner.extra_host_config = { 'network_mode': network_name }
if 'true' == enable_nvidia:
c.DockerSpawner.extra_host_config = { 'network_mode': network_name, 'runtime': 'nvidia' }
pass
# c.DockerSpawner.extra_host_config = { 'network_mode': network_name, "devices":["/dev/nvidiactl","/dev/nvidia-uvm","/dev/nvidia0"] }
# Explicitly set notebook directory because we'll be mounting a host volume to
# it. Most jupyter/docker-stacks *-notebook images run the Notebook server as
# user `jovyan`, and set the notebook directory to `/home/jovyan/work`.
# We follow the same convention.
# notebook_dir = os.environ.get('JUPYTERHUB_DOCKER_NOTEBOOK_DIR') or '/home/jovyan/work'
notebook_dir = '/notebooks'
c.DockerSpawner.notebook_dir = notebook_dir
# Mount the real user's Docker volume on the host to the notebook user's
# notebook directory in the container
user_data = os.environ.get('JUPYTERHUB_USER_DATA','/jupyterhub')
c.DockerSpawner.volumes = {
user_data+'/{username}': notebook_dir
}
c.DockerSpawner.extra_create_kwargs.update({ 'user': 'root'})
# volume_driver is no longer a keyword argument to create_container()
# c.DockerSpawner.extra_create_kwargs.update({ 'volume_driver': 'local' })
# Remove containers once they are stopped
c.DockerSpawner.remove_containers = True
# For debugging arguments passed to spawned containers
c.DockerSpawner.debug = True
# User containers will access hub by container name on the Docker network
c.JupyterHub.hub_ip = 'jupyterhub'
c.JupyterHub.hub_port = 8000
# TLS config
c.JupyterHub.port = 80
# c.JupyterHub.ssl_key = os.environ['SSL_KEY']
# c.JupyterHub.ssl_cert = os.environ['SSL_CERT']
# Authenticate users with GitHub OAuth
c.JupyterHub.authenticator_class = 'oauthenticator.GitHubOAuthenticator'
c.GitHubOAuthenticator.oauth_callback_url = os.environ['JUPYTERHUB_OAUTH_CALLBACK_URL']
c.GitHubOAuthenticator.client_id = os.environ['JUPYTERHUB_OAUTH_CLIENT_ID']
c.GitHubOAuthenticator.client_secret = os.environ['JUPYTERHUB_OAUTH_CLIENT_SECRET']
# Persist hub data on volume mounted inside container
data_dir = '/data'
c.JupyterHub.cookie_secret_file = os.path.join(data_dir,
'jupyterhub_cookie_secret')
print(os.environ)
c.JupyterHub.db_url = 'postgresql://{user}:{password}@{host}/{db}'.format(
user=os.environ['JUPYTERHUB_POSTGRES_USER'],
host=os.environ['JUPYTERHUB_POSTGRES_HOST'],
password=os.environ['JUPYTERHUB_POSTGRES_PASSWORD'],
db=os.environ['JUPYTERHUB_POSTGRES_DB'],
)
# Whitlelist users and admins
c.Authenticator.whitelist = whitelist = set()
c.Authenticator.admin_users = admin = set()
c.JupyterHub.admin_access = True
pwd = os.path.dirname(__file__)
with open(os.path.join(pwd, 'userlist')) as f:
for line in f:
if not line:
continue
parts = line.split()
name = parts[0]
print(name)
whitelist.add(name)
if len(parts) > 1 and parts[1] == 'admin':
admin.add(name)
admin.add('laradock')

View File

@ -0,0 +1,12 @@
#!/bin/bash
# Copyright (c) Jupyter Development Team.
# Distributed under the terms of the Modified BSD License.
set -e
if [[ ! -z "${JUPYTERHUB_API_TOKEN}" ]]; then
# launched by JupyterHub, use single-user entrypoint
exec /usr/local/bin/start-singleuser.sh $*
else
. /usr/local/bin/start.sh jupyter notebook $*
fi

View File

@ -0,0 +1,40 @@
#!/bin/bash
# Copyright (c) Jupyter Development Team.
# Distributed under the terms of the Modified BSD License.
set -e
# set default ip to 0.0.0.0
if [[ "$NOTEBOOK_ARGS $@" != *"--ip="* ]]; then
NOTEBOOK_ARGS="--ip=0.0.0.0 $NOTEBOOK_ARGS"
fi
# handle some deprecated environment variables
# from DockerSpawner < 0.8.
# These won't be passed from DockerSpawner 0.9,
# so avoid specifying --arg=empty-string
# if [ ! -z "$NOTEBOOK_DIR" ]; then
# NOTEBOOK_ARGS="--notebook-dir='$NOTEBOOK_DIR' $NOTEBOOK_ARGS"
# fi
if [ ! -z "$JPY_PORT" ]; then
NOTEBOOK_ARGS="--port=$JPY_PORT $NOTEBOOK_ARGS"
fi
if [ ! -z "$JPY_USER" ]; then
NOTEBOOK_ARGS="--user=$JPY_USER $NOTEBOOK_ARGS"
fi
if [ ! -z "$JPY_COOKIE_NAME" ]; then
NOTEBOOK_ARGS="--cookie-name=$JPY_COOKIE_NAME $NOTEBOOK_ARGS"
fi
if [ ! -z "$JPY_BASE_URL" ]; then
NOTEBOOK_ARGS="--base-url=$JPY_BASE_URL $NOTEBOOK_ARGS"
fi
if [ ! -z "$JPY_HUB_PREFIX" ]; then
NOTEBOOK_ARGS="--hub-prefix=$JPY_HUB_PREFIX $NOTEBOOK_ARGS"
fi
if [ ! -z "$JPY_HUB_API_URL" ]; then
NOTEBOOK_ARGS="--hub-api-url=$JPY_HUB_API_URL $NOTEBOOK_ARGS"
fi
NOTEBOOK_ARGS=" --allow-root --notebook-dir='/notebooks' $NOTEBOOK_ARGS"
. /usr/local/bin/start.sh jupyterhub-singleuser $NOTEBOOK_ARGS $@

7
jupyterhub/start.sh Normal file
View File

@ -0,0 +1,7 @@
#!/bin/bash
# Copyright (c) Jupyter Development Team.
# Distributed under the terms of the Modified BSD License.
set -e
exec sh -c "env PATH=$PATH $*"

1
jupyterhub/userlist Normal file
View File

@ -0,0 +1 @@
laradock

View File

@ -1,3 +1,3 @@
FROM docker.elastic.co/kibana/kibana:5.4.1
FROM docker.elastic.co/kibana/kibana:6.2.3
EXPOSE 5601

View File

@ -1,15 +1,22 @@
FROM node:argon
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" ]

107
laravel-horizon/Dockerfile Normal file
View File

@ -0,0 +1,107 @@
#
#--------------------------------------------------------------------------
# Image Setup
#--------------------------------------------------------------------------
#
ARG PHP_VERSION=${PHP_VERSION}
FROM php:${PHP_VERSION}-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 pcntl
RUN pecl channel-update pecl.php.net && pecl install memcached mcrypt-1.0.1 && docker-php-ext-enable memcached
#Install BCMath package:
ARG INSTALL_BCMATH=false
RUN if [ ${INSTALL_BCMATH} = true ]; then \
docker-php-ext-install bcmath \
;fi
# 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
###########################################################################
# PHP Memcached:
###########################################################################
ARG INSTALL_MEMCACHED=false
RUN if [ ${INSTALL_MEMCACHED} = true ]; then \
# Install the php memcached extension
if [ $(php -r "echo PHP_MAJOR_VERSION;") = "5" ]; then \
curl -L -o /tmp/memcached.tar.gz "https://github.com/php-memcached-dev/php-memcached/archive/2.2.0.tar.gz"; \
else \
curl -L -o /tmp/memcached.tar.gz "https://github.com/php-memcached-dev/php-memcached/archive/php7.tar.gz"; \
fi \
&& mkdir -p memcached \
&& tar -C memcached -zxvf /tmp/memcached.tar.gz --strip 1 \
&& ( \
cd memcached \
&& phpize \
&& ./configure \
&& make -j$(nproc) \
&& make install \
) \
&& rm -r memcached \
&& rm /tmp/memcached.tar.gz \
&& docker-php-ext-enable memcached \
;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 ${PHP_VERSION}."
#
#--------------------------------------------------------------------------
# Final Touch
#--------------------------------------------------------------------------
#
WORKDIR /etc/supervisor/conf.d/

View File

@ -0,0 +1,10 @@
[supervisord]
nodaemon=true
[supervisorctl]
[inet_http_server]
port = 127.0.0.1:9001
[rpcinterface:supervisor]
supervisor.rpcinterface_factory = supervisor.rpcinterface:make_main_rpcinterface
[include]
files = supervisord.d/*.conf

View File

@ -0,0 +1 @@
*.conf

View File

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

10
logstash/Dockerfile Normal file
View File

@ -0,0 +1,10 @@
FROM docker.elastic.co/logstash/logstash:6.4.2
USER root
RUN rm -f /usr/share/logstash/pipeline/logstash.conf
RUN curl -L -o /usr/share/logstash/lib/mysql-connector-java-5.1.47.jar https://repo1.maven.org/maven2/mysql/mysql-connector-java/5.1.47/mysql-connector-java-5.1.47.jar
ADD ./pipeline/ /usr/share/logstash/pipeline/
ADD ./config/ /usr/share/logstash/config/
RUN logstash-plugin install logstash-input-jdbc

View File

@ -0,0 +1,5 @@
http.host: "0.0.0.0"
xpack.monitoring.enabled: false
config.reload.automatic: true
path.config: "/usr/share/logstash/pipeline"

View File

5
maildev/Dockerfile Normal file
View File

@ -0,0 +1,5 @@
FROM djfarrelly/maildev
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,8 +1,8 @@
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
COPY my.cnf /etc/mysql/conf.d/my.cnf
CMD ["mysqld"]

View File

@ -8,9 +8,9 @@
# GRANT ALL ON `myshop_db`.* TO 'appuser'@'%' ;
#
###
### this sql script is auto run when mariadb container start and $DATA_SAVE_PATH/mariadb not exists.
### this sql script is auto run when mariadb container start and $DATA_PATH_HOST/mariadb not exists.
###
### if your $DATA_SAVE_PATH/mariadb is exists and you do not want to delete it, you can run by manual execution:
### if your $DATA_PATH_HOST/mariadb is exists and you do not want to delete it, you can run by manual execution:
###
### docker-compose exec mariadb bash
### mysql -u root -p < /docker-entrypoint-initdb.d/createdb.sql

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"]

3
mongo-webui/Dockerfile Normal file
View File

@ -0,0 +1,3 @@
FROM mongoclient/mongoclient
LABEL maintainer="ahkui <ahkui@outlook.com>"

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

5
mosquitto/Dockerfile Normal file
View File

@ -0,0 +1,5 @@
FROM eclipse-mosquitto:latest
LABEL maintainer="Luis Coutinho <luis@luiscoutinho.pt>"
COPY mosquitto.conf /mosquitto/config/

838
mosquitto/mosquitto.conf Normal file
View File

@ -0,0 +1,838 @@
# Config file for mosquitto
#
# See mosquitto.conf(5) for more information.
#
# Default values are shown, uncomment to change.
#
# Use the # character to indicate a comment, but only if it is the
# very first character on the line.
# =================================================================
# General configuration
# =================================================================
# Time in seconds to wait before resending an outgoing QoS=1 or
# QoS=2 message.
#retry_interval 20
# Time in seconds between updates of the $SYS tree.
# Set to 0 to disable the publishing of the $SYS tree.
#sys_interval 10
# Time in seconds between cleaning the internal message store of
# unreferenced messages. Lower values will result in lower memory
# usage but more processor time, higher values will have the
# opposite effect.
# Setting a value of 0 means the unreferenced messages will be
# disposed of as quickly as possible.
#store_clean_interval 10
# Write process id to a file. Default is a blank string which means
# a pid file shouldn't be written.
# This should be set to /var/run/mosquitto.pid if mosquitto is
# being run automatically on boot with an init script and
# start-stop-daemon or similar.
#pid_file
# When run as root, drop privileges to this user and its primary
# group.
# Leave blank to stay as root, but this is not recommended.
# If run as a non-root user, this setting has no effect.
# Note that on Windows this has no effect and so mosquitto should
# be started by the user you wish it to run as.
#user mosquitto
# The maximum number of QoS 1 and 2 messages currently inflight per
# client.
# This includes messages that are partway through handshakes and
# those that are being retried. Defaults to 20. Set to 0 for no
# maximum. Setting to 1 will guarantee in-order delivery of QoS 1
# and 2 messages.
#max_inflight_messages 20
# The maximum number of QoS 1 and 2 messages to hold in a queue
# above those that are currently in-flight. Defaults to 100. Set
# to 0 for no maximum (not recommended).
# See also queue_qos0_messages.
#max_queued_messages 100
# Set to true to queue messages with QoS 0 when a persistent client is
# disconnected. These messages are included in the limit imposed by
# max_queued_messages.
# Defaults to false.
# This is a non-standard option for the MQTT v3.1 spec but is allowed in
# v3.1.1.
#queue_qos0_messages false
# This option sets the maximum publish payload size that the broker will allow.
# Received messages that exceed this size will not be accepted by the broker.
# The default value is 0, which means that all valid MQTT messages are
# accepted. MQTT imposes a maximum payload size of 268435455 bytes.
#message_size_limit 0
# This option controls whether a client is allowed to connect with a zero
# length client id or not. This option only affects clients using MQTT v3.1.1
# and later. If set to false, clients connecting with a zero length client id
# are disconnected. If set to true, clients will be allocated a client id by
# the broker. This means it is only useful for clients with clean session set
# to true.
#allow_zero_length_clientid true
# If allow_zero_length_clientid is true, this option allows you to set a prefix
# to automatically generated client ids to aid visibility in logs.
#auto_id_prefix
# This option allows persistent clients (those with clean session set to false)
# to be removed if they do not reconnect within a certain time frame.
#
# This is a non-standard option in MQTT V3.1 but allowed in MQTT v3.1.1.
#
# Badly designed clients may set clean session to false whilst using a randomly
# generated client id. This leads to persistent clients that will never
# reconnect. This option allows these clients to be removed.
#
# The expiration period should be an integer followed by one of h d w m y for
# hour, day, week, month and year respectively. For example
#
# persistent_client_expiration 2m
# persistent_client_expiration 14d
# persistent_client_expiration 1y
#
# The default if not set is to never expire persistent clients.
#persistent_client_expiration
# If a client is subscribed to multiple subscriptions that overlap, e.g. foo/#
# and foo/+/baz , then MQTT expects that when the broker receives a message on
# a topic that matches both subscriptions, such as foo/bar/baz, then the client
# should only receive the message once.
# Mosquitto keeps track of which clients a message has been sent to in order to
# meet this requirement. The allow_duplicate_messages option allows this
# behaviour to be disabled, which may be useful if you have a large number of
# clients subscribed to the same set of topics and are very concerned about
# minimising memory usage.
# It can be safely set to true if you know in advance that your clients will
# never have overlapping subscriptions, otherwise your clients must be able to
# correctly deal with duplicate messages even when then have QoS=2.
#allow_duplicate_messages false
# The MQTT specification requires that the QoS of a message delivered to a
# subscriber is never upgraded to match the QoS of the subscription. Enabling
# this option changes this behaviour. If upgrade_outgoing_qos is set true,
# messages sent to a subscriber will always match the QoS of its subscription.
# This is a non-standard option explicitly disallowed by the spec.
#upgrade_outgoing_qos false
# =================================================================
# Default listener
# =================================================================
# IP address/hostname to bind the default listener to. If not
# given, the default listener will not be bound to a specific
# address and so will be accessible to all network interfaces.
# bind_address ip-address/host name
#bind_address
# Port to use for the default listener.
port 9001
# The maximum number of client connections to allow. This is
# a per listener setting.
# Default is -1, which means unlimited connections.
# Note that other process limits mean that unlimited connections
# are not really possible. Typically the default maximum number of
# connections possible is around 1024.
#max_connections -1
# Choose the protocol to use when listening.
# This can be either mqtt or websockets.
# Websockets support is currently disabled by default at compile time.
# Certificate based TLS may be used with websockets, except that
# only the cafile, certfile, keyfile and ciphers options are supported.
protocol websockets
# When a listener is using the websockets protocol, it is possible to serve
# http data as well. Set http_dir to a directory which contains the files you
# wish to serve. If this option is not specified, then no normal http
# connections will be possible.
#http_dir
# Set use_username_as_clientid to true to replace the clientid that a client
# connected with with its username. This allows authentication to be tied to
# the clientid, which means that it is possible to prevent one client
# disconnecting another by using the same clientid.
# If a client connects with no username it will be disconnected as not
# authorised when this option is set to true.
# Do not use in conjunction with clientid_prefixes.
# See also use_identity_as_username.
#use_username_as_clientid
# -----------------------------------------------------------------
# Certificate based SSL/TLS support
# -----------------------------------------------------------------
# The following options can be used to enable SSL/TLS support for
# this listener. Note that the recommended port for MQTT over TLS
# is 8883, but this must be set manually.
#
# See also the mosquitto-tls man page.
# At least one of cafile or capath must be defined. They both
# define methods of accessing the PEM encoded Certificate
# Authority certificates that have signed your server certificate
# and that you wish to trust.
# cafile defines the path to a file containing the CA certificates.
# capath defines a directory that will be searched for files
# containing the CA certificates. For capath to work correctly, the
# certificate files must have ".crt" as the file ending and you must run
# "c_rehash <path to capath>" each time you add/remove a certificate.
#cafile
#capath
# Path to the PEM encoded server certificate.
#certfile
# Path to the PEM encoded keyfile.
#keyfile
# This option defines the version of the TLS protocol to use for this listener.
# The default value allows v1.2, v1.1 and v1.0, if they are all supported by
# the version of openssl that the broker was compiled against. For openssl >=
# 1.0.1 the valid values are tlsv1.2 tlsv1.1 and tlsv1. For openssl < 1.0.1 the
# valid values are tlsv1.
#tls_version
# By default a TLS enabled listener will operate in a similar fashion to a
# https enabled web server, in that the server has a certificate signed by a CA
# and the client will verify that it is a trusted certificate. The overall aim
# is encryption of the network traffic. By setting require_certificate to true,
# the client must provide a valid certificate in order for the network
# connection to proceed. This allows access to the broker to be controlled
# outside of the mechanisms provided by MQTT.
#require_certificate false
# If require_certificate is true, you may set use_identity_as_username to true
# to use the CN value from the client certificate as a username. If this is
# true, the password_file option will not be used for this listener.
#use_identity_as_username false
# If you have require_certificate set to true, you can create a certificate
# revocation list file to revoke access to particular client certificates. If
# you have done this, use crlfile to point to the PEM encoded revocation file.
#crlfile
# If you wish to control which encryption ciphers are used, use the ciphers
# option. The list of available ciphers can be optained using the "openssl
# ciphers" command and should be provided in the same format as the output of
# that command.
# If unset defaults to DEFAULT:!aNULL:!eNULL:!LOW:!EXPORT:!SSLv2:@STRENGTH
#ciphers DEFAULT:!aNULL:!eNULL:!LOW:!EXPORT:!SSLv2:@STRENGTH
# -----------------------------------------------------------------
# Pre-shared-key based SSL/TLS support
# -----------------------------------------------------------------
# The following options can be used to enable PSK based SSL/TLS support for
# this listener. Note that the recommended port for MQTT over TLS is 8883, but
# this must be set manually.
#
# See also the mosquitto-tls man page and the "Certificate based SSL/TLS
# support" section. Only one of certificate or PSK encryption support can be
# enabled for any listener.
# The psk_hint option enables pre-shared-key support for this listener and also
# acts as an identifier for this listener. The hint is sent to clients and may
# be used locally to aid authentication. The hint is a free form string that
# doesn't have much meaning in itself, so feel free to be creative.
# If this option is provided, see psk_file to define the pre-shared keys to be
# used or create a security plugin to handle them.
#psk_hint
# Set use_identity_as_username to have the psk identity sent by the client used
# as its username. Authentication will be carried out using the PSK rather than
# the MQTT username/password and so password_file will not be used for this
# listener.
#use_identity_as_username false
# When using PSK, the encryption ciphers used will be chosen from the list of
# available PSK ciphers. If you want to control which ciphers are available,
# use the "ciphers" option. The list of available ciphers can be optained
# using the "openssl ciphers" command and should be provided in the same format
# as the output of that command.
#ciphers
# =================================================================
# Extra listeners
# =================================================================
# Listen on a port/ip address combination. By using this variable
# multiple times, mosquitto can listen on more than one port. If
# this variable is used and neither bind_address nor port given,
# then the default listener will not be started.
# The port number to listen on must be given. Optionally, an ip
# address or host name may be supplied as a second argument. In
# this case, mosquitto will attempt to bind the listener to that
# address and so restrict access to the associated network and
# interface. By default, mosquitto will listen on all interfaces.
# Note that for a websockets listener it is not possible to bind to a host
# name.
# listener port-number [ip address/host name]
#listener
# The maximum number of client connections to allow. This is
# a per listener setting.
# Default is -1, which means unlimited connections.
# Note that other process limits mean that unlimited connections
# are not really possible. Typically the default maximum number of
# connections possible is around 1024.
#max_connections -1
# The listener can be restricted to operating within a topic hierarchy using
# the mount_point option. This is achieved be prefixing the mount_point string
# to all topics for any clients connected to this listener. This prefixing only
# happens internally to the broker; the client will not see the prefix.
#mount_point
# Choose the protocol to use when listening.
# This can be either mqtt or websockets.
# Certificate based TLS may be used with websockets, except that only the
# cafile, certfile, keyfile and ciphers options are supported.
#protocol mqtt
# When a listener is using the websockets protocol, it is possible to serve
# http data as well. Set http_dir to a directory which contains the files you
# wish to serve. If this option is not specified, then no normal http
# connections will be possible.
#http_dir
# Set use_username_as_clientid to true to replace the clientid that a client
# connected with with its username. This allows authentication to be tied to
# the clientid, which means that it is possible to prevent one client
# disconnecting another by using the same clientid.
# If a client connects with no username it will be disconnected as not
# authorised when this option is set to true.
# Do not use in conjunction with clientid_prefixes.
# See also use_identity_as_username.
#use_username_as_clientid
# -----------------------------------------------------------------
# Certificate based SSL/TLS support
# -----------------------------------------------------------------
# The following options can be used to enable certificate based SSL/TLS support
# for this listener. Note that the recommended port for MQTT over TLS is 8883,
# but this must be set manually.
#
# See also the mosquitto-tls man page and the "Pre-shared-key based SSL/TLS
# support" section. Only one of certificate or PSK encryption support can be
# enabled for any listener.
# At least one of cafile or capath must be defined to enable certificate based
# TLS encryption. They both define methods of accessing the PEM encoded
# Certificate Authority certificates that have signed your server certificate
# and that you wish to trust.
# cafile defines the path to a file containing the CA certificates.
# capath defines a directory that will be searched for files
# containing the CA certificates. For capath to work correctly, the
# certificate files must have ".crt" as the file ending and you must run
# "c_rehash <path to capath>" each time you add/remove a certificate.
#cafile
#capath
# Path to the PEM encoded server certificate.
#certfile
# Path to the PEM encoded keyfile.
#keyfile
# By default an TLS enabled listener will operate in a similar fashion to a
# https enabled web server, in that the server has a certificate signed by a CA
# and the client will verify that it is a trusted certificate. The overall aim
# is encryption of the network traffic. By setting require_certificate to true,
# the client must provide a valid certificate in order for the network
# connection to proceed. This allows access to the broker to be controlled
# outside of the mechanisms provided by MQTT.
#require_certificate false
# If require_certificate is true, you may set use_identity_as_username to true
# to use the CN value from the client certificate as a username. If this is
# true, the password_file option will not be used for this listener.
#use_identity_as_username false
# If you have require_certificate set to true, you can create a certificate
# revocation list file to revoke access to particular client certificates. If
# you have done this, use crlfile to point to the PEM encoded revocation file.
#crlfile
# If you wish to control which encryption ciphers are used, use the ciphers
# option. The list of available ciphers can be optained using the "openssl
# ciphers" command and should be provided in the same format as the output of
# that command.
#ciphers
# -----------------------------------------------------------------
# Pre-shared-key based SSL/TLS support
# -----------------------------------------------------------------
# The following options can be used to enable PSK based SSL/TLS support for
# this listener. Note that the recommended port for MQTT over TLS is 8883, but
# this must be set manually.
#
# See also the mosquitto-tls man page and the "Certificate based SSL/TLS
# support" section. Only one of certificate or PSK encryption support can be
# enabled for any listener.
# The psk_hint option enables pre-shared-key support for this listener and also
# acts as an identifier for this listener. The hint is sent to clients and may
# be used locally to aid authentication. The hint is a free form string that
# doesn't have much meaning in itself, so feel free to be creative.
# If this option is provided, see psk_file to define the pre-shared keys to be
# used or create a security plugin to handle them.
#psk_hint
# Set use_identity_as_username to have the psk identity sent by the client used
# as its username. Authentication will be carried out using the PSK rather than
# the MQTT username/password and so password_file will not be used for this
# listener.
#use_identity_as_username false
# When using PSK, the encryption ciphers used will be chosen from the list of
# available PSK ciphers. If you want to control which ciphers are available,
# use the "ciphers" option. The list of available ciphers can be optained
# using the "openssl ciphers" command and should be provided in the same format
# as the output of that command.
#ciphers
# =================================================================
# Persistence
# =================================================================
# If persistence is enabled, save the in-memory database to disk
# every autosave_interval seconds. If set to 0, the persistence
# database will only be written when mosquitto exits. See also
# autosave_on_changes.
# Note that writing of the persistence database can be forced by
# sending mosquitto a SIGUSR1 signal.
#autosave_interval 1800
# If true, mosquitto will count the number of subscription changes, retained
# messages received and queued messages and if the total exceeds
# autosave_interval then the in-memory database will be saved to disk.
# If false, mosquitto will save the in-memory database to disk by treating
# autosave_interval as a time in seconds.
#autosave_on_changes false
# Save persistent message data to disk (true/false).
# This saves information about all messages, including
# subscriptions, currently in-flight messages and retained
# messages.
# retained_persistence is a synonym for this option.
persistence true
# The filename to use for the persistent database, not including
# the path.
#persistence_file mosquitto.db
# Location for persistent database. Must include trailing /
# Default is an empty string (current directory).
# Set to e.g. /var/lib/mosquitto/ if running as a proper service on Linux or
# similar.
persistence_location /mosquitto/data/
# =================================================================
# Logging
# =================================================================
# Places to log to. Use multiple log_dest lines for multiple
# logging destinations.
# Possible destinations are: stdout stderr syslog topic file
#
# stdout and stderr log to the console on the named output.
#
# syslog uses the userspace syslog facility which usually ends up
# in /var/log/messages or similar.
#
# topic logs to the broker topic '$SYS/broker/log/<severity>',
# where severity is one of D, E, W, N, I, M which are debug, error,
# warning, notice, information and message. Message type severity is used by
# the subscribe/unsubscribe log_types and publishes log messages to
# $SYS/broker/log/M/susbcribe or $SYS/broker/log/M/unsubscribe.
#
# The file destination requires an additional parameter which is the file to be
# logged to, e.g. "log_dest file /var/log/mosquitto.log". The file will be
# closed and reopened when the broker receives a HUP signal. Only a single file
# destination may be configured.
#
# Note that if the broker is running as a Windows service it will default to
# "log_dest none" and neither stdout nor stderr logging is available.
# Use "log_dest none" if you wish to disable logging.
log_dest file /mosquitto/log/mosquitto.log
# If using syslog logging (not on Windows), messages will be logged to the
# "daemon" facility by default. Use the log_facility option to choose which of
# local0 to local7 to log to instead. The option value should be an integer
# value, e.g. "log_facility 5" to use local5.
#log_facility
# Types of messages to log. Use multiple log_type lines for logging
# multiple types of messages.
# Possible types are: debug, error, warning, notice, information,
# none, subscribe, unsubscribe, websockets, all.
# Note that debug type messages are for decoding the incoming/outgoing
# network packets. They are not logged in "topics".
log_type error
log_type warning
log_type notice
log_type information
log_type all
# Change the websockets logging level. This is a global option, it is not
# possible to set per listener. This is an integer that is interpreted by
# libwebsockets as a bit mask for its lws_log_levels enum. See the
# libwebsockets documentation for more details. "log_type websockets" must also
# be enabled.
#websockets_log_level 0
# If set to true, client connection and disconnection messages will be included
# in the log.
#connection_messages true
# If set to true, add a timestamp value to each log message.
#log_timestamp true
# =================================================================
# Security
# =================================================================
# If set, only clients that have a matching prefix on their
# clientid will be allowed to connect to the broker. By default,
# all clients may connect.
# For example, setting "secure-" here would mean a client "secure-
# client" could connect but another with clientid "mqtt" couldn't.
#clientid_prefixes
# Boolean value that determines whether clients that connect
# without providing a username are allowed to connect. If set to
# false then a password file should be created (see the
# password_file option) to control authenticated client access.
# Defaults to true.
#allow_anonymous true
# In addition to the clientid_prefixes, allow_anonymous and TLS
# authentication options, username based authentication is also
# possible. The default support is described in "Default
# authentication and topic access control" below. The auth_plugin
# allows another authentication method to be used.
# Specify the path to the loadable plugin and see the
# "Authentication and topic access plugin options" section below.
#auth_plugin
# If auth_plugin_deny_special_chars is true, the default, then before an ACL
# check is made, the username/client id of the client needing the check is
# searched for the presence of either a '+' or '#' character. If either of
# these characters is found in either the username or client id, then the ACL
# check is denied before it is sent to the plugin.o
#
# This check prevents the case where a malicious user could circumvent an ACL
# check by using one of these characters as their username or client id. This
# is the same issue as was reported with mosquitto itself as CVE-2017-7650.
#
# If you are entirely sure that the plugin you are using is not vulnerable to
# this attack (i.e. if you never use usernames or client ids in topics) then
# you can disable this extra check and have all ACL checks delivered to your
# plugin by setting auth_plugin_deny_special_chars to false.
#auth_plugin_deny_special_chars true
# -----------------------------------------------------------------
# Default authentication and topic access control
# -----------------------------------------------------------------
# Control access to the broker using a password file. This file can be
# generated using the mosquitto_passwd utility. If TLS support is not compiled
# into mosquitto (it is recommended that TLS support should be included) then
# plain text passwords are used, in which case the file should be a text file
# with lines in the format:
# username:password
# The password (and colon) may be omitted if desired, although this
# offers very little in the way of security.
#
# See the TLS client require_certificate and use_identity_as_username options
# for alternative authentication options.
#password_file
# Access may also be controlled using a pre-shared-key file. This requires
# TLS-PSK support and a listener configured to use it. The file should be text
# lines in the format:
# identity:key
# The key should be in hexadecimal format without a leading "0x".
#psk_file
# Control access to topics on the broker using an access control list
# file. If this parameter is defined then only the topics listed will
# have access.
# If the first character of a line of the ACL file is a # it is treated as a
# comment.
# Topic access is added with lines of the format:
#
# topic [read|write|readwrite] <topic>
#
# The access type is controlled using "read", "write" or "readwrite". This
# parameter is optional (unless <topic> contains a space character) - if not
# given then the access is read/write. <topic> can contain the + or #
# wildcards as in subscriptions.
#
# The first set of topics are applied to anonymous clients, assuming
# allow_anonymous is true. User specific topic ACLs are added after a
# user line as follows:
#
# user <username>
#
# The username referred to here is the same as in password_file. It is
# not the clientid.
#
#
# If is also possible to define ACLs based on pattern substitution within the
# topic. The patterns available for substition are:
#
# %c to match the client id of the client
# %u to match the username of the client
#
# The substitution pattern must be the only text for that level of hierarchy.
#
# The form is the same as for the topic keyword, but using pattern as the
# keyword.
# Pattern ACLs apply to all users even if the "user" keyword has previously
# been given.
#
# If using bridges with usernames and ACLs, connection messages can be allowed
# with the following pattern:
# pattern write $SYS/broker/connection/%c/state
#
# pattern [read|write|readwrite] <topic>
#
# Example:
#
# pattern write sensor/%u/data
#
#acl_file
# -----------------------------------------------------------------
# Authentication and topic access plugin options
# -----------------------------------------------------------------
# If the auth_plugin option above is used, define options to pass to the
# plugin here as described by the plugin instructions. All options named
# using the format auth_opt_* will be passed to the plugin, for example:
#
# auth_opt_db_host
# auth_opt_db_port
# auth_opt_db_username
# auth_opt_db_password
# =================================================================
# Bridges
# =================================================================
# A bridge is a way of connecting multiple MQTT brokers together.
# Create a new bridge using the "connection" option as described below. Set
# options for the bridges using the remaining parameters. You must specify the
# address and at least one topic to subscribe to.
# Each connection must have a unique name.
# The address line may have multiple host address and ports specified. See
# below in the round_robin description for more details on bridge behaviour if
# multiple addresses are used.
# The direction that the topic will be shared can be chosen by
# specifying out, in or both, where the default value is out.
# The QoS level of the bridged communication can be specified with the next
# topic option. The default QoS level is 0, to change the QoS the topic
# direction must also be given.
# The local and remote prefix options allow a topic to be remapped when it is
# bridged to/from the remote broker. This provides the ability to place a topic
# tree in an appropriate location.
# For more details see the mosquitto.conf man page.
# Multiple topics can be specified per connection, but be careful
# not to create any loops.
# If you are using bridges with cleansession set to false (the default), then
# you may get unexpected behaviour from incoming topics if you change what
# topics you are subscribing to. This is because the remote broker keeps the
# subscription for the old topic. If you have this problem, connect your bridge
# with cleansession set to true, then reconnect with cleansession set to false
# as normal.
#connection <name>
#address <host>[:<port>] [<host>[:<port>]]
#topic <topic> [[[out | in | both] qos-level] local-prefix remote-prefix]
# Set the version of the MQTT protocol to use with for this bridge. Can be one
# of mqttv31 or mqttv311. Defaults to mqttv31.
#bridge_protocol_version mqttv31
# If a bridge has topics that have "out" direction, the default behaviour is to
# send an unsubscribe request to the remote broker on that topic. This means
# that changing a topic direction from "in" to "out" will not keep receiving
# incoming messages. Sending these unsubscribe requests is not always
# desirable, setting bridge_attempt_unsubscribe to false will disable sending
# the unsubscribe request.
#bridge_attempt_unsubscribe true
# If the bridge has more than one address given in the address/addresses
# configuration, the round_robin option defines the behaviour of the bridge on
# a failure of the bridge connection. If round_robin is false, the default
# value, then the first address is treated as the main bridge connection. If
# the connection fails, the other secondary addresses will be attempted in
# turn. Whilst connected to a secondary bridge, the bridge will periodically
# attempt to reconnect to the main bridge until successful.
# If round_robin is true, then all addresses are treated as equals. If a
# connection fails, the next address will be tried and if successful will
# remain connected until it fails
#round_robin false
# Set the client id to use on the remote end of this bridge connection. If not
# defined, this defaults to 'name.hostname' where name is the connection name
# and hostname is the hostname of this computer.
# This replaces the old "clientid" option to avoid confusion. "clientid"
# remains valid for the time being.
#remote_clientid
# Set the clientid to use on the local broker. If not defined, this defaults to
# 'local.<clientid>'. If you are bridging a broker to itself, it is important
# that local_clientid and clientid do not match.
#local_clientid
# Set the clean session variable for this bridge.
# When set to true, when the bridge disconnects for any reason, all
# messages and subscriptions will be cleaned up on the remote
# broker. Note that with cleansession set to true, there may be a
# significant amount of retained messages sent when the bridge
# reconnects after losing its connection.
# When set to false, the subscriptions and messages are kept on the
# remote broker, and delivered when the bridge reconnects.
#cleansession false
# If set to true, publish notification messages to the local and remote brokers
# giving information about the state of the bridge connection. Retained
# messages are published to the topic $SYS/broker/connection/<clientid>/state
# unless the notification_topic option is used.
# If the message is 1 then the connection is active, or 0 if the connection has
# failed.
#notifications true
# Choose the topic on which notification messages for this bridge are
# published. If not set, messages are published on the topic
# $SYS/broker/connection/<clientid>/state
#notification_topic
# Set the keepalive interval for this bridge connection, in
# seconds.
#keepalive_interval 60
# Set the start type of the bridge. This controls how the bridge starts and
# can be one of three types: automatic, lazy and once. Note that RSMB provides
# a fourth start type "manual" which isn't currently supported by mosquitto.
#
# "automatic" is the default start type and means that the bridge connection
# will be started automatically when the broker starts and also restarted
# after a short delay (30 seconds) if the connection fails.
#
# Bridges using the "lazy" start type will be started automatically when the
# number of queued messages exceeds the number set with the "threshold"
# parameter. It will be stopped automatically after the time set by the
# "idle_timeout" parameter. Use this start type if you wish the connection to
# only be active when it is needed.
#
# A bridge using the "once" start type will be started automatically when the
# broker starts but will not be restarted if the connection fails.
#start_type automatic
# Set the amount of time a bridge using the automatic start type will wait
# until attempting to reconnect. Defaults to 30 seconds.
#restart_timeout 30
# Set the amount of time a bridge using the lazy start type must be idle before
# it will be stopped. Defaults to 60 seconds.
#idle_timeout 60
# Set the number of messages that need to be queued for a bridge with lazy
# start type to be restarted. Defaults to 10 messages.
# Must be less than max_queued_messages.
#threshold 10
# If try_private is set to true, the bridge will attempt to indicate to the
# remote broker that it is a bridge not an ordinary client. If successful, this
# means that loop detection will be more effective and that retained messages
# will be propagated correctly. Not all brokers support this feature so it may
# be necessary to set try_private to false if your bridge does not connect
# properly.
#try_private true
# Set the username to use when connecting to a broker that requires
# authentication.
# This replaces the old "username" option to avoid confusion. "username"
# remains valid for the time being.
#remote_username
# Set the password to use when connecting to a broker that requires
# authentication. This option is only used if remote_username is also set.
# This replaces the old "password" option to avoid confusion. "password"
# remains valid for the time being.
#remote_password
# -----------------------------------------------------------------
# Certificate based SSL/TLS support
# -----------------------------------------------------------------
# Either bridge_cafile or bridge_capath must be defined to enable TLS support
# for this bridge.
# bridge_cafile defines the path to a file containing the
# Certificate Authority certificates that have signed the remote broker
# certificate.
# bridge_capath defines a directory that will be searched for files containing
# the CA certificates. For bridge_capath to work correctly, the certificate
# files must have ".crt" as the file ending and you must run "c_rehash <path to
# capath>" each time you add/remove a certificate.
#bridge_cafile
#bridge_capath
# Path to the PEM encoded client certificate, if required by the remote broker.
#bridge_certfile
# Path to the PEM encoded client private key, if required by the remote broker.
#bridge_keyfile
# When using certificate based encryption, bridge_insecure disables
# verification of the server hostname in the server certificate. This can be
# useful when testing initial server configurations, but makes it possible for
# a malicious third party to impersonate your server through DNS spoofing, for
# example. Use this option in testing only. If you need to resort to using this
# option in a production environment, your setup is at fault and there is no
# point using encryption.
#bridge_insecure false
# -----------------------------------------------------------------
# PSK based SSL/TLS support
# -----------------------------------------------------------------
# Pre-shared-key encryption provides an alternative to certificate based
# encryption. A bridge can be configured to use PSK with the bridge_identity
# and bridge_psk options. These are the client PSK identity, and pre-shared-key
# in hexadecimal format with no "0x". Only one of certificate and PSK based
# encryption can be used on one
# bridge at once.
#bridge_identity
#bridge_psk
# =================================================================
# External config files
# =================================================================
# External configuration files may be included by using the
# include_dir option. This defines a directory that will be searched
# for config files. All files that end in '.conf' will be loaded as
# a configuration file. It is best to have this as the last option
# in the main file. This option will only be processed from the main
# configuration file. The directory specified must not contain the
# main configuration file.
#include_dir
# =================================================================
# rsmb options - unlikely to ever be supported
# =================================================================
#ffdc_output
#max_log_entries
#trace_level
#trace_output

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
@ -9,11 +9,9 @@ MAINTAINER Mahmoud Zalt <mahmoud@zalt.me>
ARG TZ=UTC
ENV TZ ${TZ}
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone && chown -R mysql:root /var/lib/mysql/
RUN chown -R mysql:root /var/lib/mysql/
ADD my.cnf /etc/mysql/conf.d/my.cnf
COPY my.cnf /etc/mysql/conf.d/my.cnf
CMD ["mysqld"]

View File

@ -2,15 +2,15 @@
# Copy createdb.sql.example to createdb.sql
# then uncomment then set database name and username to create you need databases
#
# example: .env MYSQL_USER=appuser and need db name is myshop_db
# example: .env MYSQL_USER=appuser and needed db name is myshop_db
#
# CREATE DATABASE IF NOT EXISTS `myshop_db` ;
# GRANT ALL ON `myshop_db`.* TO 'appuser'@'%' ;
#
#
# this sql script will auto run when the mysql container starts and the $DATA_SAVE_PATH/mysql not found.
# this sql script will auto run when the mysql container starts and the $DATA_PATH_HOST/mysql not found.
#
# if your $DATA_SAVE_PATH/mysql exists and you do not want to delete it, you can run by manual execution:
# if your $DATA_PATH_HOST/mysql exists and you do not want to delete it, you can run by manual execution:
#
# docker-compose exec mysql bash
# mysql -u root -p < /docker-entrypoint-initdb.d/createdb.sql

View File

@ -6,5 +6,5 @@
[mysql]
[mysqld]
sql-mode="STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
sql-mode="STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION"
character-set-server=utf8

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,24 +1,32 @@
FROM nginx:alpine
MAINTAINER Mahmoud Zalt <mahmoud@zalt.me>
LABEL maintainer="Mahmoud Zalt <mahmoud@zalt.me>"
ADD nginx.conf /etc/nginx/
COPY 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.
# fix a problem--#397, change application source from dl-cdn.alpinelinux.org to aliyun source.
RUN sed -i 's/dl-cdn.alpinelinux.org/mirrors.aliyun.com/' /etc/apk/repositories
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 openssl \
&& 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
CMD ["nginx"]
ADD ./startup.sh /opt/startup.sh
RUN sed -i 's/\r//g' /opt/startup.sh
CMD ["/bin/bash", "/opt/startup.sh"]
EXPOSE 80 443

View File

@ -3,7 +3,13 @@ server {
listen 80;
listen [::]:80;
server_name app.dev;
# For https
# listen 443 ssl;
# listen [::]:443 ssl ipv6only=on;
# ssl_certificate /etc/nginx/ssl/default.crt;
# ssl_certificate_key /etc/nginx/ssl/default.key;
server_name app.test;
root /var/www/app;
index index.php index.html index.htm;
@ -18,6 +24,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,6 +3,12 @@ server {
listen 80 default_server;
listen [::]:80 default_server ipv6only=on;
# For https
# listen 443 ssl default_server;
# listen [::]:443 ssl default_server ipv6only=on;
# ssl_certificate /etc/nginx/ssl/default.crt;
# ssl_certificate_key /etc/nginx/ssl/default.key;
server_name localhost;
root /var/www/public;
index index.php index.html index.htm;
@ -18,6 +24,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,13 @@ server {
listen 80;
listen [::]:80;
server_name laravel.dev;
# For https
# listen 443 ssl;
# listen [::]:443 ssl ipv6only=on;
# ssl_certificate /etc/nginx/ssl/default.crt;
# ssl_certificate_key /etc/nginx/ssl/default.key;
server_name laravel.test;
root /var/www/laravel/public;
index index.php index.html index.htm;
@ -18,6 +24,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,13 @@ server {
listen 80;
listen [::]:80;
server_name symfony.dev;
# For https
# listen 443 ssl;
# listen [::]:443 ssl ipv6only=on;
# ssl_certificate /etc/nginx/ssl/default.crt;
# ssl_certificate_key /etc/nginx/ssl/default.key;
server_name symfony.test;
root /var/www/projects/symfony/web;
index index.php index.html index.htm;
@ -11,15 +17,23 @@ server {
try_files $uri @rewriteapp;
}
# For Symfony 3
location @rewriteapp {
rewrite ^(.*)$ /app.php/$1 last;
}
# For Symfony 4 config
# location @rewriteapp {
# rewrite ^(.*)$ /index.php/$1 last;
# }
location ~ ^/(app|app_dev|config)\.php(/|$) {
location ~ ^/(app|app_dev|config|index)\.php(/|$) {
fastcgi_pass php-upstream;
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;
}

3
nginx/ssl/.gitignore vendored Normal file
View File

@ -0,0 +1,3 @@
*.crt
*.csr
*.key

0
nginx/ssl/.gitkeep Normal file
View File

9
nginx/startup.sh Normal file
View File

@ -0,0 +1,9 @@
#!/bin/bash
if [ ! -f /etc/nginx/ssl/default.crt ]; then
openssl genrsa -out "/etc/nginx/ssl/default.key" 2048
openssl req -new -key "/etc/nginx/ssl/default.key" -out "/etc/nginx/ssl/default.csr" -subj "/CN=default/O=default/C=UK"
openssl x509 -req -days 365 -in "/etc/nginx/ssl/default.csr" -signkey "/etc/nginx/ssl/default.key" -out "/etc/nginx/ssl/default.crt"
fi
nginx

View File

@ -1,10 +1,10 @@
FROM percona:5.7
MAINTAINER DTUNES <diegotdai@gmai.com>
LABEL maintainer="DTUNES <diegotdai@gmai.com>"
RUN chown -R mysql:root /var/lib/mysql/
ADD my.cnf /etc/mysql/conf.d/my.cnf
COPY my.cnf /etc/mysql/conf.d/my.cnf
CMD ["mysqld"]

View File

@ -8,9 +8,9 @@
# GRANT ALL ON `myshop_db`.* TO 'appuser'@'%' ;
#
###
### this sql script is auto run when percona container start and $DATA_SAVE_PATH/percona not exists.
### this sql script is auto run when percona container start and $DATA_PATH_HOST/percona not exists.
###
### if your $DATA_SAVE_PATH/percona is exists and you do not want to delete it, you can run by manual execution:
### if your $DATA_PATH_HOST/percona is exists and you do not want to delete it, you can run by manual execution:
###
### docker-compose exec percona bash
### mysql -u root -p < /docker-entrypoint-initdb.d/createdb.sql

View File

@ -1,10 +1,10 @@
FROM fenglc/pgadmin4
FROM fenglc/pgadmin4:alpine
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

622
php-fpm/Dockerfile Normal file
View File

@ -0,0 +1,622 @@
#
#--------------------------------------------------------------------------
# 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}
#
ARG LARADOCK_PHP_VERSION
FROM laradock/php-fpm:2.2-${LARADOCK_PHP_VERSION}
LABEL maintainer="Mahmoud Zalt <mahmoud@zalt.me>"
ARG LARADOCK_PHP_VERSION
# Set Environment Variables
ENV DEBIAN_FRONTEND noninteractive
# always run apt update when start and after add new source list, then clean up at end.
RUN apt-get update -yqq && \
apt-get install -y apt-utils && \
pecl channel-update pecl.php.net
#
#--------------------------------------------------------------------------
# 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
#
###########################################################################
# SSH2:
###########################################################################
ARG INSTALL_SSH2=false
RUN if [ ${INSTALL_SSH2} = true ]; then \
# Install the ssh2 extension
apt-get -y install libssh2-1-dev && \
if [ $(php -r "echo PHP_MAJOR_VERSION;") = "5" ]; then \
pecl install -a ssh2-0.13; \
else \
pecl install -a ssh2-1.1.2; \
fi && \
docker-php-ext-enable ssh2 \
;fi
###########################################################################
# libfaketime:
###########################################################################
USER root
ARG INSTALL_FAKETIME=false
RUN if [ ${INSTALL_FAKETIME} = true ]; then \
apt-get install -y libfaketime \
;fi
###########################################################################
# SOAP:
###########################################################################
ARG INSTALL_SOAP=false
RUN if [ ${INSTALL_SOAP} = true ]; then \
# Install the soap extension
rm /etc/apt/preferences.d/no-debian-php && \
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
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 install -y postgresql-client \
;fi
###########################################################################
# xDebug:
###########################################################################
ARG INSTALL_XDEBUG=false
RUN if [ ${INSTALL_XDEBUG} = true ]; then \
# Install the xdebug extension
if [ $(php -r "echo PHP_MAJOR_VERSION;") = "5" ]; then \
pecl install xdebug-2.5.5; \
else \
pecl install xdebug; \
fi && \
docker-php-ext-enable xdebug \
;fi
# Copy xdebug configuration for remote debugging
COPY ./xdebug.ini /usr/local/etc/php/conf.d/xdebug.ini
RUN sed -i "s/xdebug.remote_autostart=0/xdebug.remote_autostart=1/" /usr/local/etc/php/conf.d/xdebug.ini && \
sed -i "s/xdebug.remote_enable=0/xdebug.remote_enable=1/" /usr/local/etc/php/conf.d/xdebug.ini && \
sed -i "s/xdebug.cli_color=0/xdebug.cli_color=1/" /usr/local/etc/php/conf.d/xdebug.ini
###########################################################################
# Phpdbg:
###########################################################################
ARG INSTALL_PHPDBG=false
RUN if [ ${INSTALL_PHPDBG} = true ]; then \
# Load the xdebug extension only with phpunit commands
apt-get install -y --force-yes php${LARADOCK_PHP_VERSION}-phpdbg \
;fi
###########################################################################
# 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
###########################################################################
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
###########################################################################
ARG INSTALL_SWOOLE=false
RUN if [ ${INSTALL_SWOOLE} = true ]; then \
# Install Php Swoole Extension
if [ $(php -r "echo PHP_MAJOR_VERSION;") = "5" ]; then \
pecl install swoole-2.0.11; \
else \
if [ $(php -r "echo PHP_MINOR_VERSION;") = "0" ]; then \
pecl install swoole-2.2.0; \
else \
pecl install swoole; \
fi \
fi && \
docker-php-ext-enable swoole \
;fi
###########################################################################
# MongoDB:
###########################################################################
ARG INSTALL_MONGO=false
RUN if [ ${INSTALL_MONGO} = true ]; then \
# Install the mongodb extension
if [ $(php -r "echo PHP_MAJOR_VERSION;") = "5" ]; then \
pecl install mongo && \
docker-php-ext-enable mongo \
;fi && \
pecl install mongodb && \
docker-php-ext-enable mongodb \
;fi
###########################################################################
# AMQP:
###########################################################################
ARG INSTALL_AMQP=false
RUN if [ ${INSTALL_AMQP} = true ]; then \
# download and install manually, to make sure it's compatible with ampq installed by pecl later
# install cmake first
apt-get update && apt-get -y install cmake && \
curl -L -o /tmp/rabbitmq-c.tar.gz https://github.com/alanxz/rabbitmq-c/archive/master.tar.gz && \
mkdir -p rabbitmq-c && \
tar -C rabbitmq-c -zxvf /tmp/rabbitmq-c.tar.gz --strip 1 && \
cd rabbitmq-c/ && \
mkdir _build && cd _build/ && \
cmake .. && \
cmake --build . --target install && \
# Install the amqp extension
pecl install amqp && \
docker-php-ext-enable amqp && \
# Install the sockets extension
docker-php-ext-install sockets \
;fi
###########################################################################
# ZipArchive:
###########################################################################
ARG INSTALL_ZIP_ARCHIVE=false
RUN if [ ${INSTALL_ZIP_ARCHIVE} = true ]; then \
apt-get install libzip-dev -y && \
docker-php-ext-configure zip --with-libzip && \
# Install the zip extension
docker-php-ext-install zip \
;fi
###########################################################################
# pcntl
###########################################################################
ARG INSTALL_PCNTL=false
RUN if [ ${INSTALL_PCNTL} = true ]; then \
# Installs pcntl, helpful for running Horizon
docker-php-ext-install pcntl \
;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 install -y libgmp-dev && \
if [ $(php -r "echo PHP_MAJOR_VERSION;") = "5" ]; then \
ln -s /usr/include/x86_64-linux-gnu/gmp.h /usr/include/gmp.h \
;fi && \
docker-php-ext-install gmp \
;fi
###########################################################################
# PHP Memcached:
###########################################################################
ARG INSTALL_MEMCACHED=false
RUN if [ ${INSTALL_MEMCACHED} = true ]; then \
# Install the php memcached extension
if [ $(php -r "echo PHP_MAJOR_VERSION;") = "5" ]; then \
curl -L -o /tmp/memcached.tar.gz "https://github.com/php-memcached-dev/php-memcached/archive/2.2.0.tar.gz"; \
else \
curl -L -o /tmp/memcached.tar.gz "https://github.com/php-memcached-dev/php-memcached/archive/php7.tar.gz"; \
fi \
&& mkdir -p memcached \
&& tar -C memcached -zxvf /tmp/memcached.tar.gz --strip 1 \
&& ( \
cd memcached \
&& phpize \
&& ./configure \
&& make -j$(nproc) \
&& make install \
) \
&& rm -r memcached \
&& rm /tmp/memcached.tar.gz \
&& docker-php-ext-enable memcached \
;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
ARG AEROSPIKE_PHP_REPOSITORY
RUN if [ ${INSTALL_AEROSPIKE} = true ]; then \
# Fix dependencies for PHPUnit within aerospike extension
apt-get -y install sudo wget && \
# Install the php aerospike extension
if [ $(php -r "echo PHP_MAJOR_VERSION;") = "5" ]; then \
curl -L -o /tmp/aerospike-client-php.tar.gz https://github.com/aerospike/aerospike-client-php5/archive/master.tar.gz; \
else \
curl -L -o /tmp/aerospike-client-php.tar.gz ${AEROSPIKE_PHP_REPOSITORY}; \
fi \
&& mkdir -p aerospike-client-php \
&& tar -C aerospike-client-php -zxvf /tmp/aerospike-client-php.tar.gz --strip 1 \
&& \
if [ $(php -r "echo PHP_MAJOR_VERSION;") = "5" ]; then \
( \
cd aerospike-client-php/src/aerospike \
&& phpize \
&& ./build.sh \
&& make install \
) \
else \
( \
cd aerospike-client-php/src \
&& phpize \
&& ./build.sh \
&& make install \
) \
fi \
&& rm /tmp/aerospike-client-php.tar.gz \
&& docker-php-ext-enable aerospike \
;fi
###########################################################################
# IonCube Loader:
###########################################################################
ARG INSTALL_IONCUBE=false
RUN if [ ${INSTALL_IONCUBE} = true ]; then \
# Install the php ioncube loader
curl -L -o /tmp/ioncube_loaders_lin_x86-64.tar.gz https://downloads.ioncube.com/loader_downloads/ioncube_loaders_lin_x86-64.tar.gz \
&& tar zxpf /tmp/ioncube_loaders_lin_x86-64.tar.gz -C /tmp \
&& mv /tmp/ioncube/ioncube_loader_lin_${LARADOCK_PHP_VERSION}.so $(php -r "echo ini_get('extension_dir');")/ioncube_loader.so \
&& printf "zend_extension=ioncube_loader.so\n" > $PHP_INI_DIR/conf.d/0ioncube.ini \
&& rm -rf /tmp/ioncube* \
;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
###########################################################################
# Human Language and Character Encoding Support:
###########################################################################
ARG INSTALL_INTL=false
RUN if [ ${INSTALL_INTL} = true ]; then \
# Install intl and requirements
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 install -y \
poppler-utils \
ghostscript \
;fi
###########################################################################
# LDAP:
###########################################################################
ARG INSTALL_LDAP=false
RUN if [ ${INSTALL_LDAP} = true ]; then \
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
RUN set -eux; if [ ${INSTALL_MSSQL} = true ]; then \
if [ $(php -r "echo PHP_MAJOR_VERSION;") = "5" ]; then \
apt-get -y install freetds-dev libsybdb5 \
&& ln -s /usr/lib/x86_64-linux-gnu/libsybdb.so /usr/lib/libsybdb.so \
&& docker-php-ext-install mssql pdo_dblib \
&& php -m | grep -q 'mssql' \
&& php -m | grep -q 'pdo_dblib' \
;else \
###########################################################################
# 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 install -y apt-transport-https gnupg \
&& curl https://packages.microsoft.com/keys/microsoft.asc | apt-key add - \
&& curl https://packages.microsoft.com/config/debian/9/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 msodbcsql17 locales \
&& echo "en_US.UTF-8 UTF-8" > /etc/locale.gen \
# link local aliases
&& ln -sfn /etc/locale.alias /usr/share/locale/locale.alias \
&& locale-gen \
# Install pdo_sqlsrv and sqlsrv from PECL. Replace pdo_sqlsrv-4.1.8preview with preferred version.
&& pecl install pdo_sqlsrv sqlsrv \
&& docker-php-ext-enable pdo_sqlsrv sqlsrv \
&& php -m | grep -q 'pdo_sqlsrv' \
&& php -m | grep -q 'sqlsrv' \
;fi \
;fi
###########################################################################
# Image optimizers:
###########################################################################
USER root
ARG INSTALL_IMAGE_OPTIMIZERS=false
RUN if [ ${INSTALL_IMAGE_OPTIMIZERS} = true ]; then \
apt-get install -y jpegoptim optipng pngquant gifsicle \
;fi
###########################################################################
# ImageMagick:
###########################################################################
USER root
ARG INSTALL_IMAGEMAGICK=false
RUN if [ ${INSTALL_IMAGEMAGICK} = true ]; then \
apt-get install -y libmagickwand-dev imagemagick && \
pecl install imagick && \
docker-php-ext-enable imagick \
;fi
###########################################################################
# IMAP:
###########################################################################
ARG INSTALL_IMAP=false
RUN if [ ${INSTALL_IMAP} = true ]; then \
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
###########################################################################
# Calendar:
###########################################################################
USER root
ARG INSTALL_CALENDAR=false
RUN if [ ${INSTALL_CALENDAR} = true ]; then \
docker-php-ext-configure calendar && \
docker-php-ext-install calendar \
;fi
###########################################################################
# Phalcon:
###########################################################################
ARG INSTALL_PHALCON=false
ARG LARADOCK_PHALCON_VERSION
ENV LARADOCK_PHALCON_VERSION ${LARADOCK_PHALCON_VERSION}
# Copy phalcon configration
COPY ./phalcon.ini /usr/local/etc/php/conf.d/phalcon.ini.disable
RUN if [ $INSTALL_PHALCON = true ]; then \
apt-get update && apt-get install -y unzip libpcre3-dev gcc make re2c \
&& curl -L -o /tmp/cphalcon.zip https://github.com/phalcon/cphalcon/archive/v${LARADOCK_PHALCON_VERSION}.zip \
&& unzip -d /tmp/ /tmp/cphalcon.zip \
&& cd /tmp/cphalcon-${LARADOCK_PHALCON_VERSION}/build \
&& ./install \
&& mv /usr/local/etc/php/conf.d/phalcon.ini.disable /usr/local/etc/php/conf.d/phalcon.ini \
&& rm -rf /tmp/cphalcon* \
;fi
###########################################################################
# APCU:
###########################################################################
ARG INSTALL_APCU=false
RUN if [ ${INSTALL_APCU} = true ]; then \
if [ $(php -r "echo PHP_MAJOR_VERSION;") = "5" ]; then \
pecl install -a apcu-4.0.11; \
else \
pecl install apcu; \
fi && \
docker-php-ext-enable apcu \
;fi
###########################################################################
# YAML:
###########################################################################
USER root
ARG INSTALL_YAML=false
RUN if [ ${INSTALL_YAML} = true ]; then \
apt-get install libyaml-dev -y ; \
if [ $(php -r "echo PHP_MAJOR_VERSION;") = "5" ]; then \
pecl install -a yaml-1.3.2; \
else \
pecl install yaml; \
fi && \
docker-php-ext-enable yaml \
;fi
###########################################################################
# Check PHP version:
###########################################################################
RUN php -v | head -n 1 | grep -q "PHP ${LARADOCK_PHP_VERSION}."
#
#--------------------------------------------------------------------------
# Final Touch
#--------------------------------------------------------------------------
#
COPY ./laravel.ini /usr/local/etc/php/conf.d
COPY ./xlaravel.pool.conf /usr/local/etc/php-fpm.d/
USER root
# Clean up
RUN apt-get clean && \
rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* && \
rm /var/log/lastlog /var/log/faillog
RUN usermod -u 1000 www-data
# Adding the faketime library to the preload file needs to be done last
# otherwise it will preload it for all commands that follow in this file
RUN if [ ${INSTALL_FAKETIME} = true ]; then \
echo "/usr/lib/x86_64-linux-gnu/faketime/libfaketime.so.1" > /etc/ld.so.preload \
;fi
WORKDIR /var/www
CMD ["php-fpm"]
EXPOSE 9000

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