Compare commits
417 Commits
Author | SHA1 | Date | |
---|---|---|---|
1962327de1 | |||
d8b2b8c233 | |||
0f65c60a89 | |||
8624335f61 | |||
7ef36daaba | |||
4ce25e95b4 | |||
20b0181b6d | |||
dc234b9b28 | |||
29483bab8c | |||
85c57a0b6f | |||
2f996450e5 | |||
1823060c4b | |||
6fa2b75bb7 | |||
2ec23122e7 | |||
a1e01ac19b | |||
eccc149f45 | |||
9cb7624da7 | |||
cd1c56c1e2 | |||
9d42ea6b9d | |||
b0bfa5f1d3 | |||
dcf6b6d9ac | |||
1d9cbd7c75 | |||
fd56c4dcda | |||
0351cf531b | |||
09e998b723 | |||
06d0105514 | |||
0cbc51bf72 | |||
08dfc9f816 | |||
b71f50bf83 | |||
7d1dc66f77 | |||
f3c934222f | |||
a90865d67c | |||
a0a5c85a54 | |||
a807caa30a | |||
bc27e96337 | |||
11912055ec | |||
3509473b89 | |||
5521f71428 | |||
339d47f303 | |||
600a6154b4 | |||
4673ba7b31 | |||
154249a08f | |||
5bffd43b55 | |||
0e9d044c6f | |||
21d203da73 | |||
a3cbfd71f5 | |||
33234fd3b5 | |||
f47e40b262 | |||
7199ae5a34 | |||
6caa4c5fb9 | |||
3fceba0709 | |||
75b3fa499e | |||
999118b674 | |||
4b2c440146 | |||
a4d3f9bd77 | |||
65444d39b6 | |||
5016e88515 | |||
e8eb97b398 | |||
66c61d9a72 | |||
d8f95bac2a | |||
ad316bab50 | |||
6e43dd804d | |||
ba1a83b40b | |||
34ad8acdbf | |||
d5ea58eb6e | |||
567756475d | |||
ad21cd225f | |||
f2f5aeabd6 | |||
0f4a417f4e | |||
42a960338b | |||
2e75c25c7f | |||
beec32498e | |||
573b8e0afd | |||
409f91662f | |||
185ba60a09 | |||
a03ce23bf5 | |||
fc8736773c | |||
d5efd5309e | |||
da3a7226bd | |||
cc20ac2421 | |||
402383e7b7 | |||
9250326664 | |||
51d253db21 | |||
69de0668e9 | |||
472df4d194 | |||
62b716f469 | |||
10ba847415 | |||
a0595491a2 | |||
7c88c33b29 | |||
808bd72d13 | |||
07410e80cf | |||
d1170f51c8 | |||
8158b6f50e | |||
97adef735a | |||
6e6284d00f | |||
890faa2f3c | |||
f6f37ec020 | |||
20464d1bd2 | |||
a5813de5bf | |||
aee1adb0a1 | |||
dd322a0e71 | |||
99c2c846ff | |||
d08177d2c2 | |||
b990af3353 | |||
b2c09f6b15 | |||
9e5fdda294 | |||
77bea30cb0 | |||
dac336e6a1 | |||
d142500216 | |||
ad1509dd62 | |||
9ab84c5174 | |||
6b6e2d5f86 | |||
3ad17eca0a | |||
f54e6baf02 | |||
59f3b574da | |||
0c41fceae1 | |||
76b95752bf | |||
101986c76f | |||
add78a19f4 | |||
a0c5ef75d2 | |||
06353031ac | |||
1f193a5310 | |||
b45bf46436 | |||
0586247e3f | |||
0f8891b56c | |||
ebeb9e43f3 | |||
52afd9ef62 | |||
31a4e29c81 | |||
067218e010 | |||
5ed3526e17 | |||
54e6d66c83 | |||
8a090f3e46 | |||
1e5d787a7e | |||
83140d9939 | |||
9b85ac6c2b | |||
871a9d032a | |||
805d7f94e8 | |||
c84a57cd13 | |||
e6817288f8 | |||
cd849dda21 | |||
21a5d5bf98 | |||
2ab11bf1af | |||
141d2dbe7f | |||
4d384c0a67 | |||
245515b41d | |||
9a9d30f173 | |||
99c7758799 | |||
164069c256 | |||
5773d270ca | |||
f810962d84 | |||
f5f23bed1b | |||
e694254fb0 | |||
c34d2d12b3 | |||
349be8b30e | |||
436e9e5a66 | |||
b445479c99 | |||
70e10a4953 | |||
1ab5b405a9 | |||
91784cbf8a | |||
415a6159f6 | |||
2cf368e2cc | |||
f08c3bda4d | |||
c5c4d19476 | |||
40796651f6 | |||
188a7d7624 | |||
3f1f60da91 | |||
21e3ef8c47 | |||
7876aa2360 | |||
dee66c2495 | |||
ce8bdb91cf | |||
f90a81ef8b | |||
23b8239cfa | |||
b7b7690bbe | |||
e054b622f3 | |||
c4aef8e901 | |||
47dc7c1eb9 | |||
8fc33f5bb9 | |||
8607f670c1 | |||
04105b912d | |||
a797d67f14 | |||
4169a9b357 | |||
00e43655bd | |||
8d0bd8505c | |||
dc5474d31b | |||
ab9f5aba6e | |||
cbd0f1de79 | |||
2a2d78e249 | |||
9b328cce1f | |||
43ba898df3 | |||
3b0f271782 | |||
327e79f902 | |||
e546c9c190 | |||
880c3684d7 | |||
27ec06bbf0 | |||
6fe3dc75b3 | |||
dd751c56b7 | |||
91d202dff4 | |||
ca376935e1 | |||
227bc37376 | |||
74ca3b82a1 | |||
d23c553313 | |||
16f88029e0 | |||
74217478e0 | |||
13f55ef796 | |||
715c2176b8 | |||
43bf67b77e | |||
4b5a1ef628 | |||
198c3906b2 | |||
9bd34ed665 | |||
76da02e779 | |||
a52a944003 | |||
4cffb2fc99 | |||
92dda4695c | |||
c42e039945 | |||
72d550e6e5 | |||
e1c3524f43 | |||
91131f0963 | |||
545d50105c | |||
61d3874736 | |||
03c7611010 | |||
48de39b1a1 | |||
2ca9d3c5c6 | |||
3b219d2974 | |||
e77480b69f | |||
b7f89e6b00 | |||
acbe7160d9 | |||
f53565f2a6 | |||
dfff0b2fa0 | |||
82a2681eed | |||
e792aa654e | |||
87e1bdeb92 | |||
f05fdc71d5 | |||
6e96b1c6f9 | |||
fad7c11d53 | |||
639b14445f | |||
2a74f1433c | |||
0b902e3e96 | |||
f27b3aa4be | |||
722f7d09c0 | |||
0077de28a1 | |||
d098f1f6ad | |||
4ea9cd0663 | |||
9de6d9b9e1 | |||
04b4af829f | |||
bf2dbca286 | |||
0b7cb81f47 | |||
368c85dc61 | |||
ae7dda9ef2 | |||
7e88fb56f1 | |||
807443455a | |||
c44338e370 | |||
b4ded4f21b | |||
3e5a6029ab | |||
ee205d1198 | |||
0fcb8b43cc | |||
7bd22f015e | |||
07acf291fa | |||
cfe6e254a7 | |||
5efda6714b | |||
a83477b439 | |||
00f8c3407e | |||
0aaa2c742e | |||
4ada536d68 | |||
222febadb5 | |||
0445d76d11 | |||
7fc3a9cb7a | |||
b738253a26 | |||
6e6a658a79 | |||
4bc6526c3c | |||
d4f9b04467 | |||
b9e982c112 | |||
ad3698670b | |||
71cc109334 | |||
0d804cd29a | |||
3fcebd49e7 | |||
86eccdb962 | |||
0f46659172 | |||
017fcf188b | |||
63c69231f7 | |||
4730ed1b78 | |||
c21c6760ac | |||
1c194f5c87 | |||
81b34a72eb | |||
fde265ed6a | |||
64029d9270 | |||
407c08017d | |||
2156139b5a | |||
e1ccd84c16 | |||
d139b6bc2e | |||
5e10abd536 | |||
c6a8500c44 | |||
b981168111 | |||
cd1c9c0d44 | |||
8e32b93264 | |||
a2ae141a75 | |||
f22ceb71ab | |||
6ea86fbce3 | |||
dec08ec2b1 | |||
98fba83331 | |||
694b39ddf4 | |||
d0167475ba | |||
3bdab382ea | |||
80f6e8b60c | |||
ba61566f28 | |||
9ae10d32ce | |||
cf136f891b | |||
59dff53176 | |||
34267ffc4d | |||
57918b69a7 | |||
c11658559a | |||
47c74d1334 | |||
e779bf96ab | |||
06ce5ca222 | |||
c06c28aa04 | |||
c1e80e3af4 | |||
a7c9232193 | |||
265bc13917 | |||
8d410e9c82 | |||
f56a585ab2 | |||
9b8d4806a8 | |||
73b95357ac | |||
65a8bbc6a4 | |||
7c1f3060bf | |||
45e1ecf3c0 | |||
c6b1eb016d | |||
c5005f54f7 | |||
cf5b1af31a | |||
8dea201b68 | |||
50a3e24db8 | |||
9835a20863 | |||
5bcb99dfb9 | |||
9877f0453e | |||
ff20333d8c | |||
a99281cda8 | |||
1342b696ea | |||
2fc0f3cb2e | |||
6c3b18340f | |||
de247a074e | |||
176dd74906 | |||
819b1eb3bc | |||
05dd1b0339 | |||
f0401f5047 | |||
be13fdba7f | |||
bd0f04bd80 | |||
f7ac8cf862 | |||
b47963c80d | |||
35183eff42 | |||
c5ccc2f4ff | |||
34ef36cd7e | |||
7138d7a13c | |||
c7695ca175 | |||
6f3c41b84d | |||
46852bc31b | |||
5a21337cc5 | |||
e2091cd309 | |||
1ead8aa060 | |||
7e393efbb6 | |||
beecbe758b | |||
1b1f6b7048 | |||
fd5bb38a8c | |||
5835d185f2 | |||
4fc85d499d | |||
23ee4f6679 | |||
4e486280f4 | |||
9e807e39ee | |||
894b0197e0 | |||
c2c30bfd0f | |||
152c896515 | |||
4682aff622 | |||
a31114955a | |||
f4ede08b9c | |||
eac717fb21 | |||
c05c675408 | |||
60998ed1e4 | |||
05879bdda2 | |||
70a7bdca19 | |||
a71d5a8548 | |||
9fa3733622 | |||
b8e657b68f | |||
8aaa074af2 | |||
3005dde240 | |||
b3922995e1 | |||
49e48edefd | |||
182386b514 | |||
bea122a1fd | |||
7fb00658cf | |||
ee03bb607f | |||
9abd7c30f2 | |||
6a4509c0ca | |||
7f5d9d07d1 | |||
a5c505bf28 | |||
427088e11b | |||
3467821c28 | |||
f9553dff4c | |||
8e556008d8 | |||
17ea7b313f | |||
dff0e82ddb | |||
1702a5cc09 | |||
f15bc8e6b7 | |||
903c77421c | |||
2bedfdd9d7 | |||
525c4313a0 | |||
01c358b6bc | |||
a0685705c0 | |||
98b2b2e47b | |||
eeee14338f | |||
a2edf57e3b | |||
881cbfb8c2 | |||
508e9ebd9e | |||
6cff904eba | |||
04770bc4ec | |||
ca9c07eb76 | |||
8f7b1b7e9f | |||
3cc917c9de | |||
eefd04dbfc | |||
a657dce572 | |||
025a339062 |
6
.github/PULL_REQUEST_TEMPLATE.md
vendored
6
.github/PULL_REQUEST_TEMPLATE.md
vendored
@ -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
10
.github/README-zh.md
vendored
@ -669,19 +669,19 @@ PHP-CLI 安装在 Workspace 容器,改变 PHP-CLI 版本你需要编辑 `works
|
||||
<a name="Use-custom-Domain"></a>
|
||||
### 使用自定义域名 (替换 Docker 的 IP)
|
||||
|
||||
假定你的自定义域名是 `laravel.dev`
|
||||
假定你的自定义域名是 `laravel.test`
|
||||
|
||||
1 - 打开 `/etc/hosts` 文件添加以下内容,映射你的 localhost 地址 `127.0.0.1` 为 `laravel.dev` 域名
|
||||
1 - 打开 `/etc/hosts` 文件添加以下内容,映射你的 localhost 地址 `127.0.0.1` 为 `laravel.test` 域名
|
||||
```bash
|
||||
127.0.0.1 laravel.dev
|
||||
127.0.0.1 laravel.test
|
||||
```
|
||||
|
||||
2 - 打开你的浏览器访问 `{http://laravel.dev}`
|
||||
2 - 打开你的浏览器访问 `{http://laravel.test}`
|
||||
|
||||
你可以在 nginx 配置文件自定义服务器名称,如下:
|
||||
|
||||
```conf
|
||||
server_name laravel.dev;
|
||||
server_name laravel.test;
|
||||
```
|
||||
|
||||
<a name="Enable-Global-Composer-Build-Install"></a>
|
||||
|
49
.github/README.md
vendored
49
.github/README.md
vendored
@ -6,7 +6,7 @@
|
||||
|
||||
<p align="center">
|
||||
<a href="https://travis-ci.org/laradock/laradock"><img src="https://travis-ci.org/laradock/laradock.svg?branch=master" alt="Build status"></a>
|
||||
<a href="https://github.com/laradock/laradock/stargazers"><img src="https://img.shields.io/github/stars/laradock/laradock.svg" alt="GitHub stars"></a>
|
||||
<a href="https://github.com/laradock/laradock/stargazers"><a href="#backers" alt="sponsors on Open Collective"><img src="https://opencollective.com/laradock/backers/badge.svg" /></a> <a href="#sponsors" alt="Sponsors on Open Collective"><img src="https://opencollective.com/laradock/sponsors/badge.svg" /></a> <img src="https://img.shields.io/github/stars/laradock/laradock.svg" alt="GitHub stars"></a>
|
||||
<a href="https://github.com/laradock/laradock/network"><img src="https://img.shields.io/github/forks/laradock/laradock.svg" alt="GitHub forks"></a>
|
||||
<a href="https://github.com/laradock/laradock/issues"><img src="https://img.shields.io/github/issues/laradock/laradock.svg" alt="GitHub issues"></a>
|
||||
<a href="https://raw.githubusercontent.com/laradock/laradock/master/LICENSE"><img src="https://img.shields.io/badge/license-MIT-blue.svg" alt="GitHub license"></a>
|
||||
@ -29,8 +29,27 @@
|
||||
</p>
|
||||
|
||||
|
||||
## Credits
|
||||
## Sponsors
|
||||
|
||||
Support this project by becoming a sponsor.
|
||||
|
||||
Your logo will show up on the [github repository](https://github.com/laradock/laradock/) index page and the [documentation](http://laradock.io/) main page, with a link to your website. [[Become a sponsor](https://opencollective.com/laradock#sponsor)]
|
||||
|
||||
<a href="https://opencollective.com/laradock/sponsor/0/website" target="_blank"><img src="https://opencollective.com/laradock/sponsor/0/avatar.svg"></a>
|
||||
<a href="https://opencollective.com/laradock/sponsor/1/website" target="_blank"><img src="https://opencollective.com/laradock/sponsor/1/avatar.svg"></a>
|
||||
<a href="https://opencollective.com/laradock/sponsor/2/website" target="_blank"><img src="https://opencollective.com/laradock/sponsor/2/avatar.svg"></a>
|
||||
<a href="https://opencollective.com/laradock/sponsor/3/website" target="_blank"><img src="https://opencollective.com/laradock/sponsor/3/avatar.svg"></a>
|
||||
<a href="https://opencollective.com/laradock/sponsor/4/website" target="_blank"><img src="https://opencollective.com/laradock/sponsor/4/avatar.svg"></a>
|
||||
<a href="https://opencollective.com/laradock/sponsor/5/website" target="_blank"><img src="https://opencollective.com/laradock/sponsor/5/avatar.svg"></a>
|
||||
<a href="https://opencollective.com/laradock/sponsor/6/website" target="_blank"><img src="https://opencollective.com/laradock/sponsor/6/avatar.svg"></a>
|
||||
<a href="https://opencollective.com/laradock/sponsor/7/website" target="_blank"><img src="https://opencollective.com/laradock/sponsor/7/avatar.svg"></a>
|
||||
<a href="https://opencollective.com/laradock/sponsor/8/website" target="_blank"><img src="https://opencollective.com/laradock/sponsor/8/avatar.svg"></a>
|
||||
<a href="https://opencollective.com/laradock/sponsor/9/website" target="_blank"><img src="https://opencollective.com/laradock/sponsor/9/avatar.svg"></a>
|
||||
|
||||
|
||||
## Contributors
|
||||
|
||||
#### Core contributors:
|
||||
- [Mahmoud Zalt](https://github.com/Mahmoudz) @mahmoudz | [Twitter](https://twitter.com/Mahmoud_Zalt) | [Site](http://zalt.me)
|
||||
- [Bo-Yi Wu](https://github.com/appleboy) @appleboy | [Twitter](https://twitter.com/appleboy)
|
||||
- [Philippe Trépanier](https://github.com/philtrep) @philtrep
|
||||
@ -42,7 +61,31 @@
|
||||
- [Yu-Lung Shao (Allen)](https://github.com/bestlong) @bestlong
|
||||
- [Milan Urukalo](https://github.com/urukalo) @urukalo
|
||||
- [Vince Chu](https://github.com/vwchu) @vwchu
|
||||
- Join Us.
|
||||
- [Huadong Zuo](https://github.com/zuohuadong) @zuohuadong
|
||||
- Join us, by submitting 20 useful PR's.
|
||||
|
||||
#### Awesome contributors:
|
||||
|
||||
<a href="https://github.com/laradock/laradock/graphs/contributors"><img src="https://opencollective.com/laradock/contributors.svg?width=890" /></a>
|
||||
|
||||
|
||||
## Donations
|
||||
|
||||
> Help keeping the project development going, by [contributing](http://laradock.io/contributing) or donating a little.
|
||||
> Thanks in advance.
|
||||
|
||||
Donate directly via [Paypal](https://www.paypal.me/mzalt)
|
||||
|
||||
[](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)
|
||||
|
||||
[](https://beerpay.io/laradock/laradock)
|
||||
|
||||
|
||||
## License
|
||||
|
||||
|
3
.gitignore
vendored
3
.gitignore
vendored
@ -3,4 +3,5 @@
|
||||
/data
|
||||
.env
|
||||
/.project
|
||||
.docker-sync
|
||||
.docker-sync
|
||||
/jenkins/jenkins_home
|
||||
|
62
.gitlab-ci.yml
Normal file
62
.gitlab-ci.yml
Normal 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
|
59
.travis.yml
59
.travis.yml
@ -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 -
|
||||
|
@ -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
@ -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`
|
||||
|
||||
|
||||
|
||||
@ -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 you want to be installed in your environment. You can always refer to the `docker-compose.yml` file to see how those variables have been used.
|
||||
|
||||
Depending on the host's operating system you may need to change the value given to `COMPOSE_FILE`. When you are running Laradock on Mac OS the correct file separator to use is `:`. When running Laradock from a Windows environment multiple files must be separated with `;`.
|
||||
|
||||
2 - Build the enviroment and run it using `docker-compose`
|
||||
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/`.
|
||||
|
@ -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
|
||||
|
||||
@ -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:
|
||||
|
@ -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,7 +97,7 @@ 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...
|
||||
HAProxy - Certbot - Blackfire - Selenium - Jenkins - ElasticSearch - Kibana - Grafana - Gitlab - Mailhog - MailDev - Minio - Varnish - Swoole - NetData - Portainer - Laravel Echo...
|
||||
|
||||
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.
|
||||
@ -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.
|
||||
|
||||
[](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)
|
||||
|
||||
[](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)
|
||||
|
||||
[](https://beerpay.io/laradock/laradock)
|
||||
|
@ -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.
|
||||
|
@ -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 }}
|
||||
|
||||
|
@ -24,6 +24,20 @@
|
||||
|
||||
<article class="article">
|
||||
<div class="wrapper">
|
||||
|
||||
<!-- ------------------------------------------------------------------------- -->
|
||||
<!-- Google Ads -->
|
||||
<script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
|
||||
<!-- Laradock Horizontal -->
|
||||
<ins class="adsbygoogle"
|
||||
style="display:inline-block;width:890px;height:100px"
|
||||
data-ad-client="ca-pub-9826129398689742"
|
||||
data-ad-slot="2340256024"></ins>
|
||||
<script>
|
||||
(adsbygoogle = window.adsbygoogle || []).push({});
|
||||
</script>
|
||||
<!-- ------------------------------------------------------------------------- -->
|
||||
|
||||
{{ range where .Site.Pages "Type" "index" }}
|
||||
<h1>{{ .Title }} {{ if .IsDraft }} (Draft){{ end }}</h1>
|
||||
|
||||
|
@ -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>
|
||||
|
@ -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
|
||||
|
@ -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;
|
||||
}
|
4
LICENSE
4
LICENSE
@ -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.
|
||||
|
@ -3,7 +3,7 @@ FROM adminer:4.3.0
|
||||
# Version 4.3.1 contains PostgreSQL login errors. See docs.
|
||||
# See https://sourceforge.net/p/adminer/bugs-and-features/548/
|
||||
|
||||
MAINTAINER Patrick Artounian <partounian@gmail.com>
|
||||
LABEL maintainer="Patrick Artounian <partounian@gmail.com>"
|
||||
|
||||
# Add volume for sessions to allow session persistence
|
||||
VOLUME /sessions
|
||||
|
@ -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
|
||||
|
@ -1,14 +1,15 @@
|
||||
FROM webdevops/apache:ubuntu-16.04
|
||||
|
||||
MAINTAINER Eric Pfeiffer <computerfr33k@users.noreply.github.com>
|
||||
LABEL maintainer="Eric Pfeiffer <computerfr33k@users.noreply.github.com>"
|
||||
|
||||
ARG PHP_UPSTREAM_CONTAINER=php-fpm
|
||||
ARG PHP_UPSTREAM_PORT=9000
|
||||
ARG PHP_UPSTREAM_TIMEOUT=60
|
||||
ARG DOCUMENT_ROOT=/var/www/
|
||||
|
||||
ENV WEB_PHP_SOCKET=${PHP_UPSTREAM_CONTAINER}:${PHP_UPSTREAM_PORT}
|
||||
|
||||
ENV WEB_DOCUMENT_ROOT=/var/www/
|
||||
ENV WEB_DOCUMENT_ROOT=${DOCUMENT_ROOT}
|
||||
|
||||
ENV WEB_PHP_TIMEOUT=${PHP_UPSTREAM_TIMEOUT}
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
<VirtualHost *:80>
|
||||
ServerName laradock.dev
|
||||
ServerName laradock.test
|
||||
DocumentRoot /var/www/
|
||||
Options Indexes FollowSymLinks
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
<VirtualHost *:80>
|
||||
ServerName sample.dev
|
||||
ServerName sample.test
|
||||
DocumentRoot /var/www/sample/public/
|
||||
Options Indexes FollowSymLinks
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
FROM python:slim
|
||||
|
||||
MAINTAINER melchabcede@gmail.com
|
||||
LABEL maintainer="melchabcede@gmail.com"
|
||||
|
||||
RUN pip install --upgrade --no-cache-dir awsebcli
|
||||
RUN apt-get -yqq update && apt-get -yqq install git-all
|
||||
|
@ -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
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
FROM phusion/baseimage:latest
|
||||
|
||||
MAINTAINER Mahmoud Zalt <mahmoud@zalt.me>
|
||||
LABEL maintainer="Mahmoud Zalt <mahmoud@zalt.me>"
|
||||
|
||||
ENV DEBIAN_FRONTEND noninteractive
|
||||
ENV PATH /usr/local/rvm/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
|
||||
@ -13,4 +13,4 @@ VOLUME /var/lib/beanstalkd/data
|
||||
|
||||
EXPOSE 11300
|
||||
|
||||
CMD ["/usr/bin/beanstalkd"]
|
||||
CMD ["/usr/bin/beanstalkd"]
|
||||
|
@ -25,6 +25,22 @@
|
||||
# dns cloudflare
|
||||
#}
|
||||
}
|
||||
laradock.demo {
|
||||
|
||||
laradock1.demo:80 {
|
||||
root /var/www/public
|
||||
# Create a Webhook in git.
|
||||
#git {
|
||||
#repo https://github.com/xxx/xxx
|
||||
# path /home/xxx
|
||||
# #interval 60
|
||||
# hook webhook laradock
|
||||
# hook_type generic
|
||||
#}
|
||||
|
||||
}
|
||||
|
||||
laradock2.demo:80 {
|
||||
# Create a Proxy and cors.
|
||||
#proxy domain.com
|
||||
#cors
|
||||
}
|
||||
|
@ -1,25 +1,17 @@
|
||||
FROM alpine:3.5
|
||||
FROM zuohuadong/caddy: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
|
||||
ARG plugins="cors"
|
||||
|
||||
LABEL caddy_version="$caddy_version" architecture="amd64"
|
||||
## ARG plugins="cors cgi cloudflare azure linode"
|
||||
|
||||
RUN apk update \
|
||||
&& apk upgrade \
|
||||
&& apk add --no-cache openssh-client git tar curl
|
||||
|
||||
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
|
||||
|
||||
WORKDIR /var/www/public
|
||||
|
||||
CMD ["/usr/bin/caddy", "-conf", "/etc/Caddyfile"]
|
||||
CMD ["/usr/bin/caddy", "-conf", "/etc/Caddyfile","-agree"]
|
||||
|
@ -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
|
||||
|
||||
|
@ -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:
|
||||
|
@ -1,37 +1,82 @@
|
||||
version: '2'
|
||||
version: '3'
|
||||
|
||||
networks:
|
||||
frontend:
|
||||
driver: ${NETWORKS_DRIVER}
|
||||
backend:
|
||||
driver: ${NETWORKS_DRIVER}
|
||||
|
||||
volumes:
|
||||
mysql:
|
||||
driver: ${VOLUMES_DRIVER}
|
||||
percona:
|
||||
driver: ${VOLUMES_DRIVER}
|
||||
mssql:
|
||||
driver: ${VOLUMES_DRIVER}
|
||||
postgres:
|
||||
driver: ${VOLUMES_DRIVER}
|
||||
memcached:
|
||||
driver: ${VOLUMES_DRIVER}
|
||||
redis:
|
||||
driver: ${VOLUMES_DRIVER}
|
||||
neo4j:
|
||||
driver: ${VOLUMES_DRIVER}
|
||||
mariadb:
|
||||
driver: ${VOLUMES_DRIVER}
|
||||
mongo:
|
||||
driver: ${VOLUMES_DRIVER}
|
||||
minio:
|
||||
driver: ${VOLUMES_DRIVER}
|
||||
rethinkdb:
|
||||
driver: ${VOLUMES_DRIVER}
|
||||
phpmyadmin:
|
||||
driver: ${VOLUMES_DRIVER}
|
||||
adminer:
|
||||
driver: ${VOLUMES_DRIVER}
|
||||
aerospike:
|
||||
driver: ${VOLUMES_DRIVER}
|
||||
caddy:
|
||||
driver: ${VOLUMES_DRIVER}
|
||||
elasticsearch:
|
||||
driver: ${VOLUMES_DRIVER}
|
||||
|
||||
services:
|
||||
|
||||
### Applications Code Container #############################
|
||||
|
||||
applications:
|
||||
image: tianon/true
|
||||
volumes:
|
||||
- ${APPLICATION}:/var/www
|
||||
|
||||
### Workspace Utilities Container ###########################
|
||||
|
||||
### Workspace Utilities ##################################
|
||||
workspace:
|
||||
build:
|
||||
context: ./workspace
|
||||
args:
|
||||
- PHP_VERSION=${PHP_VERSION}
|
||||
- INSTALL_SUBVERSION=${WORKSPACE_INSTALL_SUBVERSION}
|
||||
- INSTALL_XDEBUG=${WORKSPACE_INSTALL_XDEBUG}
|
||||
- INSTALL_PHPDBG=${WORKSPACE_INSTALL_PHPDBG}
|
||||
- INSTALL_BLACKFIRE=${INSTALL_BLACKFIRE}
|
||||
- INSTALL_SOAP=${WORKSPACE_INSTALL_SOAP}
|
||||
- INSTALL_LDAP=${WORKSPACE_INSTALL_LDAP}
|
||||
- INSTALL_IMAP=${WORKSPACE_INSTALL_IMAP}
|
||||
- INSTALL_MONGO=${WORKSPACE_INSTALL_MONGO}
|
||||
- INSTALL_AMQP=${WORKSPACE_INSTALL_AMQP}
|
||||
- INSTALL_PHPREDIS=${WORKSPACE_INSTALL_PHPREDIS}
|
||||
- INSTALL_MSSQL=${WORKSPACE_INSTALL_MSSQL}
|
||||
- INSTALL_NODE=${WORKSPACE_INSTALL_NODE}
|
||||
- NPM_REGISTRY=${WORKSPACE_NPM_REGISTRY}
|
||||
- INSTALL_YARN=${WORKSPACE_INSTALL_YARN}
|
||||
- INSTALL_NPM_GULP=${WORKSPACE_INSTALL_NPM_GULP}
|
||||
- INSTALL_NPM_BOWER=${WORKSPACE_INSTALL_NPM_BOWER}
|
||||
- INSTALL_NPM_VUE_CLI=${WORKSPACE_INSTALL_NPM_VUE_CLI}
|
||||
- INSTALL_DRUSH=${WORKSPACE_INSTALL_DRUSH}
|
||||
- INSTALL_DRUPAL_CONSOLE=${WORKSPACE_INSTALL_DRUPAL_CONSOLE}
|
||||
- INSTALL_AEROSPIKE=${WORKSPACE_INSTALL_AEROSPIKE}
|
||||
- AEROSPIKE_PHP_REPOSITORY=${AEROSPIKE_PHP_REPOSITORY}
|
||||
- INSTALL_V8JS=${WORKSPACE_INSTALL_V8JS}
|
||||
- COMPOSER_GLOBAL_INSTALL=${WORKSPACE_COMPOSER_GLOBAL_INSTALL}
|
||||
- COMPOSER_REPO_PACKAGIST=${WORKSPACE_COMPOSER_REPO_PACKAGIST}
|
||||
- INSTALL_WORKSPACE_SSH=${WORKSPACE_INSTALL_WORKSPACE_SSH}
|
||||
- INSTALL_LARAVEL_ENVOY=${WORKSPACE_INSTALL_LARAVEL_ENVOY}
|
||||
- INSTALL_LARAVEL_INSTALLER=${WORKSPACE_INSTALL_LARAVEL_INSTALLER}
|
||||
- INSTALL_DEPLOYER=${WORKSPACE_INSTALL_DEPLOYER}
|
||||
- INSTALL_PRESTISSIMO=${WORKSPACE_INSTALL_PRESTISSIMO}
|
||||
- INSTALL_LINUXBREW=${WORKSPACE_INSTALL_LINUXBREW}
|
||||
- INSTALL_MC=${WORKSPACE_INSTALL_MC}
|
||||
- INSTALL_SYMFONY=${WORKSPACE_INSTALL_SYMFONY}
|
||||
@ -39,44 +84,58 @@ services:
|
||||
- INSTALL_IMAGE_OPTIMIZERS=${WORKSPACE_INSTALL_IMAGE_OPTIMIZERS}
|
||||
- INSTALL_IMAGEMAGICK=${WORKSPACE_INSTALL_IMAGEMAGICK}
|
||||
- INSTALL_TERRAFORM=${WORKSPACE_INSTALL_TERRAFORM}
|
||||
- INSTALL_DUSK_DEPS=${WORKSPACE_INSTALL_DUSK_DEPS}
|
||||
- INSTALL_PG_CLIENT=${WORKSPACE_INSTALL_PG_CLIENT}
|
||||
- INSTALL_SWOOLE=${WORKSPACE_INSTALL_SWOOLE}
|
||||
- INSTALL_LIBPNG=${WORKSPACE_INSTALL_LIBPNG}
|
||||
- PUID=${WORKSPACE_PUID}
|
||||
- PGID=${WORKSPACE_PGID}
|
||||
- CHROME_DRIVER_VERSION=${WORKSPACE_CHROME_DRIVER_VERSION}
|
||||
- NODE_VERSION=${WORKSPACE_NODE_VERSION}
|
||||
- YARN_VERSION=${WORKSPACE_YARN_VERSION}
|
||||
- DRUSH_VERSION=${WORKSPACE_DRUSH_VERSION}
|
||||
- TZ=${WORKSPACE_TIMEZONE}
|
||||
- BLACKFIRE_CLIENT_ID=${BLACKFIRE_CLIENT_ID}
|
||||
- BLACKFIRE_CLIENT_TOKEN=${BLACKFIRE_CLIENT_TOKEN}
|
||||
dockerfile: "Dockerfile-${PHP_VERSION}"
|
||||
volumes_from:
|
||||
- applications
|
||||
volumes:
|
||||
- ${APP_CODE_PATH_HOST}:${APP_CODE_PATH_CONTAINER}
|
||||
extra_hosts:
|
||||
- "dockerhost:${DOCKER_HOST_IP}"
|
||||
ports:
|
||||
- "${WORKSPACE_SSH_PORT}:22"
|
||||
tty: true
|
||||
environment:
|
||||
- PHP_IDE_CONFIG=${PHP_IDE_CONFIG}
|
||||
networks:
|
||||
- frontend
|
||||
- backend
|
||||
|
||||
### PHP-FPM Container #######################################
|
||||
|
||||
### PHP-FPM ##############################################
|
||||
php-fpm:
|
||||
build:
|
||||
context: ./php-fpm
|
||||
args:
|
||||
- PHP_VERSION=${PHP_VERSION}
|
||||
- INSTALL_XDEBUG=${PHP_FPM_INSTALL_XDEBUG}
|
||||
- INSTALL_PHPDBG=${PHP_FPM_INSTALL_PHPDBG}
|
||||
- INSTALL_BLACKFIRE=${INSTALL_BLACKFIRE}
|
||||
- INSTALL_SOAP=${PHP_FPM_INSTALL_SOAP}
|
||||
- INSTALL_IMAP=${PHP_FPM_INSTALL_IMAP}
|
||||
- INSTALL_MONGO=${PHP_FPM_INSTALL_MONGO}
|
||||
- INSTALL_AMQP=${PHP_FPM_INSTALL_AMQP}
|
||||
- INSTALL_MSSQL=${PHP_FPM_INSTALL_MSSQL}
|
||||
- INSTALL_ZIP_ARCHIVE=${PHP_FPM_INSTALL_ZIP_ARCHIVE}
|
||||
- INSTALL_BCMATH=${PHP_FPM_INSTALL_BCMATH}
|
||||
- INSTALL_GMP=${PHP_FPM_INSTALL_GMP}
|
||||
- INSTALL_PHPREDIS=${PHP_FPM_INSTALL_PHPREDIS}
|
||||
- INSTALL_MEMCACHED=${PHP_FPM_INSTALL_MEMCACHED}
|
||||
- INSTALL_OPCACHE=${PHP_FPM_INSTALL_OPCACHE}
|
||||
- INSTALL_EXIF=${PHP_FPM_INSTALL_EXIF}
|
||||
- INSTALL_AEROSPIKE=${PHP_FPM_INSTALL_AEROSPIKE}
|
||||
- AEROSPIKE_PHP_REPOSITORY=${AEROSPIKE_PHP_REPOSITORY}
|
||||
- INSTALL_MYSQLI=${PHP_FPM_INSTALL_MYSQLI}
|
||||
- INSTALL_PGSQL=${PHP_FPM_INSTALL_PGSQL}
|
||||
- INSTALL_PG_CLIENT=${PHP_FPM_INSTALL_PG_CLIENT}
|
||||
- INSTALL_TOKENIZER=${PHP_FPM_INSTALL_TOKENIZER}
|
||||
- INSTALL_INTL=${PHP_FPM_INSTALL_INTL}
|
||||
- INSTALL_GHOSTSCRIPT=${PHP_FPM_INSTALL_GHOSTSCRIPT}
|
||||
@ -84,30 +143,34 @@ services:
|
||||
- INSTALL_SWOOLE=${PHP_FPM_INSTALL_SWOOLE}
|
||||
- INSTALL_IMAGE_OPTIMIZERS=${PHP_FPM_INSTALL_IMAGE_OPTIMIZERS}
|
||||
- INSTALL_IMAGEMAGICK=${PHP_FPM_INSTALL_IMAGEMAGICK}
|
||||
dockerfile: "Dockerfile-${PHP_VERSION}"
|
||||
volumes_from:
|
||||
- applications
|
||||
- INSTALL_CALENDAR=${PHP_FPM_INSTALL_CALENDAR}
|
||||
volumes:
|
||||
- ./php-fpm/php${PHP_VERSION}.ini:/usr/local/etc/php/php.ini
|
||||
- ${APP_CODE_PATH_HOST}:${APP_CODE_PATH_CONTAINER}
|
||||
expose:
|
||||
- "9000"
|
||||
depends_on:
|
||||
- workspace
|
||||
extra_hosts:
|
||||
- "dockerhost:${DOCKER_HOST_IP}"
|
||||
environment:
|
||||
- PHP_IDE_CONFIG=${PHP_IDE_CONFIG}
|
||||
- DOCKER_HOST=tcp://docker-in-docker:2375
|
||||
depends_on:
|
||||
- workspace
|
||||
networks:
|
||||
- backend
|
||||
links:
|
||||
- docker-in-docker
|
||||
|
||||
### PHP Worker Container #####################################
|
||||
|
||||
### PHP Worker ############################################
|
||||
php-worker:
|
||||
build:
|
||||
context: ./php-worker
|
||||
dockerfile: "Dockerfile-${PHP_VERSION}"
|
||||
volumes_from:
|
||||
- applications
|
||||
args:
|
||||
- PHP_VERSION=${PHP_VERSION}
|
||||
- INSTALL_PGSQL=${PHP_WORKER_INSTALL_PGSQL}
|
||||
volumes:
|
||||
- ${APP_CODE_PATH_HOST}:${APP_CODE_PATH_CONTAINER}
|
||||
- ./php-worker/supervisord.d:/etc/supervisord.d
|
||||
depends_on:
|
||||
- workspace
|
||||
extra_hosts:
|
||||
@ -115,17 +178,15 @@ services:
|
||||
networks:
|
||||
- backend
|
||||
|
||||
### NGINX Server Container ##################################
|
||||
|
||||
### NGINX Server #########################################
|
||||
nginx:
|
||||
build:
|
||||
context: ./nginx
|
||||
args:
|
||||
- PHP_UPSTREAM_CONTAINER=${NGINX_PHP_UPSTREAM_CONTAINER}
|
||||
- PHP_UPSTREAM_PORT=${NGINX_PHP_UPSTREAM_PORT}
|
||||
volumes_from:
|
||||
- applications
|
||||
volumes:
|
||||
- ${APP_CODE_PATH_HOST}:${APP_CODE_PATH_CONTAINER}
|
||||
- ${NGINX_HOST_LOG_PATH}:/var/log/nginx
|
||||
- ${NGINX_SITES_PATH}:/etc/nginx/sites-available
|
||||
ports:
|
||||
@ -137,8 +198,7 @@ services:
|
||||
- frontend
|
||||
- backend
|
||||
|
||||
### Blackfire Container #################################
|
||||
|
||||
### Blackfire ########################################
|
||||
blackfire:
|
||||
image: blackfire/blackfire
|
||||
environment:
|
||||
@ -149,8 +209,7 @@ services:
|
||||
networks:
|
||||
- backend
|
||||
|
||||
### Apache Server Container #################################
|
||||
|
||||
### Apache Server ########################################
|
||||
apache2:
|
||||
build:
|
||||
context: ./apache2
|
||||
@ -158,9 +217,9 @@ services:
|
||||
- PHP_UPSTREAM_CONTAINER=${APACHE_PHP_UPSTREAM_CONTAINER}
|
||||
- PHP_UPSTREAM_PORT=${APACHE_PHP_UPSTREAM_PORT}
|
||||
- PHP_UPSTREAM_TIMEOUT=${APACHE_PHP_UPSTREAM_TIMEOUT}
|
||||
volumes_from:
|
||||
- applications
|
||||
- DOCUMENT_ROOT=${APACHE_DOCUMENT_ROOT}
|
||||
volumes:
|
||||
- ${APP_CODE_PATH_HOST}:${APP_CODE_PATH_CONTAINER}
|
||||
- ${APACHE_HOST_LOG_PATH}:/var/log/apache2
|
||||
- ${APACHE_SITES_PATH}:/etc/apache2/sites-available
|
||||
ports:
|
||||
@ -172,12 +231,11 @@ services:
|
||||
- frontend
|
||||
- backend
|
||||
|
||||
### HHVM Container ##########################################
|
||||
|
||||
### HHVM #################################################
|
||||
hhvm:
|
||||
build: ./hhvm
|
||||
volumes_from:
|
||||
- applications
|
||||
volumes:
|
||||
- ${APP_CODE_PATH_HOST}:${APP_CODE_PATH_CONTAINER}
|
||||
expose:
|
||||
- "9000"
|
||||
depends_on:
|
||||
@ -186,12 +244,12 @@ services:
|
||||
- frontend
|
||||
- backend
|
||||
|
||||
### Minio Container #########################################
|
||||
|
||||
### Minio ################################################
|
||||
minio:
|
||||
build: ./minio
|
||||
volumes:
|
||||
- minio:/export
|
||||
- ${DATA_PATH_HOST}/minio/data:/export
|
||||
- ${DATA_PATH_HOST}/minio/config:/root/.minio
|
||||
ports:
|
||||
- "${MINIO_PORT}:9000"
|
||||
environment:
|
||||
@ -199,9 +257,9 @@ services:
|
||||
- MINIO_SECRET_KEY=secretkey
|
||||
networks:
|
||||
- frontend
|
||||
- backend
|
||||
|
||||
### MySQL Container #########################################
|
||||
|
||||
### MySQL ################################################
|
||||
mysql:
|
||||
build:
|
||||
context: ./mysql
|
||||
@ -214,15 +272,14 @@ services:
|
||||
- MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD}
|
||||
- TZ=${WORKSPACE_TIMEZONE}
|
||||
volumes:
|
||||
- ${DATA_SAVE_PATH}/mysql:/var/lib/mysql
|
||||
- ${DATA_PATH_HOST}/mysql:/var/lib/mysql
|
||||
- ${MYSQL_ENTRYPOINT_INITDB}:/docker-entrypoint-initdb.d
|
||||
ports:
|
||||
- "${MYSQL_PORT}:3306"
|
||||
networks:
|
||||
- backend
|
||||
|
||||
### Percona Container #########################################
|
||||
|
||||
### Percona ################################################
|
||||
percona:
|
||||
build:
|
||||
context: ./percona
|
||||
@ -232,15 +289,14 @@ services:
|
||||
- MYSQL_PASSWORD=${PERCONA_PASSWORD}
|
||||
- MYSQL_ROOT_PASSWORD=${PERCONA_ROOT_PASSWORD}
|
||||
volumes:
|
||||
- ${DATA_SAVE_PATH}/percona:/var/lib/mysql
|
||||
- ${DATA_PATH_HOST}/percona:/var/lib/mysql
|
||||
- ${PERCONA_ENTRYPOINT_INITDB}:/docker-entrypoint-initdb.d
|
||||
ports:
|
||||
- "${PERCONA_PORT}:3306"
|
||||
networks:
|
||||
- backend
|
||||
|
||||
### MSSQL Container #########################################
|
||||
|
||||
### MSSQL ################################################
|
||||
mssql:
|
||||
build:
|
||||
context: ./mssql
|
||||
@ -249,18 +305,17 @@ services:
|
||||
- SA_PASSWORD=${MSSQL_PASSWORD}
|
||||
- ACCEPT_EULA=Y
|
||||
volumes:
|
||||
- ${DATA_SAVE_PATH}/mssql:/var/opt/mssql
|
||||
- ${DATA_PATH_HOST}/mssql:/var/opt/mssql
|
||||
ports:
|
||||
- "${MSSQL_PORT}:1433"
|
||||
networks:
|
||||
- backend
|
||||
|
||||
### MariaDB Container #######################################
|
||||
|
||||
### MariaDB ##############################################
|
||||
mariadb:
|
||||
build: ./mariadb
|
||||
volumes:
|
||||
- ${DATA_SAVE_PATH}/mariadb:/var/lib/mysql
|
||||
- ${DATA_PATH_HOST}/mariadb:/var/lib/mysql
|
||||
- ${MARIADB_ENTRYPOINT_INITDB}:/docker-entrypoint-initdb.d
|
||||
ports:
|
||||
- "${MARIADB_PORT}:3306"
|
||||
@ -272,12 +327,12 @@ services:
|
||||
networks:
|
||||
- backend
|
||||
|
||||
### PostgreSQL Container ####################################
|
||||
|
||||
### PostgreSQL ###########################################
|
||||
postgres:
|
||||
build: ./postgres
|
||||
volumes:
|
||||
- ${DATA_SAVE_PATH}/postgres:/var/lib/postgresql/data
|
||||
- ${DATA_PATH_HOST}/postgres:/var/lib/postgresql/data
|
||||
- ${POSTGRES_ENTRYPOINT_INITDB}:/docker-entrypoint-initdb.d
|
||||
ports:
|
||||
- "${POSTGRES_PORT}:5432"
|
||||
environment:
|
||||
@ -287,12 +342,11 @@ services:
|
||||
networks:
|
||||
- backend
|
||||
|
||||
### PostgreSQL PostGis Container ############################
|
||||
|
||||
### PostgreSQL PostGis ###################################
|
||||
postgres-postgis:
|
||||
build: ./postgres-postgis
|
||||
volumes:
|
||||
- ${DATA_SAVE_PATH}/postgres:/var/lib/postgresql/data
|
||||
- ${DATA_PATH_HOST}/postgres:/var/lib/postgresql/data
|
||||
ports:
|
||||
- "${POSTGRES_PORT}:5432"
|
||||
environment:
|
||||
@ -302,8 +356,7 @@ services:
|
||||
networks:
|
||||
- backend
|
||||
|
||||
### Neo4j Container #########################################
|
||||
|
||||
### Neo4j ################################################
|
||||
neo4j:
|
||||
build: ./neo4j
|
||||
ports:
|
||||
@ -312,51 +365,46 @@ services:
|
||||
environment:
|
||||
- NEO4J_AUTH=default:secret
|
||||
volumes:
|
||||
- ${DATA_SAVE_PATH}/neo4j:/var/lib/neo4j/data
|
||||
- ${DATA_PATH_HOST}/neo4j:/var/lib/neo4j/data
|
||||
networks:
|
||||
- backend
|
||||
|
||||
### MongoDB Container #######################################
|
||||
|
||||
### MongoDB ##############################################
|
||||
mongo:
|
||||
build: ./mongo
|
||||
ports:
|
||||
- "${MONGODB_PORT}:27017"
|
||||
volumes:
|
||||
- ${DATA_SAVE_PATH}/mongo:/data/db
|
||||
- ${DATA_PATH_HOST}/mongo:/data/db
|
||||
networks:
|
||||
- backend
|
||||
|
||||
### RethinkDB Container #######################################
|
||||
|
||||
### RethinkDB ##############################################
|
||||
rethinkdb:
|
||||
build: ./rethinkdb
|
||||
ports:
|
||||
- "${RETHINKDB_PORT}:8080"
|
||||
volumes:
|
||||
- ${DATA_SAVE_PATH}/rethinkdb:/data/rethinkdb_data
|
||||
- ${DATA_PATH_HOST}/rethinkdb:/data/rethinkdb_data
|
||||
networks:
|
||||
- backend
|
||||
|
||||
### Redis Container #########################################
|
||||
|
||||
### Redis ################################################
|
||||
redis:
|
||||
build: ./redis
|
||||
volumes:
|
||||
- ${DATA_SAVE_PATH}/redis:/data
|
||||
- ${DATA_PATH_HOST}/redis:/data
|
||||
ports:
|
||||
- "${REDIS_PORT}:6379"
|
||||
networks:
|
||||
- backend
|
||||
|
||||
### Aerospike c Container ###################################
|
||||
|
||||
### Aerospike ##########################################
|
||||
aerospike:
|
||||
build: ./aerospike
|
||||
volumes_from:
|
||||
- workspace
|
||||
volumes:
|
||||
- ${DATA_SAVE_PATH}/aerospike:/opt/aerospike/data
|
||||
- workspace
|
||||
- ${DATA_PATH_HOST}/aerospike:/opt/aerospike/data
|
||||
ports:
|
||||
- "${AEROSPIKE_SERVICE_PORT}:3000"
|
||||
- "${AEROSPIKE_FABRIC_PORT}:3001"
|
||||
@ -365,12 +413,11 @@ services:
|
||||
networks:
|
||||
- backend
|
||||
|
||||
### Memcached Container #####################################
|
||||
|
||||
### Memcached ############################################
|
||||
memcached:
|
||||
build: ./memcached
|
||||
volumes:
|
||||
- ${DATA_SAVE_PATH}/memcached:/var/lib/memcached
|
||||
- ${DATA_PATH_HOST}/memcached:/var/lib/memcached
|
||||
ports:
|
||||
- "${MEMCACHED_HOST_PORT}:11211"
|
||||
depends_on:
|
||||
@ -378,8 +425,7 @@ services:
|
||||
networks:
|
||||
- backend
|
||||
|
||||
### Beanstalkd Container ####################################
|
||||
|
||||
### Beanstalkd ###########################################
|
||||
beanstalkd:
|
||||
build: ./beanstalkd
|
||||
ports:
|
||||
@ -390,8 +436,7 @@ services:
|
||||
networks:
|
||||
- backend
|
||||
|
||||
### RabbitMQ Container ######################################
|
||||
|
||||
### RabbitMQ #############################################
|
||||
rabbitmq:
|
||||
build: ./rabbitmq
|
||||
ports:
|
||||
@ -407,27 +452,24 @@ services:
|
||||
networks:
|
||||
- backend
|
||||
|
||||
### Beanstalkd Console Container ############################
|
||||
|
||||
### Beanstalkd Console ###################################
|
||||
beanstalkd-console:
|
||||
build: ./beanstalkd-console
|
||||
ports:
|
||||
- "2080:2080"
|
||||
- "${BEANSTALKD_CONSOLE_HOST_PORT}:2080"
|
||||
depends_on:
|
||||
- beanstalkd
|
||||
networks:
|
||||
- backend
|
||||
|
||||
### Caddy Server Container ##################################
|
||||
|
||||
### Caddy Server #########################################
|
||||
caddy:
|
||||
build: ./caddy
|
||||
volumes_from:
|
||||
- applications
|
||||
volumes:
|
||||
- ${APP_CODE_PATH_HOST}:${APP_CODE_PATH_CONTAINER}
|
||||
- ${CADDY_CUSTOM_CADDYFILE}:/etc/Caddyfile
|
||||
- ${CADDY_HOST_LOG_PATH}:/var/log/caddy
|
||||
- ${DATA_SAVE_PATH}:/root/.caddy
|
||||
- ${DATA_PATH_HOST}:/root/.caddy
|
||||
ports:
|
||||
- "${CADDY_HOST_HTTP_PORT}:80"
|
||||
- "${CADDY_HOST_HTTPS_PORT}:443"
|
||||
@ -437,8 +479,7 @@ services:
|
||||
- frontend
|
||||
- backend
|
||||
|
||||
### phpMyAdmin Container ####################################
|
||||
|
||||
### phpMyAdmin ###########################################
|
||||
phpmyadmin:
|
||||
build: ./phpmyadmin
|
||||
environment:
|
||||
@ -454,8 +495,7 @@ services:
|
||||
- frontend
|
||||
- backend
|
||||
|
||||
### Adminer Container ####################################
|
||||
|
||||
### Adminer ###########################################
|
||||
adminer:
|
||||
build:
|
||||
context: ./adminer
|
||||
@ -469,37 +509,32 @@ services:
|
||||
- frontend
|
||||
- backend
|
||||
|
||||
### pgAdmin Container #######################################
|
||||
|
||||
### pgAdmin ##############################################
|
||||
pgadmin:
|
||||
build: ./pgadmin
|
||||
ports:
|
||||
- "5050:5050"
|
||||
volumes:
|
||||
- ${DATA_SAVE_PATH}/pgadmin-backup:/var/lib/pgadmin4/data/storage/pgadmin4
|
||||
- ${DATA_PATH_HOST}/pgadmin-backup:/var/lib/pgadmin/storage/pgadmin4
|
||||
depends_on:
|
||||
- postgres
|
||||
networks:
|
||||
- frontend
|
||||
- backend
|
||||
|
||||
|
||||
### ElasticSearch Container #################################
|
||||
|
||||
### ElasticSearch ########################################
|
||||
elasticsearch:
|
||||
build: ./elasticsearch
|
||||
volumes:
|
||||
- elasticsearch-data:/usr/share/elasticsearch/data
|
||||
- elasticsearch-plugins:/usr/share/elasticsearch/plugins
|
||||
- elasticsearch:/usr/share/elasticsearch/data
|
||||
environment:
|
||||
- cluster.name=laradock-cluster
|
||||
- bootstrap.memory_lock=true
|
||||
- "ES_JAVA_OPTS=-Xms256m -Xmx256m"
|
||||
- "ES_JAVA_OPTS=-Xms512m -Xmx512m"
|
||||
ulimits:
|
||||
memlock:
|
||||
soft: -1
|
||||
hard: -1
|
||||
mem_limit: 512m
|
||||
ports:
|
||||
- "${ELASTICSEARCH_HOST_HTTP_PORT}:9200"
|
||||
- "${ELASTICSEARCH_HOST_TRANSPORT_PORT}:9300"
|
||||
@ -509,9 +544,7 @@ services:
|
||||
- frontend
|
||||
- backend
|
||||
|
||||
|
||||
### Kibana Container #######################################
|
||||
|
||||
### Kibana ##############################################
|
||||
kibana:
|
||||
build: ./kibana
|
||||
ports:
|
||||
@ -522,22 +555,20 @@ services:
|
||||
- frontend
|
||||
- backend
|
||||
|
||||
### Certbot Container ##################################
|
||||
|
||||
### Certbot #########################################
|
||||
certbot:
|
||||
build:
|
||||
context: ./certbot
|
||||
volumes:
|
||||
- ./data/certbot/certs/:/var/certs
|
||||
- ./certbot/letsencrypt/:/var/www/letsencrypt
|
||||
- ./certbot/letsencrypt/:${APP_CODE_PATH_CONTAINER}/letsencrypt
|
||||
environment:
|
||||
- CN="fake.domain.com"
|
||||
- EMAIL="fake.email@gmail.com"
|
||||
networks:
|
||||
- frontend
|
||||
|
||||
### Mailhog Container #########################################
|
||||
|
||||
### Mailhog ################################################
|
||||
mailhog:
|
||||
build: ./mailhog
|
||||
ports:
|
||||
@ -547,8 +578,17 @@ services:
|
||||
- frontend
|
||||
- backend
|
||||
|
||||
### Selenium Container ########################################
|
||||
### MailDev ##############################################
|
||||
maildev:
|
||||
build: ./maildev
|
||||
ports:
|
||||
- "${MAILDEV_HTTP_PORT}:80"
|
||||
- "${MAILDEV_SMTP_PORT}:25"
|
||||
networks:
|
||||
- frontend
|
||||
- backend
|
||||
|
||||
### Selenium ###############################################
|
||||
selenium:
|
||||
build: ./selenium
|
||||
ports:
|
||||
@ -558,8 +598,7 @@ services:
|
||||
networks:
|
||||
- frontend
|
||||
|
||||
### Varnish Proxy 1 ##########################################
|
||||
|
||||
### Varnish ##########################################
|
||||
proxy:
|
||||
build: ./varnish
|
||||
expose:
|
||||
@ -577,8 +616,6 @@ services:
|
||||
networks:
|
||||
- frontend
|
||||
|
||||
### Varnish Proxy 2 ##########################################
|
||||
|
||||
proxy2:
|
||||
build: ./varnish
|
||||
expose:
|
||||
@ -596,9 +633,8 @@ services:
|
||||
networks:
|
||||
- frontend
|
||||
|
||||
### Balancer Haproxy ##########################################
|
||||
|
||||
balancer:
|
||||
### HAProxy ####################################
|
||||
haproxy:
|
||||
build: ./haproxy
|
||||
ports:
|
||||
- "${HAPROXY_HOST_HTTP_PORT}:8085"
|
||||
@ -609,7 +645,6 @@ services:
|
||||
- proxy2
|
||||
|
||||
### Jenkins ###################################################
|
||||
|
||||
jenkins:
|
||||
build: ./jenkins
|
||||
environment:
|
||||
@ -625,6 +660,17 @@ services:
|
||||
- frontend
|
||||
- backend
|
||||
|
||||
### Grafana ################################################
|
||||
grafana:
|
||||
build:
|
||||
context: ./grafana
|
||||
volumes:
|
||||
- ${DATA_PATH_HOST}/grafana:/var/lib/grafana
|
||||
ports:
|
||||
- "${GRAFANA_PORT}:3000"
|
||||
networks:
|
||||
- backend
|
||||
|
||||
### Laravel Echo Server #######################################
|
||||
laravel-echo-server:
|
||||
build:
|
||||
@ -638,59 +684,194 @@ services:
|
||||
networks:
|
||||
- frontend
|
||||
- backend
|
||||
|
||||
### Solr ################################################
|
||||
solr:
|
||||
build:
|
||||
context: ./solr
|
||||
args:
|
||||
- SOLR_VERSION=${SOLR_VERSION}
|
||||
- SOLR_DATAIMPORTHANDLER_MYSQL=${SOLR_DATAIMPORTHANDLER_MYSQL}
|
||||
volumes:
|
||||
- ${DATA_PATH_HOST}/solr:/opt/solr/server/solr/mycores
|
||||
ports:
|
||||
- "${SOLR_PORT}:8983"
|
||||
networks:
|
||||
- backend
|
||||
|
||||
### AWS EB-CLI ####
|
||||
### AWS EB-CLI ################################################
|
||||
aws:
|
||||
build:
|
||||
context: ./aws
|
||||
volumes_from:
|
||||
- applications
|
||||
volumes:
|
||||
- ${APP_CODE_PATH_HOST}:${APP_CODE_PATH_CONTAINER}
|
||||
depends_on:
|
||||
- workspace
|
||||
tty: true
|
||||
|
||||
### Networks Setup ############################################
|
||||
### Portainer ################################################
|
||||
portainer:
|
||||
build:
|
||||
context: ./portainer
|
||||
volumes:
|
||||
- ${DATA_PATH_HOST}/portainer_data:/data
|
||||
- /var/run/docker.sock:/var/run/docker.sock
|
||||
extra_hosts:
|
||||
- "dockerhost:${DOCKER_HOST_IP}"
|
||||
ports:
|
||||
- 9010:9000
|
||||
networks:
|
||||
- backend
|
||||
|
||||
networks:
|
||||
frontend:
|
||||
driver: "bridge"
|
||||
backend:
|
||||
driver: "bridge"
|
||||
### Gitlab ################################################
|
||||
gitlab:
|
||||
build:
|
||||
context: ./gitlab
|
||||
environment:
|
||||
GITLAB_OMNIBUS_CONFIG: |
|
||||
external_url '${GITLAB_DOMAIN_NAME}'
|
||||
redis['enable'] = false
|
||||
nginx['listen_https'] = false
|
||||
nginx['listen_port'] = 80
|
||||
postgresql['enable'] = false
|
||||
gitlab_rails['trusted_proxies'] = ['caddy','nginx','apache2']
|
||||
gitlab_rails['redis_host'] = 'redis'
|
||||
gitlab_rails['redis_database'] = 8
|
||||
gitlab_rails['db_host'] = 'postgres'
|
||||
gitlab_rails['db_username'] = 'laradock_gitlab'
|
||||
gitlab_rails['db_password'] = 'laradock_gitlab'
|
||||
gitlab_rails['db_database'] = 'laradock_gitlab'
|
||||
gitlab_rails['initial_root_password'] = '${GITLAB_ROOT_PASSWORD}'
|
||||
gitlab_rails['gitlab_shell_ssh_port'] = ${GITLAB_HOST_SSH_PORT}
|
||||
volumes:
|
||||
- ${DATA_PATH_HOST}/gitlab/config:/etc/gitlab
|
||||
- ${DATA_PATH_HOST}/gitlab/data:/var/opt/gitlab
|
||||
- ${GITLAB_HOST_LOG_PATH}:/var/log/gitlab
|
||||
ports:
|
||||
- "${GITLAB_HOST_HTTP_PORT}:80"
|
||||
- "${GITLAB_HOST_HTTPS_PORT}:443"
|
||||
- "${GITLAB_HOST_SSH_PORT}:22"
|
||||
networks:
|
||||
- backend
|
||||
depends_on:
|
||||
- redis
|
||||
- postgres
|
||||
gitlab-runner:
|
||||
image: gitlab/gitlab-runner:latest
|
||||
environment:
|
||||
- CI_SERVER_URL=${GITLAB_DOMAIN_NAME}
|
||||
volumes:
|
||||
- ${DATA_PATH_HOST}/gitlab/runner:/etc/gitlab-runner
|
||||
- /var/run/docker.sock:/var/run/docker.sock:rw
|
||||
restart: always
|
||||
|
||||
### JupyterHub #########################################
|
||||
jupyterhub:
|
||||
build:
|
||||
context: ./jupyterhub
|
||||
depends_on:
|
||||
- postgres
|
||||
- jupyterhub-user
|
||||
restart: always
|
||||
volumes:
|
||||
- /var/run/docker.sock:/var/run/docker.sock:rw
|
||||
- ${DATA_PATH_HOST}/jupyterhub/:/data
|
||||
- ${JUPYTERHUB_CUSTOM_CONFIG}:/jupyterhub_config.py
|
||||
- ${JUPYTERHUB_USER_DATA}:/user-data
|
||||
- ${JUPYTERHUB_USER_LIST}:/userlist
|
||||
networks:
|
||||
- backend
|
||||
ports:
|
||||
- "${JUPYTERHUB_PORT}:80"
|
||||
environment:
|
||||
- TERM=xterm
|
||||
- JUPYTERHUB_USER_DATA=${JUPYTERHUB_USER_DATA}
|
||||
- JUPYTERHUB_POSTGRES_DB=${JUPYTERHUB_POSTGRES_DB}
|
||||
- JUPYTERHUB_POSTGRES_USER=${JUPYTERHUB_POSTGRES_USER}
|
||||
- JUPYTERHUB_POSTGRES_HOST=${JUPYTERHUB_POSTGRES_HOST}
|
||||
- JUPYTERHUB_POSTGRES_PASSWORD=${JUPYTERHUB_POSTGRES_PASSWORD}
|
||||
- JUPYTERHUB_OAUTH_CALLBACK_URL=${JUPYTERHUB_OAUTH_CALLBACK_URL}
|
||||
- JUPYTERHUB_OAUTH_CLIENT_ID=${JUPYTERHUB_OAUTH_CLIENT_ID}
|
||||
- JUPYTERHUB_OAUTH_CLIENT_SECRET=${JUPYTERHUB_OAUTH_CLIENT_SECRET}
|
||||
- JUPYTERHUB_LOCAL_NOTEBOOK_IMAGE=${JUPYTERHUB_LOCAL_NOTEBOOK_IMAGE}
|
||||
jupyterhub-user:
|
||||
build:
|
||||
context: ./jupyterhub
|
||||
dockerfile: Dockerfile.user
|
||||
command: ["sh", "-c", "echo \"build only\""]
|
||||
|
||||
### Volumes Setup #############################################
|
||||
### IPython #########################################
|
||||
ipython-controller:
|
||||
build:
|
||||
context: ./ipython
|
||||
dockerfile: Dockerfile.controller
|
||||
networks:
|
||||
- backend
|
||||
extra_hosts:
|
||||
- "laradock-ipython:${LARADOCK_IPYTHON_CONTROLLER_IP}"
|
||||
ports:
|
||||
- "33327-33338:33327-33338"
|
||||
ipython-engine:
|
||||
build:
|
||||
context: ./ipython
|
||||
dockerfile: Dockerfile.engine
|
||||
networks:
|
||||
- backend
|
||||
extra_hosts:
|
||||
- "laradock-ipython:${LARADOCK_IPYTHON_CONTROLLER_IP}"
|
||||
|
||||
volumes:
|
||||
mysql:
|
||||
driver: "local"
|
||||
percona:
|
||||
driver: "local"
|
||||
mssql:
|
||||
driver: "local"
|
||||
postgres:
|
||||
driver: "local"
|
||||
memcached:
|
||||
driver: "local"
|
||||
redis:
|
||||
driver: "local"
|
||||
neo4j:
|
||||
driver: "local"
|
||||
mariadb:
|
||||
driver: "local"
|
||||
mongo:
|
||||
driver: "local"
|
||||
minio:
|
||||
driver: "local"
|
||||
rethinkdb:
|
||||
driver: "local"
|
||||
phpmyadmin:
|
||||
driver: "local"
|
||||
adminer:
|
||||
driver: "local"
|
||||
aerospike:
|
||||
driver: "local"
|
||||
caddy:
|
||||
driver: "local"
|
||||
elasticsearch-data:
|
||||
driver: "local"
|
||||
elasticsearch-plugins:
|
||||
driver: "local"
|
||||
### Docker-in-Docker ################################################
|
||||
docker-in-docker:
|
||||
image: docker:dind
|
||||
privileged: true
|
||||
volumes:
|
||||
- ${APP_CODE_PATH_HOST}:${APP_CODE_PATH_CONTAINER}
|
||||
expose:
|
||||
- 2375
|
||||
networks:
|
||||
- backend
|
||||
|
||||
### NetData ################################################
|
||||
netdata:
|
||||
image: titpetric/netdata:latest
|
||||
cap_add:
|
||||
- SYS_PTRACE
|
||||
volumes:
|
||||
- /:/host:ro
|
||||
ports:
|
||||
- "${NETDATA_PORT}:19999"
|
||||
networks:
|
||||
- backend
|
||||
|
||||
### PHPRedisAdmin ################################################
|
||||
phpredisadmin:
|
||||
image: erikdubbelboer/phpredisadmin:latest
|
||||
environment:
|
||||
- ADMIN_USER=${REDIS_WEBUI_USERNAME}
|
||||
- ADMIN_PASS=${REDIS_WEBUI_PASSWORD}
|
||||
- REDIS_1_HOST=${REDIS_WEBUI_CONNECT_HOST}
|
||||
- REDIS_1_PORT=${REDIS_WEBUI_CONNECT_PORT}
|
||||
networks:
|
||||
- backend
|
||||
ports:
|
||||
- "${REDIS_WEBUI_PORT}:80"
|
||||
depends_on:
|
||||
- redis
|
||||
|
||||
### MongoWebUI ################################################
|
||||
mongo-webui:
|
||||
build:
|
||||
context: ./mongo-webui
|
||||
restart: always
|
||||
environment:
|
||||
- ROOT_URL=${MONGO_WEBUI_ROOT_URL}
|
||||
- MONGO_URL=${MONGO_WEBUI_MONGO_URL}
|
||||
- INSTALL_MONGO=${MONGO_WEBUI_INSTALL_MONGO}
|
||||
volumes:
|
||||
- ${DATA_PATH_HOST}/mongo-webui:/data/db
|
||||
ports:
|
||||
- "${MONGO_WEBUI_PORT}:3000"
|
||||
networks:
|
||||
- backend
|
||||
depends_on:
|
||||
- mongo
|
||||
|
@ -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'
|
||||
|
||||
|
@ -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
|
||||
|
289
env-example
289
env-example
@ -1,50 +1,108 @@
|
||||
############################
|
||||
# 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. You may add flags to the path `:cached`, `:delegated`. When using Docker Sync add `:nocopy`
|
||||
APP_CODE_PATH_CONTAINER=/var/www:cached
|
||||
|
||||
DATA_SAVE_PATH=~/.laradock/data
|
||||
# Choose storage path on your machine. For all storage systems
|
||||
DATA_PATH_HOST=~/.laradock/data
|
||||
|
||||
### PHP version
|
||||
# Applies to the Workspace and PHP-FPM containers (Does not apply to HHVM)
|
||||
# Accepted values: 71 - 70 - 56
|
||||
### Drivers ################################################
|
||||
|
||||
PHP_VERSION=71
|
||||
# All volumes driver
|
||||
VOLUMES_DRIVER=local
|
||||
|
||||
### PHP interpreter
|
||||
# Accepted values: hhvm - php-fpm
|
||||
# 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
|
||||
|
||||
### 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=true
|
||||
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_LDAP=false
|
||||
WORKSPACE_INSTALL_SOAP=false
|
||||
WORKSPACE_INSTALL_IMAP=false
|
||||
WORKSPACE_INSTALL_MONGO=false
|
||||
WORKSPACE_INSTALL_PHPREDIS=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_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
|
||||
@ -52,36 +110,51 @@ 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_SWOOLE=false
|
||||
WORKSPACE_INSTALL_LIBPNG=false
|
||||
WORKSPACE_PUID=1000
|
||||
WORKSPACE_PGID=1000
|
||||
WORKSPACE_NODE_VERSION=stable
|
||||
WORKSPACE_YARN_VERSION=latest
|
||||
WORKSPACE_CHROME_DRIVER_VERSION=2.32
|
||||
WORKSPACE_TIMEZONE=UTC
|
||||
WORKSPACE_SSH_PORT=2222
|
||||
|
||||
### PHP_FPM ############################################################################################################
|
||||
### PHP_FPM ###############################################
|
||||
|
||||
PHP_FPM_INSTALL_ZIP_ARCHIVE=true
|
||||
PHP_FPM_INSTALL_BCMATH=true
|
||||
PHP_FPM_INSTALL_MYSQLI=true
|
||||
PHP_FPM_INSTALL_TOKENIZER=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_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_SOAP=false
|
||||
PHP_FPM_INSTALL_ZIP_ARCHIVE=false
|
||||
PHP_FPM_INSTALL_BCMATH=false
|
||||
PHP_FPM_INSTALL_PHPREDIS=false
|
||||
PHP_FPM_INSTALL_MEMCACHED=false
|
||||
PHP_FPM_INSTALL_OPCACHE=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_SWOOLE=false
|
||||
PHP_FPM_INSTALL_IMAGE_OPTIMIZERS=false
|
||||
PHP_FPM_INSTALL_IMAGEMAGICK=false
|
||||
PHP_FPM_INSTALL_PG_CLIENT=false
|
||||
PHP_FPM_INSTALL_PCNTL=false
|
||||
PHP_FPM_INSTALL_CALENDAR=false
|
||||
|
||||
### NGINX ##############################################################################################################
|
||||
### PHP_WORKER ############################################
|
||||
|
||||
PHP_WORKER_INSTALL_PGSQL=false
|
||||
|
||||
### NGINX #################################################
|
||||
|
||||
NGINX_HOST_HTTP_PORT=80
|
||||
NGINX_HOST_HTTPS_PORT=443
|
||||
@ -90,7 +163,7 @@ NGINX_SITES_PATH=./nginx/sites/
|
||||
NGINX_PHP_UPSTREAM_CONTAINER=php-fpm
|
||||
NGINX_PHP_UPSTREAM_PORT=9000
|
||||
|
||||
### APACHE #############################################################################################################
|
||||
### APACHE ################################################
|
||||
|
||||
APACHE_HOST_HTTP_PORT=80
|
||||
APACHE_HOST_HTTPS_PORT=443
|
||||
@ -99,10 +172,11 @@ APACHE_SITES_PATH=./apache2/sites
|
||||
APACHE_PHP_UPSTREAM_CONTAINER=php-fpm
|
||||
APACHE_PHP_UPSTREAM_PORT=9000
|
||||
APACHE_PHP_UPSTREAM_TIMEOUT=60
|
||||
APACHE_DOCUMENT_ROOT=/var/www/
|
||||
|
||||
### MYSQL ##############################################################################################################
|
||||
### MYSQL #################################################
|
||||
|
||||
MYSQL_VERSION=8.0
|
||||
MYSQL_VERSION=latest
|
||||
MYSQL_DATABASE=default
|
||||
MYSQL_USER=default
|
||||
MYSQL_PASSWORD=secret
|
||||
@ -110,11 +184,11 @@ MYSQL_PORT=3306
|
||||
MYSQL_ROOT_PASSWORD=root
|
||||
MYSQL_ENTRYPOINT_INITDB=./mysql/docker-entrypoint-initdb.d
|
||||
|
||||
### REDIS ##############################################################################################################
|
||||
### REDIS #################################################
|
||||
|
||||
REDIS_PORT=6379
|
||||
|
||||
### Percona ############################################################################################################
|
||||
### Percona ###############################################
|
||||
|
||||
PERCONA_DATABASE=homestead
|
||||
PERCONA_USER=homestead
|
||||
@ -123,13 +197,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
|
||||
@ -138,14 +212,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
|
||||
@ -153,43 +228,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
|
||||
|
||||
@ -202,103 +277,127 @@ 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 ##########################################################################################################
|
||||
## Temp solution, this should be in the dockerfile
|
||||
# for all versions "https://github.com/aerospike/aerospike-client-php/archive/master.tar.gz"
|
||||
# for php 7.2 (using this branch until the support for 7.2 on master) "https://github.com/aerospike/aerospike-client-php/archive/7.2.0-release-candidate.tar.gz"
|
||||
AEROSPIKE_PHP_REPOSITORY=https://github.com/aerospike/aerospike-client-php/archive/7.2.0-release-candidate.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
|
||||
|
||||
### LARAVEL ECHO SERVER ################################################################################################
|
||||
### LARAVEL ECHO SERVER ###################################
|
||||
|
||||
LARAVEL_ECHO_SERVER_PORT=6001
|
||||
|
||||
### DOCKER-SYNC ################################################################################################
|
||||
### SOLR ##################################################
|
||||
|
||||
# osx: 'native_osx' (default)
|
||||
# windows: 'unison'
|
||||
# linux: docker-sync not required
|
||||
SOLR_VERSION=5.5
|
||||
SOLR_PORT=8983
|
||||
SOLR_DATAIMPORTHANDLER_MYSQL=false
|
||||
|
||||
DOCKER_SYNC_STRATEGY=native_osx
|
||||
### GITLAB ###############################################
|
||||
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
|
||||
|
||||
##### TO BE CONTINUE .................................
|
||||
### JUPYTERHUB ###############################################
|
||||
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_LOCAL_NOTEBOOK_IMAGE=laradock_jupyterhub-user
|
||||
JUPYTERHUB_CUSTOM_CONFIG=./jupyterhub/jupyterhub_config.py
|
||||
JUPYTERHUB_USER_DATA=/jupyterhub
|
||||
JUPYTERHUB_USER_LIST=./jupyterhub/userlist
|
||||
|
||||
# ......... Missing: neo4j mongo rethinkdb redis aerospike pgadmin...
|
||||
# .........
|
||||
# .........
|
||||
### IPYTHON ##################################################
|
||||
LARADOCK_IPYTHON_CONTROLLER_IP=127.0.0.1
|
||||
|
||||
############################
|
||||
# Miscellaneous
|
||||
############################
|
||||
### NETDATA ###############################################
|
||||
NETDATA_PORT=19999
|
||||
|
||||
# Replace with your Docker Host IP (will be appended to /etc/hosts)
|
||||
|
||||
DOCKER_HOST_IP=10.0.75.1
|
||||
|
||||
|
||||
# The Remote Interpreter entry matching name `laradock`
|
||||
|
||||
PHP_IDE_CONFIG=serverName=laradock
|
||||
|
||||
|
||||
# Fix for windows users to make sure the application path works.
|
||||
|
||||
COMPOSE_CONVERT_WINDOWS_PATHS=1
|
||||
### PHPREDISADMIN #########################################
|
||||
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
|
||||
|
3
gitlab/Dockerfile
Normal file
3
gitlab/Dockerfile
Normal file
@ -0,0 +1,3 @@
|
||||
FROM gitlab/gitlab-ce:latest
|
||||
|
||||
LABEL maintainer="ahkui <ahkui@outlook.com>"
|
3
grafana/Dockerfile
Normal file
3
grafana/Dockerfile
Normal file
@ -0,0 +1,3 @@
|
||||
FROM grafana/grafana:latest
|
||||
|
||||
EXPOSE 3000
|
@ -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
|
||||
|
@ -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
|
||||
|
||||
|
17
ipython/Dockerfile.controller
Normal file
17
ipython/Dockerfile.controller
Normal 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
23
ipython/Dockerfile.engine
Normal 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"]
|
16
ipython/ipcontroller-client.json
Normal file
16
ipython/ipcontroller-client.json
Normal 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
|
||||
}
|
16
ipython/ipcontroller-engine.json
Normal file
16
ipython/ipcontroller-engine.json
Normal 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
|
||||
}
|
@ -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
|
||||
|
||||
|
||||
|
@ -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.
|
||||
|
||||
```
|
||||
|
26
jupyterhub/Dockerfile
Normal file
26
jupyterhub/Dockerfile
Normal file
@ -0,0 +1,26 @@
|
||||
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}
|
||||
|
||||
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"]
|
72
jupyterhub/Dockerfile.user
Normal file
72
jupyterhub/Dockerfile.user
Normal 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"]
|
||||
|
||||
|
121
jupyterhub/jupyterhub_config.py
Normal file
121
jupyterhub/jupyterhub_config.py
Normal file
@ -0,0 +1,121 @@
|
||||
# Copyright (c) Jupyter Development Team.
|
||||
# Distributed under the terms of the Modified BSD License.
|
||||
|
||||
# Configuration file for JupyterHub
|
||||
import os
|
||||
|
||||
c = get_config()
|
||||
|
||||
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
|
||||
|
||||
# Pass the network name as argument to spawned containers
|
||||
c.DockerSpawner.extra_host_config = { 'network_mode': network_name, 'runtime': 'nvidia' }
|
||||
# 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')
|
12
jupyterhub/start-notebook.sh
Normal file
12
jupyterhub/start-notebook.sh
Normal 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
|
40
jupyterhub/start-singleuser.sh
Normal file
40
jupyterhub/start-singleuser.sh
Normal 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
7
jupyterhub/start.sh
Normal 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
1
jupyterhub/userlist
Normal file
@ -0,0 +1 @@
|
||||
laradock
|
@ -1,3 +1,3 @@
|
||||
FROM docker.elastic.co/kibana/kibana:5.4.1
|
||||
FROM docker.elastic.co/kibana/kibana:6.2.3
|
||||
|
||||
EXPOSE 5601
|
||||
|
@ -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" ]
|
||||
|
5
maildev/Dockerfile
Normal file
5
maildev/Dockerfile
Normal file
@ -0,0 +1,5 @@
|
||||
FROM djfarrelly/maildev
|
||||
|
||||
LABEL maintainer="Maxime Hélias <maximehelias16@gmail.com>"
|
||||
|
||||
EXPOSE 80 25
|
@ -1,6 +1,6 @@
|
||||
FROM mailhog/mailhog
|
||||
|
||||
MAINTAINER Mahmoud Zalt <mahmoud@zalt.me>
|
||||
LABEL maintainer="Mahmoud Zalt <mahmoud@zalt.me>"
|
||||
|
||||
CMD ["Mailhog"]
|
||||
|
||||
|
@ -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"]
|
||||
|
||||
|
@ -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
|
||||
|
@ -1,6 +1,6 @@
|
||||
FROM memcached:latest
|
||||
|
||||
MAINTAINER Mahmoud Zalt <mahmoud@zalt.me>
|
||||
LABEL maintainer="Mahmoud Zalt <mahmoud@zalt.me>"
|
||||
|
||||
CMD ["memcached"]
|
||||
|
||||
|
@ -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
3
mongo-webui/Dockerfile
Normal file
@ -0,0 +1,3 @@
|
||||
FROM mongoclient/mongoclient
|
||||
|
||||
LABEL maintainer="ahkui <ahkui@outlook.com>"
|
@ -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
|
||||
|
||||
|
@ -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
|
||||
|
@ -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"]
|
||||
|
||||
|
@ -8,9 +8,9 @@
|
||||
# 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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
||||
|
@ -1,17 +1,25 @@
|
||||
FROM nginx:alpine
|
||||
|
||||
MAINTAINER Mahmoud Zalt <mahmoud@zalt.me>
|
||||
LABEL maintainer="Mahmoud Zalt <mahmoud@zalt.me>"
|
||||
|
||||
ADD nginx.conf /etc/nginx/
|
||||
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.
|
||||
|
||||
ARG CHANGE_SOURCE=false
|
||||
RUN if [ ${CHANGE_SOURCE} = true ]; then \
|
||||
# Change application source from dl-cdn.alpinelinux.org to aliyun source
|
||||
sed -i 's/dl-cdn.alpinelinux.org/mirrors.aliyun.com/' /etc/apk/repositories \
|
||||
;fi
|
||||
|
||||
RUN apk update \
|
||||
&& apk upgrade \
|
||||
&& apk add --no-cache bash \
|
||||
&& adduser -D -H -u 1000 -s /bin/bash www-data
|
||||
|
||||
ARG PHP_UPSTREAM_CONTAINER=php-fpm
|
||||
ARG PHP_UPSTREAM_PORT=9000
|
||||
|
||||
# Set upstream conf and remove the default conf
|
||||
RUN echo "upstream php-upstream { server ${PHP_UPSTREAM_CONTAINER}:${PHP_UPSTREAM_PORT}; }" > /etc/nginx/conf.d/upstream.conf \
|
||||
&& rm /etc/nginx/conf.d/default.conf
|
||||
|
@ -3,7 +3,7 @@ server {
|
||||
listen 80;
|
||||
listen [::]:80;
|
||||
|
||||
server_name app.dev;
|
||||
server_name app.test;
|
||||
root /var/www/app;
|
||||
index index.php index.html index.htm;
|
||||
|
||||
@ -18,6 +18,8 @@ server {
|
||||
fastcgi_buffers 16 16k;
|
||||
fastcgi_buffer_size 32k;
|
||||
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
|
||||
#fixes timeouts
|
||||
fastcgi_read_timeout 600;
|
||||
include fastcgi_params;
|
||||
}
|
||||
|
||||
|
@ -18,6 +18,8 @@ server {
|
||||
fastcgi_buffers 16 16k;
|
||||
fastcgi_buffer_size 32k;
|
||||
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
|
||||
#fixes timeouts
|
||||
fastcgi_read_timeout 600;
|
||||
include fastcgi_params;
|
||||
}
|
||||
|
||||
|
@ -3,7 +3,7 @@ server {
|
||||
listen 80;
|
||||
listen [::]:80;
|
||||
|
||||
server_name laravel.dev;
|
||||
server_name laravel.test;
|
||||
root /var/www/laravel/public;
|
||||
index index.php index.html index.htm;
|
||||
|
||||
@ -18,6 +18,8 @@ server {
|
||||
fastcgi_buffers 16 16k;
|
||||
fastcgi_buffer_size 32k;
|
||||
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
|
||||
#fixes timeouts
|
||||
fastcgi_read_timeout 600;
|
||||
include fastcgi_params;
|
||||
}
|
||||
|
||||
|
@ -3,7 +3,7 @@ server {
|
||||
listen 80;
|
||||
listen [::]:80;
|
||||
|
||||
server_name symfony.dev;
|
||||
server_name symfony.test;
|
||||
root /var/www/projects/symfony/web;
|
||||
index index.php index.html index.htm;
|
||||
|
||||
@ -11,15 +11,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;
|
||||
}
|
||||
|
||||
|
@ -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"]
|
||||
|
||||
|
@ -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
|
||||
|
@ -1,10 +1,10 @@
|
||||
FROM fenglc/pgadmin4
|
||||
|
||||
MAINTAINER Huadong Zuo <admin@zuohuadong.cn>
|
||||
LABEL maintainer="Huadong Zuo <admin@zuohuadong.cn>"
|
||||
|
||||
# user: pgadmin4@pgadmin.org
|
||||
# password: admin
|
||||
# pg_dump in "/usr/bin"
|
||||
# backup in "/var/lib/pgadmin4/data/storage/pgadmin4/"
|
||||
# pg_dump & postgresql all in "/usr/bin"
|
||||
# backup in "/var/lib/pgadmin/storage/pgadmin4"
|
||||
|
||||
EXPOSE 5050
|
||||
|
515
php-fpm/Dockerfile
Normal file
515
php-fpm/Dockerfile
Normal file
@ -0,0 +1,515 @@
|
||||
#
|
||||
#--------------------------------------------------------------------------
|
||||
# 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 PHP_VERSION=${PHP_VERSION}
|
||||
|
||||
FROM laradock/php-fpm:2.2-${PHP_VERSION}
|
||||
|
||||
LABEL maintainer="Mahmoud Zalt <mahmoud@zalt.me>"
|
||||
|
||||
# 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
|
||||
#
|
||||
|
||||
###########################################################################
|
||||
# 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
|
||||
ARG PHP_VERSION=${PHP_VERSION}
|
||||
|
||||
RUN if [ ${INSTALL_PHPDBG} = true ]; then \
|
||||
# Load the xdebug extension only with phpunit commands
|
||||
apt-get install -y --force-yes php${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 \
|
||||
apt-get install librabbitmq-dev -y && \
|
||||
# Install the amqp extension
|
||||
pecl install amqp && \
|
||||
docker-php-ext-enable amqp \
|
||||
;fi
|
||||
|
||||
###########################################################################
|
||||
# ZipArchive:
|
||||
###########################################################################
|
||||
|
||||
ARG INSTALL_ZIP_ARCHIVE=false
|
||||
|
||||
RUN if [ ${INSTALL_ZIP_ARCHIVE} = true ]; then \
|
||||
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
|
||||
|
||||
###########################################################################
|
||||
# Opcache:
|
||||
###########################################################################
|
||||
|
||||
ARG INSTALL_OPCACHE=false
|
||||
|
||||
RUN if [ ${INSTALL_OPCACHE} = true ]; then \
|
||||
docker-php-ext-install opcache \
|
||||
;fi
|
||||
|
||||
# Copy opcache configration
|
||||
COPY ./opcache.ini /usr/local/etc/php/conf.d/opcache.ini
|
||||
|
||||
###########################################################################
|
||||
# Mysqli Modifications:
|
||||
###########################################################################
|
||||
|
||||
ARG INSTALL_MYSQLI=false
|
||||
|
||||
RUN if [ ${INSTALL_MYSQLI} = true ]; then \
|
||||
docker-php-ext-install mysqli \
|
||||
;fi
|
||||
|
||||
###########################################################################
|
||||
# Tokenizer Modifications:
|
||||
###########################################################################
|
||||
|
||||
ARG INSTALL_TOKENIZER=false
|
||||
|
||||
RUN if [ ${INSTALL_TOKENIZER} = true ]; then \
|
||||
docker-php-ext-install tokenizer \
|
||||
;fi
|
||||
|
||||
###########################################################################
|
||||
# Human Language and Character Encoding Support:
|
||||
###########################################################################
|
||||
|
||||
ARG INSTALL_INTL=false
|
||||
|
||||
RUN if [ ${INSTALL_INTL} = true ]; then \
|
||||
# Install intl and requirements
|
||||
apt-get 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/8/prod.list > /etc/apt/sources.list.d/mssql-release.list \
|
||||
&& apt-get update -yqq \
|
||||
# Install Dependencies
|
||||
&& ACCEPT_EULA=Y apt-get install -y unixodbc unixodbc-dev libgss3 odbcinst msodbcsql locales \
|
||||
&& echo "en_US.UTF-8 UTF-8" > /etc/locale.gen \
|
||||
&& locale-gen \
|
||||
# Install pdo_sqlsrv and sqlsrv from PECL. Replace pdo_sqlsrv-4.1.8preview with preferred version.
|
||||
&& pecl install pdo_sqlsrv-4.1.8preview sqlsrv-4.1.8preview \
|
||||
&& docker-php-ext-enable pdo_sqlsrv sqlsrv \
|
||||
&& php -m | grep -q 'pdo_sqlsrv' \
|
||||
&& php -m | grep -q 'sqlsrv' \
|
||||
;fi \
|
||||
;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
|
||||
|
||||
###########################################################################
|
||||
# Check PHP version:
|
||||
###########################################################################
|
||||
|
||||
ARG PHP_VERSION=${PHP_VERSION}
|
||||
|
||||
RUN php -v | head -n 1 | grep -q "PHP ${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
|
||||
|
||||
WORKDIR /var/www
|
||||
|
||||
CMD ["php-fpm"]
|
||||
|
||||
EXPOSE 9000
|
@ -1,302 +0,0 @@
|
||||
#
|
||||
#--------------------------------------------------------------------------
|
||||
# Image Setup
|
||||
#--------------------------------------------------------------------------
|
||||
#
|
||||
# To edit the 'php-fpm' base Image, visit its repository on Github
|
||||
# https://github.com/Laradock/php-fpm
|
||||
#
|
||||
# To change its version, see the available Tags on the Docker Hub:
|
||||
# https://hub.docker.com/r/laradock/php-fpm/tags/
|
||||
#
|
||||
# Note: Base Image name format {image-tag}-{php-version}
|
||||
#
|
||||
|
||||
FROM laradock/php-fpm:1.4-56
|
||||
|
||||
MAINTAINER Mahmoud Zalt <mahmoud@zalt.me>
|
||||
|
||||
#
|
||||
#--------------------------------------------------------------------------
|
||||
# Mandatory Software's Installation
|
||||
#--------------------------------------------------------------------------
|
||||
#
|
||||
# Mandatory Software's such as ("mcrypt", "pdo_mysql", "libssl-dev", ....)
|
||||
# are installed on the base image 'laradock/php-fpm' image. If you want
|
||||
# to add more Software's or remove existing one, you need to edit the
|
||||
# base image (https://github.com/Laradock/php-fpm).
|
||||
#
|
||||
|
||||
#
|
||||
#--------------------------------------------------------------------------
|
||||
# Optional Software's Installation
|
||||
#--------------------------------------------------------------------------
|
||||
#
|
||||
# Optional Software's will only be installed if you set them to `true`
|
||||
# in the `docker-compose.yml` before the build.
|
||||
# Example:
|
||||
# - INSTALL_ZIP_ARCHIVE=true
|
||||
#
|
||||
|
||||
#####################################
|
||||
# SOAP:
|
||||
#####################################
|
||||
|
||||
ARG INSTALL_SOAP=false
|
||||
RUN if [ ${INSTALL_SOAP} = true ]; then \
|
||||
# Install the soap extension
|
||||
apt-get update -yqq && \
|
||||
apt-get -y install libxml2-dev php-soap && \
|
||||
docker-php-ext-install soap \
|
||||
;fi
|
||||
|
||||
#####################################
|
||||
# xDebug:
|
||||
#####################################
|
||||
|
||||
ARG INSTALL_XDEBUG=false
|
||||
RUN if [ ${INSTALL_XDEBUG} = true ]; then \
|
||||
# Install the xdebug extension
|
||||
# pecl install xdebug && docker-php-ext-enable xdebug \
|
||||
# workaround for https://github.com/docker-library/php/issues/133
|
||||
# - Xdebug breaks on access to class static property
|
||||
apt-get install -y php5-xdebug && \
|
||||
echo "zend_extension=/usr/lib/php5/20131226/xdebug.so" > /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini \
|
||||
;fi
|
||||
|
||||
# Copy xdebug configration for remote debugging
|
||||
COPY ./xdebug.ini /usr/local/etc/php/conf.d/xdebug.ini
|
||||
|
||||
#####################################
|
||||
# Blackfire:
|
||||
#####################################
|
||||
|
||||
ARG INSTALL_BLACKFIRE=false
|
||||
RUN if [ ${INSTALL_XDEBUG} = false -a ${INSTALL_BLACKFIRE} = true ]; then \
|
||||
version=$(php -r "echo PHP_MAJOR_VERSION.PHP_MINOR_VERSION;") \
|
||||
&& curl -A "Docker" -o /tmp/blackfire-probe.tar.gz -D - -L -s https://blackfire.io/api/v1/releases/probe/php/linux/amd64/$version \
|
||||
&& tar zxpf /tmp/blackfire-probe.tar.gz -C /tmp \
|
||||
&& mv /tmp/blackfire-*.so $(php -r "echo ini_get('extension_dir');")/blackfire.so \
|
||||
&& printf "extension=blackfire.so\nblackfire.agent_socket=tcp://blackfire:8707\n" > $PHP_INI_DIR/conf.d/blackfire.ini \
|
||||
;fi
|
||||
|
||||
#####################################
|
||||
# PHP REDIS EXTENSION FOR PHP 5
|
||||
#####################################
|
||||
|
||||
ARG INSTALL_PHPREDIS=false
|
||||
RUN if [ ${INSTALL_PHPREDIS} = true ]; then \
|
||||
# Install Php Redis Extension
|
||||
printf "\n" | pecl install -o -f redis \
|
||||
&& rm -rf /tmp/pear \
|
||||
&& docker-php-ext-enable redis \
|
||||
;fi
|
||||
|
||||
#####################################
|
||||
# Swoole EXTENSION FOR PHP 5
|
||||
#####################################
|
||||
|
||||
ARG INSTALL_SWOOLE=false
|
||||
RUN if [ ${INSTALL_SWOOLE} = true ]; then \
|
||||
# Install Php Swoole Extension
|
||||
pecl install swoole \
|
||||
&& docker-php-ext-enable swoole \
|
||||
;fi
|
||||
|
||||
#####################################
|
||||
# MongoDB:
|
||||
#####################################
|
||||
|
||||
ARG INSTALL_MONGO=false
|
||||
RUN if [ ${INSTALL_MONGO} = true ]; then \
|
||||
# Install the mongodb extension
|
||||
pecl install mongodb && \
|
||||
docker-php-ext-enable mongodb \
|
||||
;fi
|
||||
|
||||
#####################################
|
||||
# ZipArchive:
|
||||
#####################################
|
||||
|
||||
ARG INSTALL_ZIP_ARCHIVE=false
|
||||
RUN if [ ${INSTALL_ZIP_ARCHIVE} = true ]; then \
|
||||
# Install the zip extension
|
||||
docker-php-ext-install zip \
|
||||
;fi
|
||||
|
||||
#####################################
|
||||
# bcmath:
|
||||
#####################################
|
||||
|
||||
ARG INSTALL_BCMATH=false
|
||||
RUN if [ ${INSTALL_BCMATH} = true ]; then \
|
||||
# Install the bcmath extension
|
||||
docker-php-ext-install bcmath \
|
||||
;fi
|
||||
|
||||
#####################################
|
||||
# PHP Memcached:
|
||||
#####################################
|
||||
|
||||
ARG INSTALL_MEMCACHED=false
|
||||
RUN if [ ${INSTALL_MEMCACHED} = true ]; then \
|
||||
# Install the php memcached extension
|
||||
pecl install memcached-2.2.0 && \
|
||||
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:
|
||||
#####################################
|
||||
|
||||
ARG INSTALL_AEROSPIKE=false
|
||||
ENV INSTALL_AEROSPIKE ${INSTALL_AEROSPIKE}
|
||||
# Copy aerospike configration for remote debugging
|
||||
COPY ./aerospike.ini /usr/local/etc/php/conf.d/aerospike.ini
|
||||
RUN if [ ${INSTALL_AEROSPIKE} = true ]; then \
|
||||
# Install the php aerospike extension
|
||||
curl -L -o /tmp/aerospike-client-php.tar.gz "https://github.com/aerospike/aerospike-client-php/archive/3.4.14.tar.gz" \
|
||||
&& mkdir -p aerospike-client-php \
|
||||
&& tar -C aerospike-client-php -zxvf /tmp/aerospike-client-php.tar.gz --strip 1 \
|
||||
&& ( \
|
||||
cd aerospike-client-php/src/aerospike \
|
||||
&& phpize \
|
||||
&& ./build.sh \
|
||||
&& make install \
|
||||
) \
|
||||
&& rm /tmp/aerospike-client-php.tar.gz \
|
||||
&& docker-php-ext-enable aerospike \
|
||||
;fi
|
||||
|
||||
#####################################
|
||||
# Opcache:
|
||||
#####################################
|
||||
|
||||
ARG INSTALL_OPCACHE=false
|
||||
RUN if [ ${INSTALL_OPCACHE} = true ]; then \
|
||||
docker-php-ext-install opcache \
|
||||
;fi
|
||||
|
||||
# Copy opcache configration
|
||||
COPY ./opcache.ini /usr/local/etc/php/conf.d/opcache.ini
|
||||
|
||||
#####################################
|
||||
# Mysqli Modifications:
|
||||
#####################################
|
||||
|
||||
ARG INSTALL_MYSQLI=false
|
||||
# MySQL extenstion is available for Php5.6 and lower only
|
||||
COPY ./mysql.ini /usr/local/etc/php/conf.d/mysql.ini
|
||||
RUN if [ ${INSTALL_MYSQLI} = true ]; then \
|
||||
docker-php-ext-install mysql && \
|
||||
docker-php-ext-install mysqli \
|
||||
;fi
|
||||
|
||||
#####################################
|
||||
# Tokenizer Modifications:
|
||||
#####################################
|
||||
|
||||
ARG INSTALL_TOKENIZER=false
|
||||
RUN if [ ${INSTALL_TOKENIZER} = true ]; then \
|
||||
docker-php-ext-install tokenizer \
|
||||
;fi
|
||||
|
||||
#####################################
|
||||
# Human Language and Character Encoding Support:
|
||||
#####################################
|
||||
|
||||
ARG INSTALL_INTL=false
|
||||
RUN if [ ${INSTALL_INTL} = true ]; then \
|
||||
# Install intl and requirements
|
||||
apt-get install -y zlib1g-dev libicu-dev g++ && \
|
||||
docker-php-ext-configure intl && \
|
||||
docker-php-ext-install intl \
|
||||
;fi
|
||||
|
||||
#####################################
|
||||
# GHOSTSCRIPT:
|
||||
#####################################
|
||||
|
||||
ARG INSTALL_GHOSTSCRIPT=false
|
||||
RUN if [ ${INSTALL_GHOSTSCRIPT} = true ]; then \
|
||||
# Install the ghostscript extension for PDF editing
|
||||
apt-get update -yqq && \
|
||||
apt-get install -y poppler-utils ghostscript \
|
||||
;fi
|
||||
|
||||
#####################################
|
||||
# LDAP:
|
||||
#####################################
|
||||
|
||||
ARG INSTALL_LDAP=false
|
||||
RUN if [ ${INSTALL_LDAP} = true ]; then \
|
||||
apt-get update -yqq && \
|
||||
apt-get install -y libldap2-dev && \
|
||||
docker-php-ext-configure ldap --with-libdir=lib/x86_64-linux-gnu/ && \
|
||||
docker-php-ext-install ldap \
|
||||
;fi
|
||||
|
||||
#####################################
|
||||
# SQL SERVER:
|
||||
#####################################
|
||||
ARG INSTALL_MSSQL=false
|
||||
ENV INSTALL_MSSQL ${INSTALL_MSSQL}
|
||||
|
||||
RUN if [ ${INSTALL_MSSQL} = true ]; then \
|
||||
apt-get -y install php5-sybase freetds-bin && \
|
||||
cp /usr/lib/php5/20131226/*.so /usr/local/lib/php/extensions/no-debug-non-zts-20131226/ && \
|
||||
docker-php-ext-enable mssql pdo pdo_dblib \
|
||||
;fi
|
||||
|
||||
#####################################
|
||||
# Image optimizers:
|
||||
#####################################
|
||||
USER root
|
||||
ARG INSTALL_IMAGE_OPTIMIZERS=false
|
||||
ENV INSTALL_IMAGE_OPTIMIZERS ${INSTALL_IMAGE_OPTIMIZERS}
|
||||
RUN if [ ${INSTALL_IMAGE_OPTIMIZERS} = true ]; then \
|
||||
apt-get update -yqq && \
|
||||
apt-get install -y --force-yes jpegoptim optipng pngquant gifsicle \
|
||||
;fi
|
||||
|
||||
#####################################
|
||||
# ImageMagick:
|
||||
#####################################
|
||||
USER root
|
||||
ARG INSTALL_IMAGEMAGICK=false
|
||||
ENV INSTALL_IMAGEMAGICK ${INSTALL_IMAGEMAGICK}
|
||||
RUN if [ ${INSTALL_IMAGEMAGICK} = true ]; then \
|
||||
apt-get update -y && \
|
||||
apt-get install -y libmagickwand-dev imagemagick && \
|
||||
pecl install imagick && \
|
||||
docker-php-ext-enable imagick \
|
||||
;fi
|
||||
|
||||
#
|
||||
#--------------------------------------------------------------------------
|
||||
# Final Touch
|
||||
#--------------------------------------------------------------------------
|
||||
#
|
||||
|
||||
ADD ./laravel.ini /usr/local/etc/php/conf.d
|
||||
ADD ./xlaravel.pool.conf /usr/local/etc/php-fpm.d/
|
||||
|
||||
#RUN rm -r /var/lib/apt/lists/*
|
||||
|
||||
RUN usermod -u 1000 www-data
|
||||
|
||||
WORKDIR /var/www
|
||||
|
||||
CMD ["php-fpm"]
|
||||
|
||||
EXPOSE 9000
|
@ -1,326 +0,0 @@
|
||||
#
|
||||
#--------------------------------------------------------------------------
|
||||
# Image Setup
|
||||
#--------------------------------------------------------------------------
|
||||
#
|
||||
# To edit the 'php-fpm' base Image, visit its repository on Github
|
||||
# https://github.com/Laradock/php-fpm
|
||||
#
|
||||
# To change its version, see the available Tags on the Docker Hub:
|
||||
# https://hub.docker.com/r/laradock/php-fpm/tags/
|
||||
#
|
||||
# Note: Base Image name format {image-tag}-{php-version}
|
||||
#
|
||||
|
||||
FROM laradock/php-fpm:1.4-70
|
||||
|
||||
MAINTAINER Mahmoud Zalt <mahmoud@zalt.me>
|
||||
|
||||
#
|
||||
#--------------------------------------------------------------------------
|
||||
# Mandatory Software's Installation
|
||||
#--------------------------------------------------------------------------
|
||||
#
|
||||
# Mandatory Software's such as ("mcrypt", "pdo_mysql", "libssl-dev", ....)
|
||||
# are installed on the base image 'laradock/php-fpm' image. If you want
|
||||
# to add more Software's or remove existing one, you need to edit the
|
||||
# base image (https://github.com/Laradock/php-fpm).
|
||||
#
|
||||
|
||||
#
|
||||
#--------------------------------------------------------------------------
|
||||
# Optional Software's Installation
|
||||
#--------------------------------------------------------------------------
|
||||
#
|
||||
# Optional Software's will only be installed if you set them to `true`
|
||||
# in the `docker-compose.yml` before the build.
|
||||
# Example:
|
||||
# - INSTALL_ZIP_ARCHIVE=true
|
||||
#
|
||||
|
||||
#####################################
|
||||
# SOAP:
|
||||
#####################################
|
||||
|
||||
ARG INSTALL_SOAP=false
|
||||
RUN if [ ${INSTALL_SOAP} = true ]; then \
|
||||
# Install the soap extension
|
||||
apt-get update -yqq && \
|
||||
apt-get -y install libxml2-dev php-soap && \
|
||||
docker-php-ext-install soap \
|
||||
;fi
|
||||
|
||||
#####################################
|
||||
# xDebug:
|
||||
#####################################
|
||||
|
||||
ARG INSTALL_XDEBUG=false
|
||||
RUN if [ ${INSTALL_XDEBUG} = true ]; then \
|
||||
# Install the xdebug extension
|
||||
pecl install xdebug && \
|
||||
docker-php-ext-enable xdebug \
|
||||
;fi
|
||||
|
||||
# Copy xdebug configration for remote debugging
|
||||
COPY ./xdebug.ini /usr/local/etc/php/conf.d/xdebug.ini
|
||||
|
||||
#####################################
|
||||
# Blackfire:
|
||||
#####################################
|
||||
|
||||
ARG INSTALL_BLACKFIRE=false
|
||||
RUN if [ ${INSTALL_XDEBUG} = false -a ${INSTALL_BLACKFIRE} = true ]; then \
|
||||
version=$(php -r "echo PHP_MAJOR_VERSION.PHP_MINOR_VERSION;") \
|
||||
&& curl -A "Docker" -o /tmp/blackfire-probe.tar.gz -D - -L -s https://blackfire.io/api/v1/releases/probe/php/linux/amd64/$version \
|
||||
&& tar zxpf /tmp/blackfire-probe.tar.gz -C /tmp \
|
||||
&& mv /tmp/blackfire-*.so $(php -r "echo ini_get('extension_dir');")/blackfire.so \
|
||||
&& printf "extension=blackfire.so\nblackfire.agent_socket=tcp://blackfire:8707\n" > $PHP_INI_DIR/conf.d/blackfire.ini \
|
||||
;fi
|
||||
|
||||
#####################################
|
||||
# PHP REDIS EXTENSION FOR PHP 7
|
||||
#####################################
|
||||
|
||||
ARG INSTALL_PHPREDIS=false
|
||||
RUN if [ ${INSTALL_PHPREDIS} = true ]; then \
|
||||
# Install Php Redis Extension
|
||||
printf "\n" | pecl install -o -f redis \
|
||||
&& rm -rf /tmp/pear \
|
||||
&& docker-php-ext-enable redis \
|
||||
;fi
|
||||
|
||||
#####################################
|
||||
# Swoole EXTENSION FOR PHP 7
|
||||
#####################################
|
||||
|
||||
ARG INSTALL_SWOOLE=false
|
||||
RUN if [ ${INSTALL_SWOOLE} = true ]; then \
|
||||
# Install Php Swoole Extension
|
||||
pecl install swoole \
|
||||
&& docker-php-ext-enable swoole \
|
||||
;fi
|
||||
|
||||
#####################################
|
||||
# MongoDB:
|
||||
#####################################
|
||||
|
||||
ARG INSTALL_MONGO=false
|
||||
RUN if [ ${INSTALL_MONGO} = true ]; then \
|
||||
# Install the mongodb extension
|
||||
pecl install mongodb && \
|
||||
docker-php-ext-enable mongodb \
|
||||
;fi
|
||||
|
||||
#####################################
|
||||
# ZipArchive:
|
||||
#####################################
|
||||
|
||||
ARG INSTALL_ZIP_ARCHIVE=false
|
||||
RUN if [ ${INSTALL_ZIP_ARCHIVE} = true ]; then \
|
||||
# Install the zip extension
|
||||
docker-php-ext-install zip \
|
||||
;fi
|
||||
|
||||
#####################################
|
||||
# bcmath:
|
||||
#####################################
|
||||
|
||||
ARG INSTALL_BCMATH=false
|
||||
RUN if [ ${INSTALL_BCMATH} = true ]; then \
|
||||
# Install the bcmath extension
|
||||
docker-php-ext-install bcmath \
|
||||
;fi
|
||||
|
||||
#####################################
|
||||
# PHP Memcached:
|
||||
#####################################
|
||||
|
||||
ARG INSTALL_MEMCACHED=false
|
||||
RUN if [ ${INSTALL_MEMCACHED} = true ]; then \
|
||||
# Install the php memcached extension
|
||||
curl -L -o /tmp/memcached.tar.gz "https://github.com/php-memcached-dev/php-memcached/archive/php7.tar.gz" \
|
||||
&& mkdir -p memcached \
|
||||
&& tar -C memcached -zxvf /tmp/memcached.tar.gz --strip 1 \
|
||||
&& ( \
|
||||
cd memcached \
|
||||
&& phpize \
|
||||
&& ./configure \
|
||||
&& make -j$(nproc) \
|
||||
&& make install \
|
||||
) \
|
||||
&& rm -r memcached \
|
||||
&& rm /tmp/memcached.tar.gz \
|
||||
&& docker-php-ext-enable memcached \
|
||||
;fi
|
||||
|
||||
#####################################
|
||||
# Exif:
|
||||
#####################################
|
||||
|
||||
ARG INSTALL_EXIF=false
|
||||
RUN if [ ${INSTALL_EXIF} = true ]; then \
|
||||
# Enable Exif PHP extentions requirements
|
||||
docker-php-ext-install exif \
|
||||
;fi
|
||||
|
||||
#####################################
|
||||
# PHP Aerospike:
|
||||
#####################################
|
||||
|
||||
ARG INSTALL_AEROSPIKE=false
|
||||
ENV INSTALL_AEROSPIKE ${INSTALL_AEROSPIKE}
|
||||
# Copy aerospike configration for remote debugging
|
||||
COPY ./aerospike.ini /usr/local/etc/php/conf.d/aerospike.ini
|
||||
RUN if [ ${INSTALL_AEROSPIKE} = true ]; then \
|
||||
# Install the php aerospike extension
|
||||
curl -L -o /tmp/aerospike-client-php.tar.gz "https://github.com/aerospike/aerospike-client-php/archive/master.tar.gz" \
|
||||
&& mkdir -p aerospike-client-php \
|
||||
&& tar -C aerospike-client-php -zxvf /tmp/aerospike-client-php.tar.gz --strip 1 \
|
||||
&& ( \
|
||||
cd aerospike-client-php/src \
|
||||
&& phpize \
|
||||
&& ./build.sh \
|
||||
&& make install \
|
||||
) \
|
||||
&& rm /tmp/aerospike-client-php.tar.gz \
|
||||
&& docker-php-ext-enable aerospike \
|
||||
;fi
|
||||
|
||||
#####################################
|
||||
# Opcache:
|
||||
#####################################
|
||||
|
||||
ARG INSTALL_OPCACHE=false
|
||||
RUN if [ ${INSTALL_OPCACHE} = true ]; then \
|
||||
docker-php-ext-install opcache \
|
||||
;fi
|
||||
|
||||
# Copy opcache configration
|
||||
COPY ./opcache.ini /usr/local/etc/php/conf.d/opcache.ini
|
||||
|
||||
#####################################
|
||||
# Mysqli Modifications:
|
||||
#####################################
|
||||
|
||||
ARG INSTALL_MYSQLI=false
|
||||
RUN if [ ${INSTALL_MYSQLI} = true ]; then \
|
||||
docker-php-ext-install mysqli \
|
||||
;fi
|
||||
|
||||
#####################################
|
||||
# Tokenizer Modifications:
|
||||
#####################################
|
||||
|
||||
ARG INSTALL_TOKENIZER=false
|
||||
RUN if [ ${INSTALL_TOKENIZER} = true ]; then \
|
||||
docker-php-ext-install tokenizer \
|
||||
;fi
|
||||
|
||||
#####################################
|
||||
# Human Language and Character Encoding Support:
|
||||
#####################################
|
||||
|
||||
ARG INSTALL_INTL=false
|
||||
RUN if [ ${INSTALL_INTL} = true ]; then \
|
||||
# Install intl and requirements
|
||||
apt-get update -yqq && \
|
||||
apt-get install -y zlib1g-dev libicu-dev g++ && \
|
||||
docker-php-ext-configure intl && \
|
||||
docker-php-ext-install intl \
|
||||
;fi
|
||||
|
||||
#####################################
|
||||
# GHOSTSCRIPT:
|
||||
#####################################
|
||||
|
||||
ARG INSTALL_GHOSTSCRIPT=false
|
||||
RUN if [ ${INSTALL_GHOSTSCRIPT} = true ]; then \
|
||||
# Install the ghostscript extension
|
||||
# for PDF editing
|
||||
apt-get update -yqq \
|
||||
&& apt-get install -y \
|
||||
poppler-utils \
|
||||
ghostscript \
|
||||
;fi
|
||||
|
||||
#####################################
|
||||
# LDAP:
|
||||
#####################################
|
||||
|
||||
ARG INSTALL_LDAP=false
|
||||
RUN if [ ${INSTALL_LDAP} = true ]; then \
|
||||
apt-get update -yqq && \
|
||||
apt-get install -y libldap2-dev && \
|
||||
docker-php-ext-configure ldap --with-libdir=lib/x86_64-linux-gnu/ && \
|
||||
docker-php-ext-install ldap \
|
||||
;fi
|
||||
|
||||
#####################################
|
||||
# SQL SERVER:
|
||||
#####################################
|
||||
|
||||
ARG INSTALL_MSSQL=false
|
||||
ENV INSTALL_MSSQL ${INSTALL_MSSQL}
|
||||
RUN if [ ${INSTALL_MSSQL} = true ]; then \
|
||||
#####################################
|
||||
# Ref from https://github.com/Microsoft/msphpsql/wiki/Dockerfile-for-adding-pdo_sqlsrv-and-sqlsrv-to-official-php-image
|
||||
#####################################
|
||||
# Add Microsoft repo for Microsoft ODBC Driver 13 for Linux
|
||||
apt-get update -yqq \
|
||||
&& apt-get install -y apt-transport-https \
|
||||
&& curl https://packages.microsoft.com/keys/microsoft.asc | apt-key add - \
|
||||
&& curl https://packages.microsoft.com/config/debian/8/prod.list > /etc/apt/sources.list.d/mssql-release.list \
|
||||
&& apt-get update -yqq \
|
||||
|
||||
# Install Dependencies
|
||||
&& ACCEPT_EULA=Y apt-get install -y unixodbc unixodbc-dev libgss3 odbcinst msodbcsql locales \
|
||||
&& echo "en_US.UTF-8 UTF-8" > /etc/locale.gen \
|
||||
&& locale-gen \
|
||||
|
||||
# Install pdo_sqlsrv and sqlsrv from PECL. Replace pdo_sqlsrv-4.1.8preview with preferred version.
|
||||
&& pecl install pdo_sqlsrv-4.1.8preview sqlsrv-4.1.8preview \
|
||||
&& docker-php-ext-enable pdo_sqlsrv sqlsrv \
|
||||
;fi
|
||||
|
||||
#####################################
|
||||
# Image optimizers:
|
||||
#####################################
|
||||
USER root
|
||||
ARG INSTALL_IMAGE_OPTIMIZERS=false
|
||||
ENV INSTALL_IMAGE_OPTIMIZERS ${INSTALL_IMAGE_OPTIMIZERS}
|
||||
RUN if [ ${INSTALL_IMAGE_OPTIMIZERS} = true ]; then \
|
||||
apt-get update -yqq && \
|
||||
apt-get install -y --force-yes jpegoptim optipng pngquant gifsicle \
|
||||
;fi
|
||||
|
||||
#####################################
|
||||
# ImageMagick:
|
||||
#####################################
|
||||
USER root
|
||||
ARG INSTALL_IMAGEMAGICK=false
|
||||
ENV INSTALL_IMAGEMAGICK ${INSTALL_IMAGEMAGICK}
|
||||
RUN if [ ${INSTALL_IMAGEMAGICK} = true ]; then \
|
||||
apt-get update -y && \
|
||||
apt-get install -y libmagickwand-dev imagemagick && \
|
||||
pecl install imagick && \
|
||||
docker-php-ext-enable imagick \
|
||||
;fi
|
||||
|
||||
#
|
||||
#--------------------------------------------------------------------------
|
||||
# Final Touch
|
||||
#--------------------------------------------------------------------------
|
||||
#
|
||||
|
||||
ADD ./laravel.ini /usr/local/etc/php/conf.d/
|
||||
ADD ./xlaravel.pool.conf /usr/local/etc/php-fpm.d/
|
||||
|
||||
#RUN rm -r /var/lib/apt/lists/*
|
||||
|
||||
RUN usermod -u 1000 www-data
|
||||
|
||||
WORKDIR /var/www
|
||||
|
||||
CMD ["php-fpm"]
|
||||
|
||||
EXPOSE 9000
|
@ -1,333 +0,0 @@
|
||||
#
|
||||
#--------------------------------------------------------------------------
|
||||
# Image Setup
|
||||
#--------------------------------------------------------------------------
|
||||
#
|
||||
# To edit the 'php-fpm' base Image, visit its repository on Github
|
||||
# https://github.com/Laradock/php-fpm
|
||||
#
|
||||
# To change its version, see the available Tags on the Docker Hub:
|
||||
# https://hub.docker.com/r/laradock/php-fpm/tags/
|
||||
#
|
||||
# Note: Base Image name format {image-tag}-{php-version}
|
||||
#
|
||||
|
||||
FROM laradock/php-fpm:1.4-71
|
||||
|
||||
MAINTAINER Mahmoud Zalt <mahmoud@zalt.me>
|
||||
|
||||
#
|
||||
#--------------------------------------------------------------------------
|
||||
# Mandatory Software's Installation
|
||||
#--------------------------------------------------------------------------
|
||||
#
|
||||
# Mandatory Software's such as ("mcrypt", "pdo_mysql", "libssl-dev", ....)
|
||||
# are installed on the base image 'laradock/php-fpm' image. If you want
|
||||
# to add more Software's or remove existing one, you need to edit the
|
||||
# base image (https://github.com/Laradock/php-fpm).
|
||||
#
|
||||
|
||||
#
|
||||
#--------------------------------------------------------------------------
|
||||
# Optional Software's Installation
|
||||
#--------------------------------------------------------------------------
|
||||
#
|
||||
# Optional Software's will only be installed if you set them to `true`
|
||||
# in the `docker-compose.yml` before the build.
|
||||
# Example:
|
||||
# - INSTALL_ZIP_ARCHIVE=true
|
||||
#
|
||||
|
||||
#####################################
|
||||
# SOAP:
|
||||
#####################################
|
||||
|
||||
ARG INSTALL_SOAP=false
|
||||
RUN if [ ${INSTALL_SOAP} = true ]; then \
|
||||
# Install the soap extension
|
||||
apt-get update -yqq && \
|
||||
apt-get -y install libxml2-dev php-soap && \
|
||||
docker-php-ext-install soap \
|
||||
;fi
|
||||
|
||||
#####################################
|
||||
# xDebug:
|
||||
#####################################
|
||||
|
||||
ARG INSTALL_XDEBUG=false
|
||||
RUN if [ ${INSTALL_XDEBUG} = true ]; then \
|
||||
# Install the xdebug extension
|
||||
pecl install xdebug && \
|
||||
docker-php-ext-enable xdebug \
|
||||
;fi
|
||||
|
||||
# Copy xdebug configuration for remote debugging
|
||||
COPY ./xdebug.ini /usr/local/etc/php/conf.d/xdebug.ini
|
||||
|
||||
#####################################
|
||||
# Blackfire:
|
||||
#####################################
|
||||
|
||||
ARG INSTALL_BLACKFIRE=false
|
||||
RUN if [ ${INSTALL_XDEBUG} = false -a ${INSTALL_BLACKFIRE} = true ]; then \
|
||||
version=$(php -r "echo PHP_MAJOR_VERSION.PHP_MINOR_VERSION;") \
|
||||
&& curl -A "Docker" -o /tmp/blackfire-probe.tar.gz -D - -L -s https://blackfire.io/api/v1/releases/probe/php/linux/amd64/$version \
|
||||
&& tar zxpf /tmp/blackfire-probe.tar.gz -C /tmp \
|
||||
&& mv /tmp/blackfire-*.so $(php -r "echo ini_get('extension_dir');")/blackfire.so \
|
||||
&& printf "extension=blackfire.so\nblackfire.agent_socket=tcp://blackfire:8707\n" > $PHP_INI_DIR/conf.d/blackfire.ini \
|
||||
;fi
|
||||
|
||||
#####################################
|
||||
# PHP REDIS EXTENSION FOR PHP 7.0
|
||||
#####################################
|
||||
|
||||
ARG INSTALL_PHPREDIS=false
|
||||
RUN if [ ${INSTALL_PHPREDIS} = true ]; then \
|
||||
# Install Php Redis Extension
|
||||
printf "\n" | pecl install -o -f redis \
|
||||
&& rm -rf /tmp/pear \
|
||||
&& docker-php-ext-enable redis \
|
||||
;fi
|
||||
|
||||
#####################################
|
||||
# Swoole EXTENSION FOR PHP 7
|
||||
#####################################
|
||||
|
||||
ARG INSTALL_SWOOLE=false
|
||||
RUN if [ ${INSTALL_SWOOLE} = true ]; then \
|
||||
# Install Php Swoole Extension
|
||||
pecl install swoole \
|
||||
&& docker-php-ext-enable swoole \
|
||||
;fi
|
||||
|
||||
#####################################
|
||||
# MongoDB:
|
||||
#####################################
|
||||
|
||||
ARG INSTALL_MONGO=false
|
||||
RUN if [ ${INSTALL_MONGO} = true ]; then \
|
||||
# Install the mongodb extension
|
||||
pecl install mongodb && \
|
||||
docker-php-ext-enable mongodb \
|
||||
;fi
|
||||
|
||||
#####################################
|
||||
# ZipArchive:
|
||||
#####################################
|
||||
|
||||
ARG INSTALL_ZIP_ARCHIVE=false
|
||||
RUN if [ ${INSTALL_ZIP_ARCHIVE} = true ]; then \
|
||||
# Install the zip extension
|
||||
docker-php-ext-install zip \
|
||||
;fi
|
||||
|
||||
#####################################
|
||||
# bcmath:
|
||||
#####################################
|
||||
|
||||
ARG INSTALL_BCMATH=false
|
||||
RUN if [ ${INSTALL_BCMATH} = true ]; then \
|
||||
# Install the bcmath extension
|
||||
docker-php-ext-install bcmath \
|
||||
;fi
|
||||
|
||||
#####################################
|
||||
# PHP Memcached:
|
||||
#####################################
|
||||
|
||||
ARG INSTALL_MEMCACHED=false
|
||||
RUN if [ ${INSTALL_MEMCACHED} = true ]; then \
|
||||
# Install the php memcached extension
|
||||
curl -L -o /tmp/memcached.tar.gz "https://github.com/php-memcached-dev/php-memcached/archive/php7.tar.gz" \
|
||||
&& mkdir -p memcached \
|
||||
&& tar -C memcached -zxvf /tmp/memcached.tar.gz --strip 1 \
|
||||
&& ( \
|
||||
cd memcached \
|
||||
&& phpize \
|
||||
&& ./configure \
|
||||
&& make -j$(nproc) \
|
||||
&& make install \
|
||||
) \
|
||||
&& rm -r memcached \
|
||||
&& rm /tmp/memcached.tar.gz \
|
||||
&& docker-php-ext-enable memcached \
|
||||
;fi
|
||||
|
||||
#####################################
|
||||
# Exif:
|
||||
#####################################
|
||||
|
||||
ARG INSTALL_EXIF=false
|
||||
RUN if [ ${INSTALL_EXIF} = true ]; then \
|
||||
# Enable Exif PHP extentions requirements
|
||||
docker-php-ext-install exif \
|
||||
;fi
|
||||
|
||||
#####################################
|
||||
# PHP Aerospike:
|
||||
#####################################
|
||||
|
||||
ARG INSTALL_AEROSPIKE=false
|
||||
ENV INSTALL_AEROSPIKE ${INSTALL_AEROSPIKE}
|
||||
|
||||
# Copy aerospike configration for remote debugging
|
||||
COPY ./aerospike.ini /usr/local/etc/php/conf.d/aerospike.ini
|
||||
|
||||
RUN if [ ${INSTALL_AEROSPIKE} = true ]; then \
|
||||
# Fix dependencies for PHPUnit within aerospike extension
|
||||
apt-get update -yqq && \
|
||||
apt-get -y install sudo wget && \
|
||||
|
||||
# Install the php aerospike extension
|
||||
curl -L -o /tmp/aerospike-client-php.tar.gz "https://github.com/aerospike/aerospike-client-php/archive/master.tar.gz" \
|
||||
&& mkdir -p aerospike-client-php \
|
||||
&& tar -C aerospike-client-php -zxvf /tmp/aerospike-client-php.tar.gz --strip 1 \
|
||||
&& ( \
|
||||
cd aerospike-client-php/src \
|
||||
&& phpize \
|
||||
&& ./build.sh \
|
||||
&& make install \
|
||||
) \
|
||||
&& rm /tmp/aerospike-client-php.tar.gz \
|
||||
;fi
|
||||
|
||||
RUN if [ ${INSTALL_AEROSPIKE} = false ]; then \
|
||||
rm /usr/local/etc/php/conf.d/aerospike.ini \
|
||||
;fi
|
||||
|
||||
#####################################
|
||||
# Opcache:
|
||||
#####################################
|
||||
|
||||
ARG INSTALL_OPCACHE=false
|
||||
RUN if [ ${INSTALL_OPCACHE} = true ]; then \
|
||||
docker-php-ext-install opcache \
|
||||
;fi
|
||||
|
||||
# Copy opcache configration
|
||||
COPY ./opcache.ini /usr/local/etc/php/conf.d/opcache.ini
|
||||
|
||||
#####################################
|
||||
# Mysqli Modifications:
|
||||
#####################################
|
||||
|
||||
ARG INSTALL_MYSQLI=false
|
||||
RUN if [ ${INSTALL_MYSQLI} = true ]; then \
|
||||
docker-php-ext-install mysqli \
|
||||
;fi
|
||||
|
||||
#####################################
|
||||
# Tokenizer Modifications:
|
||||
#####################################
|
||||
|
||||
ARG INSTALL_TOKENIZER=false
|
||||
RUN if [ ${INSTALL_TOKENIZER} = true ]; then \
|
||||
docker-php-ext-install tokenizer \
|
||||
;fi
|
||||
|
||||
#####################################
|
||||
# Human Language and Character Encoding Support:
|
||||
#####################################
|
||||
|
||||
ARG INSTALL_INTL=false
|
||||
RUN if [ ${INSTALL_INTL} = true ]; then \
|
||||
# Install intl and requirements
|
||||
apt-get update -yqq && \
|
||||
apt-get install -y zlib1g-dev libicu-dev g++ && \
|
||||
docker-php-ext-configure intl && \
|
||||
docker-php-ext-install intl \
|
||||
;fi
|
||||
|
||||
#####################################
|
||||
# GHOSTSCRIPT:
|
||||
#####################################
|
||||
|
||||
ARG INSTALL_GHOSTSCRIPT=false
|
||||
RUN if [ ${INSTALL_GHOSTSCRIPT} = true ]; then \
|
||||
# Install the ghostscript extension
|
||||
# for PDF editing
|
||||
apt-get update -yqq \
|
||||
&& apt-get install -y \
|
||||
poppler-utils \
|
||||
ghostscript \
|
||||
;fi
|
||||
|
||||
#####################################
|
||||
# LDAP:
|
||||
#####################################
|
||||
|
||||
ARG INSTALL_LDAP=false
|
||||
RUN if [ ${INSTALL_LDAP} = true ]; then \
|
||||
apt-get update -yqq && \
|
||||
apt-get install -y libldap2-dev && \
|
||||
docker-php-ext-configure ldap --with-libdir=lib/x86_64-linux-gnu/ && \
|
||||
docker-php-ext-install ldap \
|
||||
;fi
|
||||
|
||||
#####################################
|
||||
# SQL SERVER:
|
||||
#####################################
|
||||
|
||||
ARG INSTALL_MSSQL=false
|
||||
ENV INSTALL_MSSQL ${INSTALL_MSSQL}
|
||||
RUN if [ ${INSTALL_MSSQL} = true ]; then \
|
||||
#####################################
|
||||
# Ref from https://github.com/Microsoft/msphpsql/wiki/Dockerfile-for-adding-pdo_sqlsrv-and-sqlsrv-to-official-php-image
|
||||
#####################################
|
||||
# Add Microsoft repo for Microsoft ODBC Driver 13 for Linux
|
||||
apt-get update -yqq && apt-get install -y apt-transport-https \
|
||||
&& curl https://packages.microsoft.com/keys/microsoft.asc | apt-key add - \
|
||||
&& curl https://packages.microsoft.com/config/debian/8/prod.list > /etc/apt/sources.list.d/mssql-release.list \
|
||||
&& apt-get update -yqq \
|
||||
|
||||
# Install Dependencies
|
||||
&& ACCEPT_EULA=Y apt-get install -y unixodbc unixodbc-dev libgss3 odbcinst msodbcsql locales \
|
||||
&& echo "en_US.UTF-8 UTF-8" > /etc/locale.gen && locale-gen \
|
||||
|
||||
# Install pdo_sqlsrv and sqlsrv from PECL. Replace pdo_sqlsrv-4.1.8preview with preferred version.
|
||||
&& pecl install pdo_sqlsrv-4.1.8preview sqlsrv-4.1.8preview \
|
||||
&& docker-php-ext-enable pdo_sqlsrv sqlsrv \
|
||||
;fi
|
||||
|
||||
#####################################
|
||||
# Image optimizers:
|
||||
#####################################
|
||||
USER root
|
||||
ARG INSTALL_IMAGE_OPTIMIZERS=false
|
||||
ENV INSTALL_IMAGE_OPTIMIZERS ${INSTALL_IMAGE_OPTIMIZERS}
|
||||
RUN if [ ${INSTALL_IMAGE_OPTIMIZERS} = true ]; then \
|
||||
apt-get update -yqq && \
|
||||
apt-get install -y --force-yes jpegoptim optipng pngquant gifsicle \
|
||||
;fi
|
||||
|
||||
#####################################
|
||||
# ImageMagick:
|
||||
#####################################
|
||||
USER root
|
||||
ARG INSTALL_IMAGEMAGICK=false
|
||||
ENV INSTALL_IMAGEMAGICK ${INSTALL_IMAGEMAGICK}
|
||||
RUN if [ ${INSTALL_IMAGEMAGICK} = true ]; then \
|
||||
apt-get update -y && \
|
||||
apt-get install -y libmagickwand-dev imagemagick && \
|
||||
pecl install imagick && \
|
||||
docker-php-ext-enable imagick \
|
||||
;fi
|
||||
|
||||
#
|
||||
#--------------------------------------------------------------------------
|
||||
# Final Touch
|
||||
#--------------------------------------------------------------------------
|
||||
#
|
||||
|
||||
ADD ./laravel.ini /usr/local/etc/php/conf.d
|
||||
ADD ./xlaravel.pool.conf /usr/local/etc/php-fpm.d/
|
||||
|
||||
#RUN rm -r /var/lib/apt/lists/*
|
||||
|
||||
RUN usermod -u 1000 www-data
|
||||
|
||||
WORKDIR /var/www
|
||||
|
||||
CMD ["php-fpm"]
|
||||
|
||||
EXPOSE 9000
|
@ -4,10 +4,13 @@ log_errors=On
|
||||
|
||||
; Maximum amount of memory a script may consume (128MB)
|
||||
; http://php.net/memory-limit
|
||||
memory_limit = 128M
|
||||
memory_limit = 256M
|
||||
; Maximum allowed size for uploaded files.
|
||||
; http://php.net/upload-max-filesize
|
||||
upload_max_filesize = 20M
|
||||
; Sets max size of post data allowed.
|
||||
; http://php.net/post-max-size
|
||||
post_max_size = 20M
|
||||
max_execution_time=600
|
||||
default_socket_timeout=3600
|
||||
request_terminate_timeout=600
|
||||
|
@ -1442,7 +1442,7 @@ session.save_handler = files
|
||||
; where MODE is the octal representation of the mode. Note that this
|
||||
; does not overwrite the process's umask.
|
||||
; http://php.net/session.save-path
|
||||
;session.save_path = "/tmp"
|
||||
session.save_path = "/tmp"
|
||||
|
||||
; Whether to use strict session mode.
|
||||
; Strict session mode does not accept uninitialized session ID and regenerate
|
@ -380,7 +380,7 @@ expose_php = On
|
||||
; Maximum execution time of each script, in seconds
|
||||
; http://php.net/max-execution-time
|
||||
; Note: This directive is hardcoded to 0 for the CLI SAPI
|
||||
max_execution_time = 30
|
||||
max_execution_time = 600
|
||||
|
||||
; Maximum amount of time each script may spend parsing request data. It's a good
|
||||
; idea to limit this time on productions servers in order to eliminate unexpectedly
|
||||
@ -390,7 +390,7 @@ max_execution_time = 30
|
||||
; Development Value: 60 (60 seconds)
|
||||
; Production Value: 60 (60 seconds)
|
||||
; http://php.net/max-input-time
|
||||
max_input_time = 60
|
||||
max_input_time = 120
|
||||
|
||||
; Maximum input variable nesting level
|
||||
; http://php.net/max-input-nesting-level
|
||||
@ -401,7 +401,7 @@ max_input_time = 60
|
||||
|
||||
; Maximum amount of memory a script may consume (128MB)
|
||||
; http://php.net/memory-limit
|
||||
memory_limit = 128M
|
||||
memory_limit = 256M
|
||||
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
; Error handling and logging ;
|
||||
@ -1348,7 +1348,7 @@ session.save_handler = files
|
||||
; where MODE is the octal representation of the mode. Note that this
|
||||
; does not overwrite the process's umask.
|
||||
; http://php.net/session.save-path
|
||||
;session.save_path = "/tmp"
|
||||
session.save_path = "/tmp"
|
||||
|
||||
; Whether to use strict session mode.
|
||||
; Strict session mode does not accept uninitialized session ID and regenerate
|
@ -380,7 +380,7 @@ expose_php = On
|
||||
; Maximum execution time of each script, in seconds
|
||||
; http://php.net/max-execution-time
|
||||
; Note: This directive is hardcoded to 0 for the CLI SAPI
|
||||
max_execution_time = 30
|
||||
max_execution_time = 600
|
||||
|
||||
; Maximum amount of time each script may spend parsing request data. It's a good
|
||||
; idea to limit this time on productions servers in order to eliminate unexpectedly
|
||||
@ -390,7 +390,7 @@ max_execution_time = 30
|
||||
; Development Value: 60 (60 seconds)
|
||||
; Production Value: 60 (60 seconds)
|
||||
; http://php.net/max-input-time
|
||||
max_input_time = 60
|
||||
max_input_time = 120
|
||||
|
||||
; Maximum input variable nesting level
|
||||
; http://php.net/max-input-nesting-level
|
||||
@ -401,7 +401,7 @@ max_input_time = 60
|
||||
|
||||
; Maximum amount of memory a script may consume (128MB)
|
||||
; http://php.net/memory-limit
|
||||
memory_limit = 128M
|
||||
memory_limit = 256M
|
||||
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
; Error handling and logging ;
|
||||
@ -1348,7 +1348,7 @@ session.save_handler = files
|
||||
; where MODE is the octal representation of the mode. Note that this
|
||||
; does not overwrite the process's umask.
|
||||
; http://php.net/session.save-path
|
||||
;session.save_path = "/tmp"
|
||||
session.save_path = "/tmp"
|
||||
|
||||
; Whether to use strict session mode.
|
||||
; Strict session mode does not accept uninitialized session ID and regenerate
|
1918
php-fpm/php7.2.ini
Normal file
1918
php-fpm/php7.2.ini
Normal file
File diff suppressed because it is too large
Load Diff
@ -1,13 +1,20 @@
|
||||
; NOTE: The actual debug.so extention is NOT SET HERE but rather (/usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini)
|
||||
|
||||
; xdebug.remote_host=dockerhost
|
||||
xdebug.remote_connect_back=1
|
||||
xdebug.remote_port=9000
|
||||
xdebug.idekey=PHPSTORM
|
||||
|
||||
xdebug.remote_autostart=0
|
||||
xdebug.remote_enable=0
|
||||
xdebug.remote_connect_back=0
|
||||
xdebug.cli_color=0
|
||||
xdebug.profiler_enable=0
|
||||
xdebug.profiler_output_dir="~/xdebug/phpstorm/tmp/profiling"
|
||||
|
||||
xdebug.remote_handler=dbgp
|
||||
xdebug.remote_mode=req
|
||||
|
||||
xdebug.remote_port=9000
|
||||
xdebug.remote_host=dockerhost
|
||||
xdebug.idekey=PHPSTORM
|
||||
xdebug.var_display_max_children=-1
|
||||
xdebug.var_display_max_data=-1
|
||||
xdebug.var_display_max_depth=-1
|
||||
|
||||
|
@ -4,9 +4,10 @@
|
||||
#--------------------------------------------------------------------------
|
||||
#
|
||||
|
||||
FROM php:7.1-alpine
|
||||
ARG PHP_VERSION=${PHP_VERSION}
|
||||
FROM php:${PHP_VERSION}-alpine
|
||||
|
||||
MAINTAINER Mahmoud Zalt <mahmoud@zalt.me>
|
||||
LABEL maintainer="Mahmoud Zalt <mahmoud@zalt.me>"
|
||||
|
||||
RUN apk --update add wget \
|
||||
curl \
|
||||
@ -21,8 +22,15 @@ RUN apk --update add wget \
|
||||
libgsasl-dev \
|
||||
supervisor
|
||||
|
||||
RUN docker-php-ext-install mysqli mbstring pdo pdo_mysql mcrypt tokenizer xml
|
||||
RUN pecl channel-update pecl.php.net && pecl install memcached && docker-php-ext-enable memcached
|
||||
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 PostgreSQL drivers:
|
||||
ARG INSTALL_PGSQL=false
|
||||
RUN if [ ${INSTALL_PGSQL} = true ]; then \
|
||||
apk --update add postgresql-dev \
|
||||
&& docker-php-ext-install pdo_pgsql \
|
||||
;fi
|
||||
|
||||
RUN rm /var/cache/apk/* \
|
||||
&& mkdir -p /var/www
|
||||
@ -49,6 +57,13 @@ ENTRYPOINT ["/usr/bin/supervisord", "-n", "-c", "/etc/supervisord.conf"]
|
||||
#
|
||||
# -- Your awesome modifications go here -- #
|
||||
|
||||
#
|
||||
#--------------------------------------------------------------------------
|
||||
# Check PHP version
|
||||
#--------------------------------------------------------------------------
|
||||
#
|
||||
|
||||
RUN php -v | head -n 1 | grep -q "PHP ${PHP_VERSION}."
|
||||
|
||||
#
|
||||
#--------------------------------------------------------------------------
|
@ -1,59 +0,0 @@
|
||||
#
|
||||
#--------------------------------------------------------------------------
|
||||
# Image Setup
|
||||
#--------------------------------------------------------------------------
|
||||
#
|
||||
|
||||
FROM php:7.0-alpine
|
||||
|
||||
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 mcrypt tokenizer xml
|
||||
RUN pecl channel-update pecl.php.net && pecl install memcached && docker-php-ext-enable memcached
|
||||
|
||||
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 -- #
|
||||
|
||||
|
||||
#
|
||||
#--------------------------------------------------------------------------
|
||||
# Final Touch
|
||||
#--------------------------------------------------------------------------
|
||||
#
|
||||
|
||||
WORKDIR /etc/supervisor/conf.d/
|
@ -1,9 +1,10 @@
|
||||
[supervisord]
|
||||
nodaemon=true
|
||||
[program:laravel-worker]
|
||||
process_name=%(program_name)s_%(process_num)02d
|
||||
command=php /var/www/artisan queue:work --sleep=3 --tries=3 --daemon
|
||||
autostart=true
|
||||
autorestart=true
|
||||
numprocs=8
|
||||
redirect_stderr=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
|
7
php-worker/supervisord.d/laravel-worker.conf
Normal file
7
php-worker/supervisord.d/laravel-worker.conf
Normal file
@ -0,0 +1,7 @@
|
||||
[program:laravel-worker]
|
||||
process_name=%(program_name)s_%(process_num)02d
|
||||
command=php /var/www/artisan queue:work --sleep=3 --tries=3 --daemon
|
||||
autostart=true
|
||||
autorestart=true
|
||||
numprocs=8
|
||||
redirect_stderr=true
|
@ -1,6 +1,6 @@
|
||||
FROM phpmyadmin/phpmyadmin
|
||||
|
||||
MAINTAINER Bo-Yi Wu <appleboy.tw@gmail.com>
|
||||
LABEL maintainer="Bo-Yi Wu <appleboy.tw@gmail.com>"
|
||||
|
||||
# Add volume for sessions to allow session persistence
|
||||
VOLUME /sessions
|
||||
|
3
portainer/Dockerfile
Normal file
3
portainer/Dockerfile
Normal file
@ -0,0 +1,3 @@
|
||||
FROM portainer/portainer
|
||||
|
||||
LABEL maintainer="luciano@lucianojr.com.br"
|
@ -1,6 +1,6 @@
|
||||
FROM mdillon/postgis:latest
|
||||
|
||||
MAINTAINER Mahmoud Zalt <mahmoud@zalt.me>
|
||||
LABEL maintainer="Mahmoud Zalt <mahmoud@zalt.me>"
|
||||
|
||||
CMD ["postgres"]
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
FROM postgres:latest
|
||||
FROM postgres:alpine
|
||||
|
||||
MAINTAINER Ben M <git@bmagg.com>
|
||||
LABEL maintainer="Ben M <git@bmagg.com>"
|
||||
|
||||
CMD ["postgres"]
|
||||
|
||||
EXPOSE 5432
|
||||
EXPOSE 5432
|
||||
|
3
postgres/docker-entrypoint-initdb.d/.gitignore
vendored
Normal file
3
postgres/docker-entrypoint-initdb.d/.gitignore
vendored
Normal file
@ -0,0 +1,3 @@
|
||||
*.sh
|
||||
!init_gitlab_db.sh
|
||||
!init_jupyterhub_db.sh
|
33
postgres/docker-entrypoint-initdb.d/createdb.sh.example
Normal file
33
postgres/docker-entrypoint-initdb.d/createdb.sh.example
Normal file
@ -0,0 +1,33 @@
|
||||
#!/bin/bash
|
||||
#
|
||||
# Copy createdb.sh.example to createdb.sh
|
||||
# then uncomment then set database name and username to create you need databases
|
||||
#
|
||||
# example: .env POSTGRES_USER=appuser and need db name is myshop_db
|
||||
#
|
||||
# psql -v ON_ERROR_STOP=1 --username "$POSTGRES_USER" --dbname "$POSTGRES_DB" <<-EOSQL
|
||||
# CREATE USER myuser WITH PASSWORD 'mypassword';
|
||||
# CREATE DATABASE myshop_db;
|
||||
# GRANT ALL PRIVILEGES ON DATABASE myshop_db TO myuser;
|
||||
# EOSQL
|
||||
#
|
||||
# this sh script will auto run when the postgres container starts and the $DATA_PATH_HOST/postgres not found.
|
||||
#
|
||||
#
|
||||
# psql -v ON_ERROR_STOP=1 --username "$POSTGRES_USER" --dbname "$POSTGRES_DB" <<-EOSQL
|
||||
# CREATE USER db1 WITH PASSWORD 'db1';
|
||||
# CREATE DATABASE db1;
|
||||
# GRANT ALL PRIVILEGES ON DATABASE db1 TO db1;
|
||||
# EOSQL
|
||||
#
|
||||
# psql -v ON_ERROR_STOP=1 --username "$POSTGRES_USER" --dbname "$POSTGRES_DB" <<-EOSQL
|
||||
# CREATE USER db2 WITH PASSWORD 'db2';
|
||||
# CREATE DATABASE db2;
|
||||
# GRANT ALL PRIVILEGES ON DATABASE db2 TO db2;
|
||||
# EOSQL
|
||||
#
|
||||
# psql -v ON_ERROR_STOP=1 --username "$POSTGRES_USER" --dbname "$POSTGRES_DB" <<-EOSQL
|
||||
# CREATE USER db3 WITH PASSWORD 'db3';
|
||||
# CREATE DATABASE db3;
|
||||
# GRANT ALL PRIVILEGES ON DATABASE db3 TO db3;
|
||||
# EOSQL
|
41
postgres/docker-entrypoint-initdb.d/init_gitlab_db.sh
Normal file
41
postgres/docker-entrypoint-initdb.d/init_gitlab_db.sh
Normal file
@ -0,0 +1,41 @@
|
||||
#!/bin/bash
|
||||
#
|
||||
# Copy createdb.sh.example to createdb.sh
|
||||
# then uncomment then set database name and username to create you need databases
|
||||
#
|
||||
# example: .env POSTGRES_USER=appuser and need db name is myshop_db
|
||||
#
|
||||
# psql -v ON_ERROR_STOP=1 --username "$POSTGRES_USER" --dbname "$POSTGRES_DB" <<-EOSQL
|
||||
# CREATE USER myuser WITH PASSWORD 'mypassword';
|
||||
# CREATE DATABASE myshop_db;
|
||||
# GRANT ALL PRIVILEGES ON DATABASE myshop_db TO myuser;
|
||||
# EOSQL
|
||||
#
|
||||
# this sh script will auto run when the postgres container starts and the $DATA_PATH_HOST/postgres not found.
|
||||
#
|
||||
#
|
||||
# psql -v ON_ERROR_STOP=1 --username "$POSTGRES_USER" --dbname "$POSTGRES_DB" <<-EOSQL
|
||||
# CREATE USER db1 WITH PASSWORD 'db1';
|
||||
# CREATE DATABASE db1;
|
||||
# GRANT ALL PRIVILEGES ON DATABASE db1 TO db1;
|
||||
# EOSQL
|
||||
#
|
||||
# psql -v ON_ERROR_STOP=1 --username "$POSTGRES_USER" --dbname "$POSTGRES_DB" <<-EOSQL
|
||||
# CREATE USER db2 WITH PASSWORD 'db2';
|
||||
# CREATE DATABASE db2;
|
||||
# GRANT ALL PRIVILEGES ON DATABASE db2 TO db2;
|
||||
# EOSQL
|
||||
#
|
||||
# psql -v ON_ERROR_STOP=1 --username "$POSTGRES_USER" --dbname "$POSTGRES_DB" <<-EOSQL
|
||||
# CREATE USER db3 WITH PASSWORD 'db3';
|
||||
# CREATE DATABASE db3;
|
||||
# GRANT ALL PRIVILEGES ON DATABASE db3 TO db3;
|
||||
# EOSQL
|
||||
#
|
||||
### default database and user for gitlab ##############################################
|
||||
psql -v ON_ERROR_STOP=1 --username "$POSTGRES_USER" --dbname "$POSTGRES_DB" <<-EOSQL
|
||||
CREATE USER laradock_gitlab WITH PASSWORD 'laradock_gitlab';
|
||||
CREATE DATABASE laradock_gitlab;
|
||||
GRANT ALL PRIVILEGES ON DATABASE laradock_gitlab TO laradock_gitlab;
|
||||
ALTER ROLE laradock_gitlab CREATEROLE SUPERUSER;
|
||||
EOSQL
|
41
postgres/docker-entrypoint-initdb.d/init_jupyterhub_db.sh
Normal file
41
postgres/docker-entrypoint-initdb.d/init_jupyterhub_db.sh
Normal file
@ -0,0 +1,41 @@
|
||||
#!/bin/bash
|
||||
#
|
||||
# Copy createdb.sh.example to createdb.sh
|
||||
# then uncomment then set database name and username to create you need databases
|
||||
#
|
||||
# example: .env POSTGRES_USER=appuser and need db name is myshop_db
|
||||
#
|
||||
# psql -v ON_ERROR_STOP=1 --username "$POSTGRES_USER" --dbname "$POSTGRES_DB" <<-EOSQL
|
||||
# CREATE USER myuser WITH PASSWORD 'mypassword';
|
||||
# CREATE DATABASE myshop_db;
|
||||
# GRANT ALL PRIVILEGES ON DATABASE myshop_db TO myuser;
|
||||
# EOSQL
|
||||
#
|
||||
# this sh script will auto run when the postgres container starts and the $DATA_PATH_HOST/postgres not found.
|
||||
#
|
||||
#
|
||||
# psql -v ON_ERROR_STOP=1 --username "$POSTGRES_USER" --dbname "$POSTGRES_DB" <<-EOSQL
|
||||
# CREATE USER db1 WITH PASSWORD 'db1';
|
||||
# CREATE DATABASE db1;
|
||||
# GRANT ALL PRIVILEGES ON DATABASE db1 TO db1;
|
||||
# EOSQL
|
||||
#
|
||||
# psql -v ON_ERROR_STOP=1 --username "$POSTGRES_USER" --dbname "$POSTGRES_DB" <<-EOSQL
|
||||
# CREATE USER db2 WITH PASSWORD 'db2';
|
||||
# CREATE DATABASE db2;
|
||||
# GRANT ALL PRIVILEGES ON DATABASE db2 TO db2;
|
||||
# EOSQL
|
||||
#
|
||||
# psql -v ON_ERROR_STOP=1 --username "$POSTGRES_USER" --dbname "$POSTGRES_DB" <<-EOSQL
|
||||
# CREATE USER db3 WITH PASSWORD 'db3';
|
||||
# CREATE DATABASE db3;
|
||||
# GRANT ALL PRIVILEGES ON DATABASE db3 TO db3;
|
||||
# EOSQL
|
||||
#
|
||||
### default database and user for jupyterhub ##############################################
|
||||
psql -v ON_ERROR_STOP=1 --username "$POSTGRES_USER" --dbname "$POSTGRES_DB" <<-EOSQL
|
||||
CREATE USER laradock_jupyterhub WITH PASSWORD 'laradock_jupyterhub';
|
||||
CREATE DATABASE laradock_jupyterhub;
|
||||
GRANT ALL PRIVILEGES ON DATABASE laradock_jupyterhub TO laradock_jupyterhub;
|
||||
ALTER ROLE laradock_jupyterhub CREATEROLE SUPERUSER;
|
||||
EOSQL
|
@ -1,6 +1,6 @@
|
||||
FROM rabbitmq
|
||||
|
||||
MAINTAINER Mahmoud Zalt <mahmoud@zalt.me>
|
||||
LABEL maintainer="Mahmoud Zalt <mahmoud@zalt.me>"
|
||||
|
||||
RUN rabbitmq-plugins enable --offline rabbitmq_management
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
FROM redis:latest
|
||||
|
||||
MAINTAINER Mahmoud Zalt <mahmoud@zalt.me>
|
||||
LABEL maintainer="Mahmoud Zalt <mahmoud@zalt.me>"
|
||||
|
||||
## For security settings uncomment, make the dir, copy conf, and also start with the conf, to use it
|
||||
#RUN mkdir -p /usr/local/etc/redis
|
||||
|
@ -1,6 +1,6 @@
|
||||
FROM rethinkdb:latest
|
||||
|
||||
MAINTAINER Cristian Mello <cristianc.mello@gmail.com>
|
||||
LABEL maintainer="Cristian Mello <cristianc.mello@gmail.com>"
|
||||
|
||||
VOLUME /data/rethinkdb_data
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
FROM selenium/standalone-chrome
|
||||
|
||||
MAINTAINER Edmund Luong <edmundvmluong@gmail.com>
|
||||
LABEL maintainer="Edmund Luong <edmundvmluong@gmail.com>"
|
||||
|
||||
EXPOSE 4444
|
||||
EXPOSE 4444
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user