Compare commits

...

73 Commits
0.95 ... 0.110

Author SHA1 Message Date
cytopia
9e247307ad Merge pull request #170 from devilbox/release-0.110
Release v0.110
2020-09-13 11:16:48 +02:00
cytopia
b095b04ec3 Fix laravel symlink location for PHP 7.2 2020-09-12 17:39:20 +02:00
cytopia
5684fac8a2 Fixes laravel installer for PHP 7.2 2020-09-12 12:54:07 +02:00
cytopia
eb6799ad29 Fix download for drupal console 2020-09-12 11:48:21 +02:00
cytopia
1c53a0fd68 Merge pull request #168 from devilbox/release-0.109
Fix absolute path in tests
2020-08-09 14:47:03 +02:00
cytopia
fabc29299c Fix absolute path in tests 2020-08-09 13:07:53 +02:00
cytopia
83b4cb6b43 Merge pull request #167 from devilbox/release-0.108
Release 0.108
2020-08-08 18:11:27 +02:00
cytopia
dc438b0aad Fixes policy.xml for Imagick 2020-08-08 12:16:37 +02:00
cytopia
c8bd21ebbe Update CHANGELOG 2020-08-08 12:03:13 +02:00
cytopia
b2476e3851 Add gsfonts, mupdf and mupdf-tools 2020-08-08 12:02:39 +02:00
cytopia
c06a3d2237 Fix Redis for PHP 8.0 2020-08-08 12:02:04 +02:00
cytopia
ce4f022c70 Update CHANGELOG 2020-08-08 11:12:20 +02:00
cytopia
9c5326dc0f Stricter version check for installed tools 2020-08-08 11:11:35 +02:00
cytopia
2701a524b9 Fixed MongoDB module for PHP 5.6 2020-08-08 11:10:22 +02:00
cytopia
acea0ac0fe Fixed Ansible installation 2020-08-08 11:09:19 +02:00
cytopia
3153b329f1 Added imagick PDF support (via ghostscript) 2020-08-08 11:08:05 +02:00
cytopia
10285279c7 Merge pull request #159 from devilbox/release-0.107
Release 0.107
2020-06-27 23:36:51 +02:00
cytopia
0a04342e46 Adding certbot binary 2020-06-27 18:46:50 +02:00
cytopia
dad684bfd1 Re-added imap for PHP 7.4 2020-06-27 16:23:07 +02:00
cytopia
9fabcf3b71 Fixes imagick segfault by setting its threads to 1 2020-06-27 15:52:01 +02:00
cytopia
0669d92289 Adjust travis.yml 2020-06-27 12:16:48 +02:00
cytopia
6d2053878a Fix broken pipelines 2020-06-26 10:00:26 +02:00
cytopia
c3f46d3706 Fix push to Dockerhub 2020-04-07 12:01:29 +02:00
cytopia
de9642c2b5 Merge pull request #157 from devilbox/release-0.106
Release 0.106
2020-03-18 13:58:09 +01:00
cytopia
6fa341748b Disable PHP-FPM 8.0 uploadprogress module due to startup warnings 2020-03-18 10:03:45 +01:00
cytopia
5f719f60ce Fix build of PHP-FPM 8.0 uploadprogress module 2020-03-18 07:35:45 +01:00
cytopia
ffc8df1906 Fix build of PHP-FPM 7.4 snmp module 2020-03-18 07:13:11 +01:00
cytopia
186bf71519 Merge pull request #153 from anatolinicolae/master
Add sorting for startup files
2020-03-18 06:57:32 +01:00
cytopia
422e559ee3 Merge branch 'master' into master 2020-02-08 18:45:22 +01:00
cytopia
eb85e3e288 Merge pull request #155 from devilbox/release-0.105
Release 0.105
2020-02-06 07:55:17 +01:00
cytopia
5ed5dd2503 Use COMPOSER_MEMORY_LIMIT env var 2020-02-05 17:52:18 +01:00
cytopia
1225d564a7 Fix sqlsrv install for PHP 7.1 2020-02-04 19:13:13 +01:00
cytopia
a4102e3d7f Update changelog 2020-02-04 18:13:36 +01:00
cytopia
982dd44701 Add phalcon binary to PHP 7.3 and 7.4 2020-02-04 18:13:22 +01:00
cytopia
bc851cca0f Fix build of pdo_sqlsrv for PHP 7.1 2020-02-04 17:36:03 +01:00
cytopia
ef5b2ed58c Fix composer install 2020-02-04 17:33:21 +01:00
Anatoli Nicolae
cbd4f58876 Add sorting for startup files
Alphanumerically sort files found in /startup.1.d and /startup.2.d directories, to prevent non regular script execution.

Signed-off-by: Anatoli Nicolae <desk@anatolinicolae.com>
2020-01-29 15:09:56 +01:00
cytopia
fd6550627d Merge pull request #152 from devilbox/release-0.104
Release 0.104
2020-01-17 12:16:32 +01:00
cytopia
af150ba371 Fix xdebug install for PHP 7.0 2020-01-17 09:38:48 +01:00
cytopia
47800a7ede Merge pull request #151 from devilbox/release-0.103
Release v0.103
2020-01-14 20:32:06 +01:00
cytopia
d977d941ac Add PHP yaml module 2020-01-14 17:39:37 +01:00
cytopia
2ae551e5a5 Merge pull request #150 from devilbox/UPDATE-README
Update available tools
2020-01-09 13:12:14 +01:00
cytopia
37747d392a Update available tools 2020-01-09 13:13:53 +01:00
cytopia
0a5aadd2a2 Merge pull request #149 from devilbox/release-0.102
Release 0.102
2020-01-09 13:10:07 +01:00
cytopia
64c41f7786 Replace scss-lint with stylelint 2020-01-08 15:44:08 +01:00
cytopia
8bef4c7167 Fixes #144 Adding CHANGELOG 2020-01-08 13:31:56 +01:00
cytopia
58ecd35153 Fixes #123 Replace Ruby Sass with Dart Sass 2020-01-08 13:30:08 +01:00
cytopia
55a1333d58 Merge pull request #147 from devilbox/release-0.101
Release v0.101
2020-01-05 15:20:39 +01:00
cytopia
fa1ec623d7 Change symfony cli from i686 to amd64 2020-01-05 13:37:53 +01:00
cytopia
faa10b9512 Consolidate curl commands 2020-01-05 13:31:35 +01:00
cytopia
fc6df6bdaf Use latest Symfony version 2020-01-05 13:28:48 +01:00
cytopia
649f667f45 Merge pull request #146 from devilbox/release-0.100
Release v0.100
2020-01-04 22:30:02 +01:00
cytopia
0cbd58141d Fix wget download 2020-01-04 21:22:39 +01:00
cytopia
965db7f0d5 Allow chown homedir to fail (e.g.: for read-only sub-mount) 2020-01-04 21:03:29 +01:00
cytopia
172baf9743 Merge pull request #145 from devilbox/release-0.99
Add phpmd binary
2020-01-04 20:51:41 +01:00
cytopia
fc5e5e21e5 Ensure unwanted artifacts are removed during build 2020-01-04 20:52:31 +01:00
cytopia
529a33f1a0 Fix phpredis for PHP 8.0 2020-01-04 19:18:35 +01:00
cytopia
cc77461311 Fix missing backslash in Docker command 2020-01-04 18:35:29 +01:00
cytopia
f04a5ec693 Fix phpredis module for PHP 7.4 and 8.0 2020-01-04 18:32:01 +01:00
cytopia
90495fab70 Add phpmd binary 2020-01-04 18:17:09 +01:00
cytopia
f8f485b0bb Merge pull request #143 from devilbox/release-0.98
Release v0.98
2019-12-31 19:06:26 +01:00
cytopia
3ad0330bca Add -o option to mhsendmail 2019-12-31 16:30:59 +01:00
cytopia
2587886b24 Fixes #105 Allow to start postfix without Email catch-all 2019-12-31 15:47:36 +01:00
cytopia
3ce6ed507b Merge pull request #142 from devilbox/release-0.97
Use official PHP 7.4 image
2019-12-28 19:38:39 +01:00
cytopia
f05301572d Add solr and ssh2 PHP modules 2019-12-28 17:39:12 +01:00
cytopia
40d76f355f Use official PHP 7.4 image 2019-12-28 15:59:15 +01:00
cytopia
9c1e49b814 Merge pull request #141 from devilbox/release-0.96
Release v0.96
2019-12-28 03:00:34 +01:00
cytopia
c1aa814206 Update modules in README 2019-12-27 17:22:19 +01:00
cytopia
a382745a2f Fix phalcon-devtools install 2019-12-27 17:19:45 +01:00
cytopia
d9d6f2d157 Fix deployer install 2019-12-27 14:56:47 +01:00
cytopia
9c82fb08c3 Fix Phalcon PHP module 2019-12-27 14:40:37 +01:00
cytopia
91733db9e9 Fix npm install 2019-12-27 13:30:55 +01:00
cytopia
41fec62672 Fix pecl install 2019-12-27 11:43:23 +01:00
44 changed files with 2445 additions and 1444 deletions

View File

@@ -118,8 +118,8 @@ jobs:
- name: Build Base - name: Build Base
run: | run: |
retry() { retry() {
for ((n=0; n<${RETRIES}; n++)); do for n in $(seq ${RETRIES}); do
echo "[${n}] ${*}"; echo "[${n}/${RETRIES}] ${*}";
if eval "${*}"; then if eval "${*}"; then
return 0; return 0;
fi; fi;
@@ -135,8 +135,8 @@ jobs:
- name: Test Base - name: Test Base
run: | run: |
retry() { retry() {
for ((n=0; n<${RETRIES}; n++)); do for n in $(seq ${RETRIES}); do
echo "[${n}] ${*}"; echo "[${n}/${RETRIES}] ${*}";
if eval "${*}"; then if eval "${*}"; then
return 0; return 0;
fi; fi;
@@ -156,8 +156,8 @@ jobs:
- name: Build Mods - name: Build Mods
run: | run: |
retry() { retry() {
for ((n=0; n<${RETRIES}; n++)); do for n in $(seq ${RETRIES}); do
echo "[${n}] ${*}"; echo "[${n}/${RETRIES}] ${*}";
if eval "${*}"; then if eval "${*}"; then
return 0; return 0;
fi; fi;
@@ -173,8 +173,8 @@ jobs:
- name: Test Mods - name: Test Mods
run: | run: |
retry() { retry() {
for ((n=0; n<${RETRIES}; n++)); do for n in $(seq ${RETRIES}); do
echo "[${n}] ${*}"; echo "[${n}/${RETRIES}] ${*}";
if eval "${*}"; then if eval "${*}"; then
return 0; return 0;
fi; fi;
@@ -194,8 +194,8 @@ jobs:
- name: Build Prod - name: Build Prod
run: | run: |
retry() { retry() {
for ((n=0; n<${RETRIES}; n++)); do for n in $(seq ${RETRIES}); do
echo "[${n}] ${*}"; echo "[${n}/${RETRIES}] ${*}";
if eval "${*}"; then if eval "${*}"; then
return 0; return 0;
fi; fi;
@@ -211,8 +211,8 @@ jobs:
- name: Test Prod - name: Test Prod
run: | run: |
retry() { retry() {
for ((n=0; n<${RETRIES}; n++)); do for n in $(seq ${RETRIES}); do
echo "[${n}] ${*}"; echo "[${n}/${RETRIES}] ${*}";
if eval "${*}"; then if eval "${*}"; then
return 0; return 0;
fi; fi;
@@ -232,8 +232,8 @@ jobs:
- name: Build Work - name: Build Work
run: | run: |
retry() { retry() {
for ((n=0; n<${RETRIES}; n++)); do for n in $(seq ${RETRIES}); do
echo "[${n}] ${*}"; echo "[${n}/${RETRIES}] ${*}";
if eval "${*}"; then if eval "${*}"; then
return 0; return 0;
fi; fi;
@@ -249,8 +249,8 @@ jobs:
- name: Test Work - name: Test Work
run: | run: |
retry() { retry() {
for ((n=0; n<${RETRIES}; n++)); do for n in $(seq ${RETRIES}); do
echo "[${n}] ${*}"; echo "[${n}/${RETRIES}] ${*}";
if eval "${*}"; then if eval "${*}"; then
return 0; return 0;
fi; fi;
@@ -283,8 +283,8 @@ jobs:
- name: Publish images (only repo owner) - name: Publish images (only repo owner)
run: | run: |
retry() { retry() {
for ((n=0; n<${RETRIES}; n++)); do for n in $(seq ${RETRIES}); do
echo "[${n}] ${*}"; echo "[${n}/${RETRIES}] ${*}";
if eval "${*}"; then if eval "${*}"; then
return 0; return 0;
fi; fi;

View File

@@ -15,7 +15,6 @@ on:
- cron: '0 0 * * *' - cron: '0 0 * * *'
# ------------------------------------------------------------------------------------------------- # -------------------------------------------------------------------------------------------------
# What to run # What to run
# ------------------------------------------------------------------------------------------------- # -------------------------------------------------------------------------------------------------
@@ -55,6 +54,12 @@ jobs:
RUNNER_CONTEXT: ${{ toJson(runner) }} RUNNER_CONTEXT: ${{ toJson(runner) }}
run: echo "${RUNNER_CONTEXT}" run: echo "${RUNNER_CONTEXT}"
- name: Show git info
env:
RUNNER_CONTEXT: ${{ toJson(runner) }}
run: |
git log | head -20
build: build:
name: "[ ${{ matrix.version }} ]" name: "[ ${{ matrix.version }} ]"
@@ -113,8 +118,8 @@ jobs:
- name: Build Base - name: Build Base
run: | run: |
retry() { retry() {
for ((n=0; n<${RETRIES}; n++)); do for n in $(seq ${RETRIES}); do
echo "[${n}] ${*}"; echo "[${n}/${RETRIES}] ${*}";
if eval "${*}"; then if eval "${*}"; then
return 0; return 0;
fi; fi;
@@ -130,8 +135,8 @@ jobs:
- name: Test Base - name: Test Base
run: | run: |
retry() { retry() {
for ((n=0; n<${RETRIES}; n++)); do for n in $(seq ${RETRIES}); do
echo "[${n}] ${*}"; echo "[${n}/${RETRIES}] ${*}";
if eval "${*}"; then if eval "${*}"; then
return 0; return 0;
fi; fi;
@@ -151,8 +156,8 @@ jobs:
- name: Build Mods - name: Build Mods
run: | run: |
retry() { retry() {
for ((n=0; n<${RETRIES}; n++)); do for n in $(seq ${RETRIES}); do
echo "[${n}] ${*}"; echo "[${n}/${RETRIES}] ${*}";
if eval "${*}"; then if eval "${*}"; then
return 0; return 0;
fi; fi;
@@ -168,8 +173,8 @@ jobs:
- name: Test Mods - name: Test Mods
run: | run: |
retry() { retry() {
for ((n=0; n<${RETRIES}; n++)); do for n in $(seq ${RETRIES}); do
echo "[${n}] ${*}"; echo "[${n}/${RETRIES}] ${*}";
if eval "${*}"; then if eval "${*}"; then
return 0; return 0;
fi; fi;
@@ -189,8 +194,8 @@ jobs:
- name: Build Prod - name: Build Prod
run: | run: |
retry() { retry() {
for ((n=0; n<${RETRIES}; n++)); do for n in $(seq ${RETRIES}); do
echo "[${n}] ${*}"; echo "[${n}/${RETRIES}] ${*}";
if eval "${*}"; then if eval "${*}"; then
return 0; return 0;
fi; fi;
@@ -206,8 +211,8 @@ jobs:
- name: Test Prod - name: Test Prod
run: | run: |
retry() { retry() {
for ((n=0; n<${RETRIES}; n++)); do for n in $(seq ${RETRIES}); do
echo "[${n}] ${*}"; echo "[${n}/${RETRIES}] ${*}";
if eval "${*}"; then if eval "${*}"; then
return 0; return 0;
fi; fi;
@@ -227,8 +232,8 @@ jobs:
- name: Build Work - name: Build Work
run: | run: |
retry() { retry() {
for ((n=0; n<${RETRIES}; n++)); do for n in $(seq ${RETRIES}); do
echo "[${n}] ${*}"; echo "[${n}/${RETRIES}] ${*}";
if eval "${*}"; then if eval "${*}"; then
return 0; return 0;
fi; fi;
@@ -244,8 +249,8 @@ jobs:
- name: Test Work - name: Test Work
run: | run: |
retry() { retry() {
for ((n=0; n<${RETRIES}; n++)); do for n in $(seq ${RETRIES}); do
echo "[${n}] ${*}"; echo "[${n}/${RETRIES}] ${*}";
if eval "${*}"; then if eval "${*}"; then
return 0; return 0;
fi; fi;
@@ -278,8 +283,8 @@ jobs:
- name: Publish images (only repo owner) - name: Publish images (only repo owner)
run: | run: |
retry() { retry() {
for ((n=0; n<${RETRIES}; n++)); do for n in $(seq ${RETRIES}); do
echo "[${n}] ${*}"; echo "[${n}/${RETRIES}] ${*}";
if eval "${*}"; then if eval "${*}"; then
return 0; return 0;
fi; fi;

View File

@@ -15,13 +15,6 @@ services:
env: env:
global: global:
- IMAGE: devilbox/php-fpm - IMAGE: devilbox/php-fpm
# travis encrypt DOCKER_USERNAME=user
# travis encrypt DOCKER_PASSWORD=pass
# Must be regenerated when repository name/owner changes
# DOCKER_USERNAME
- secure: "Y7xt3qZW9Zwrsgdd/aCf8ZqA7I039506ZDf/u/WVzGwNHta5YJJ7XYy8XG7XugyqGGXRVpfBiaqmDH4xsPLXyHXdOt2G38GXZHZXIgJOiEJ6aUfpdUxyeu8XIXkD2MDMmc3Kb27Yub/OadxRMLWEflzRnSXXs3KJ8TsbPHh0yRWDMsmHYOYl16gDGUX1izLkEx4J+9iA3+JwIFZk8by/OUuIIQ93bSNORpwHT8A1j7Y1kh8kYkPZ6nRxWO8xrc2wI1Rbp0X+ivLnOotxDZo53UI/0KroeSckDpoWfoz+B7mP+M+5B6kGlI2pKDNQB/ErYvnya6PdtFSS9skbvepR4tBhUOZDDY7NMRg9m3w0b9T1no+g3A4LBGXy6+OZZoiYAGy9LvqMhFkINqbBhRBX+mZhtG0pNXunfcu5dk81Ni/XpXDiy9JU98jItwsRj4SeaPfSt0LUNNXMS/fEwZyTy6TihN1CM3krJpV30Ic5rN64FRnrRjUuNU4lJ/W36yUhM29gb13ahh+f7sDsYoCzMwDM9HFe0YLb3ar3mW1lb3FuUugU2f2EupgCPY60X2XrY9aSgCfbdiVsA84dbLtRfHTPG7UbEcJW5RH8HS+9qVZBK+AcPqon9jbOJRVh7q99YW+R8X/XeyYpz7amacVmRus80+toZ16bbU7D2Qgjdek="
# DOCKER_PASSWORD
- secure: "ZRrVOVOkSCS2UxEi1HNF1iKefK4sDT/sPRl1HxMQjLnRRaAMdG0aRnBwQf2YAM2qzhCfN85qt6zZtC4awc2mHiZ88JrAZxBjK6xj4BwOyLbDuzpBsKXnx8Nix+wyYYKSjsC3LOYrsUe+4rvkw3tVvVaX8G2llojwdksF34VDmmHBmzCG/Bsexk7UqC+qw0PZm7BtctQO+IL0btmMDijRDElxfR+AuPvf9JdkhYzw9TOO7Jqd53NssNVGyL+XSV0dfGn8PkZTp1e8D+28pLK4oGVog+Wk7Cq94hSGjk5AkWKvL5441rupG1AA8K3njeDNMKdov4o+dmnkAH7Jh8tjShMhNhoxHce3IzpczjhoE1EyYQcyPf1qdfhV35Xv096iWX5809pp1MZF2oE5eism8JaU9NpGClryVbKVKtup8ko9/tCqz01Czq5Vue40feMkGtdePulg59OhyyPLYldsObw8QlZydkrmgVZe6b+GyybeiHraTfDq4pvTgUrC4Cmm5J3IB5Ig1THEiYKHfRJ5hSSMDDODeBXc8Xh6mFssEVshNx/jbUQWuAVYQFw/GIquVHxr6btbevrWIoD+zmqcc0L98u9pYH8w7b+gMgVJNCC4QQz2NCGGWw9l9/TmLrKJgeXbG18n8D314le1zuna6/VfH9pXIlbNO4hgz5NLHJk="
matrix: matrix:
- PHP=5.2 - PHP=5.2
- PHP=5.3 - PHP=5.3
@@ -103,44 +96,44 @@ before_script:
### ###
script: script:
- if [ "${TRAVIS_PULL_REQUEST}" == "false" ]; then - if [ "${TRAVIS_PULL_REQUEST}" == "false" ]; then
echo "${DOCKER_PASSWORD}" | docker login --username "${DOCKER_USERNAME}" --password-stdin && make login USERNAME="${DOCKER_USERNAME}" PASSWORD="${DOCKER_PASSWORD}";
if [ "${TRAVIS_BRANCH}" == "master" ]; then if [ "${TRAVIS_BRANCH}" == "master" ]; then
echo "Pushing latest"; echo "Pushing latest";
until docker push "${IMAGE}:${PHP}-base"; do sleep 1; done; make push TAG="${PHP}-base" &&
until docker push "${IMAGE}:${PHP}-mods"; do sleep 1; done; make push TAG="${PHP}-mods" &&
until docker push "${IMAGE}:${PHP}-prod"; do sleep 1; done; make push TAG="${PHP}-prod" &&
until docker push "${IMAGE}:${PHP}-work"; do sleep 1; done; make push TAG="${PHP}-work";
elif [[ ${TRAVIS_BRANCH} =~ ^(release-[.0-9]+)$ ]]; then elif [[ ${TRAVIS_BRANCH} =~ ^(release-[.0-9]+)$ ]]; then
echo "Pushing branch ${TRAVIS_BRANCH}"; echo "Pushing branch ${TRAVIS_BRANCH}";
docker tag "${IMAGE}:${PHP}-base" "${IMAGE}:${PHP}-base-${TRAVIS_BRANCH}" && make tag OLD_TAG="${PHP}-base" NEW_TAG="${PHP}-base-${TRAVIS_BRANCH}" &&
docker tag "${IMAGE}:${PHP}-mods" "${IMAGE}:${PHP}-mods-${TRAVIS_BRANCH}" && make tag OLD_TAG="${PHP}-mods" NEW_TAG="${PHP}-mods-${TRAVIS_BRANCH}" &&
docker tag "${IMAGE}:${PHP}-prod" "${IMAGE}:${PHP}-prod-${TRAVIS_BRANCH}" && make tag OLD_TAG="${PHP}-prod" NEW_TAG="${PHP}-prod-${TRAVIS_BRANCH}" &&
docker tag "${IMAGE}:${PHP}-work" "${IMAGE}:${PHP}-work-${TRAVIS_BRANCH}" && make tag OLD_TAG="${PHP}-work" NEW_TAG="${PHP}-work-${TRAVIS_BRANCH}" &&
until docker push "${IMAGE}:${PHP}-base-${TRAVIS_BRANCH}"; do sleep 1; done; make push TAG="${PHP}-base-${TRAVIS_BRANCH}" &&
until docker push "${IMAGE}:${PHP}-mods-${TRAVIS_BRANCH}"; do sleep 1; done; make push TAG="${PHP}-mods-${TRAVIS_BRANCH}" &&
until docker push "${IMAGE}:${PHP}-prod-${TRAVIS_BRANCH}"; do sleep 1; done; make push TAG="${PHP}-prod-${TRAVIS_BRANCH}" &&
until docker push "${IMAGE}:${PHP}-work-${TRAVIS_BRANCH}"; do sleep 1; done; make push TAG="${PHP}-work-${TRAVIS_BRANCH}";
elif [ -n "${TRAVIS_TAG}" ]; then elif [ -n "${TRAVIS_TAG}" ]; then
echo "Pushing tag ${TRAVIS_TAG}"; echo "Pushing tag ${TRAVIS_TAG}";
docker tag "${IMAGE}:${PHP}-base" "${IMAGE}:${PHP}-base-${TRAVIS_TAG}" && make tag OLD_TAG="${PHP}-base" NEW_TAG="${PHP}-base-${TRAVIS_TAG}" &&
docker tag "${IMAGE}:${PHP}-mods" "${IMAGE}:${PHP}-mods-${TRAVIS_TAG}" && make tag OLD_TAG="${PHP}-mods" NEW_TAG="${PHP}-mods-${TRAVIS_TAG}" &&
docker tag "${IMAGE}:${PHP}-prod" "${IMAGE}:${PHP}-prod-${TRAVIS_TAG}" && make tag OLD_TAG="${PHP}-prod" NEW_TAG="${PHP}-prod-${TRAVIS_TAG}" &&
docker tag "${IMAGE}:${PHP}-work" "${IMAGE}:${PHP}-work-${TRAVIS_TAG}" && make tag OLD_TAG="${PHP}-work" NEW_TAG="${PHP}-work-${TRAVIS_TAG}" &&
until docker push "${IMAGE}:${PHP}-base-${TRAVIS_TAG}"; do sleep 1; done; make push TAG="${PHP}-base-${TRAVIS_TAG}" &&
until docker push "${IMAGE}:${PHP}-mods-${TRAVIS_TAG}"; do sleep 1; done; make push TAG="${PHP}-mods-${TRAVIS_TAG}" &&
until docker push "${IMAGE}:${PHP}-prod-${TRAVIS_TAG}"; do sleep 1; done; make push TAG="${PHP}-prod-${TRAVIS_TAG}" &&
until docker push "${IMAGE}:${PHP}-work-${TRAVIS_TAG}"; do sleep 1; done; make push TAG="${PHP}-work-${TRAVIS_TAG}";
elif [ "${TRAVIS_EVENT_TYPE}" = "cron" ]; then elif [ "${TRAVIS_EVENT_TYPE}" = "cron" ]; then
if MY_TAG="$( git describe --exact-match "$(git rev-parse HEAD)" 2>/dev/null )"; then if MY_TAG="$( git describe --exact-match "$(git rev-parse HEAD)" 2>/dev/null )"; then
echo "Pushing cron tag ${MY_TAG}"; echo "Pushing cron tag ${MY_TAG}";
docker tag "${IMAGE}:${PHP}-base" "${IMAGE}:${PHP}-base-${MY_TAG}" && make tag OLD_TAG="${PHP}-base" NEW_TAG="${PHP}-base-${MY_TAG}" &&
docker tag "${IMAGE}:${PHP}-mods" "${IMAGE}:${PHP}-mods-${MY_TAG}" && make tag OLD_TAG="${PHP}-mods" NEW_TAG="${PHP}-mods-${MY_TAG}" &&
docker tag "${IMAGE}:${PHP}-prod" "${IMAGE}:${PHP}-prod-${MY_TAG}" && make tag OLD_TAG="${PHP}-prod" NEW_TAG="${PHP}-prod-${MY_TAG}" &&
docker tag "${IMAGE}:${PHP}-work" "${IMAGE}:${PHP}-work-${MY_TAG}" && make tag OLD_TAG="${PHP}-work" NEW_TAG="${PHP}-work-${MY_TAG}" &&
until docker push "${IMAGE}:${PHP}-base-${MY_TAG}"; do sleep 1; done; make push TAG="${PHP}-base-${MY_TAG}" &&
until docker push "${IMAGE}:${PHP}-mods-${MY_TAG}"; do sleep 1; done; make push TAG="${PHP}-mods-${MY_TAG}" &&
until docker push "${IMAGE}:${PHP}-prod-${MY_TAG}"; do sleep 1; done; make push TAG="${PHP}-prod-${MY_TAG}" &&
until docker push "${IMAGE}:${PHP}-work-${MY_TAG}"; do sleep 1; done; make push TAG="${PHP}-work-${MY_TAG}";
fi fi
else else
echo "Skipping push to dockerhub on normal branches"; echo "Skipping push to dockerhub on normal branches";

87
CHANGELOG.md Normal file
View File

@@ -0,0 +1,87 @@
# Changelog
## Unreleased
## Release 0.110
#### Fixed
- [169](https://github.com/devilbox/docker-php-fpm/issues/169) Fixes download for drupal console
- Fixes laravel installer for PHP 7.2
## Release 0.109
#### Fixed
- Fixed absolute paths in tests
## Release 0.108
#### Added
- Added ghostscript
- Added gsfonts
- Added imagick PDF support (via ghostscript)
- Added mupdf and mupdf-tools
#### Fixed
- Fixes Ansible installation
- Fixes MongoDB for PHP 5.6
- Fixes Redis for PHP 8.0
- Fixes policy.xml for Imagick
#### Changed
- Stricter version check for installed tools
## Release 0.107
#### Fixed
- Fixes login to Dockerhub for CI jobs
- Fixes imagick segfault by setting its threads to 1
#### Added
- Re-added imap for PHP 7.4
- Adding `certbot` binary
## Release 0.106
#### Fixed
- [#153](https://github.com/devilbox/docker-php-fpm/pull/153) Use numeric order for startup files
- Fix build of PHP-FPM 7.4 snmp module
- Disable PHP-FPM 8.0 uploadprogress module due to startup warnings
## Release 0.105
#### Fixed
- Fix pdo_sqlsrv install for PHP 7.1
- Fix sqlsrv install for PHP 7.1
- Fix composer memory issues during install
#### Added
- `phalcon` binary for PHP 7.3 and 7.4
## Release 0.104
#### Fixed
- Fix xdebug install for PHP 7.0
## Release 0.103
#### Added
- Add PHP [yaml](https://pecl.php.net/package/yaml) module
## Release 0.102
#### Added
- [#144](https://github.com/devilbox/docker-php-fpm/issues/144) Added CHANGELOG
#### Changed
- [#123](https://github.com/devilbox/docker-php-fpm/issues/123) Added Dart Sass and removed Ruby Sass
- Replace [scss-lint](https://github.com/sds/scss-lint) with [stylelint](https://github.com/stylelint/stylelint)

View File

@@ -1,5 +1,5 @@
# Auto-generated via Ansible: edit build/ansible/DOCKERFILES/Dockerfile-base.j2 instead. # Auto-generated via Ansible: edit build/ansible/DOCKERFILES/Dockerfile-base.j2 instead.
FROM devilbox/php-fpm-7.4 FROM php:7.4-fpm
MAINTAINER "cytopia" <cytopia@everythingcli.org> MAINTAINER "cytopia" <cytopia@everythingcli.org>

View File

@@ -61,7 +61,7 @@ set_uid() {
# Change uid and fix homedir permissions # Change uid and fix homedir permissions
log "info" "Changing user '${username}' uid to: ${uid}" "${debug}" log "info" "Changing user '${username}' uid to: ${uid}" "${debug}"
run "usermod -u ${uid} ${username}" "${debug}" run "usermod -u ${uid} ${username}" "${debug}"
run "chown -R ${username} ${homedir}" "${debug}" run "chown -R ${username} ${homedir} || true" "${debug}"
run "chown -R ${username} /var/lib/php/session" "${debug}" run "chown -R ${username} /var/lib/php/session" "${debug}"
run "chown -R ${username} /var/lib/php/wsdlcache" "${debug}" run "chown -R ${username} /var/lib/php/wsdlcache" "${debug}"
fi fi
@@ -103,7 +103,7 @@ set_gid() {
# Change ugd and fix homedir permissions # Change ugd and fix homedir permissions
log "info" "Changing group '${groupname}' gid to: ${gid}" "${debug}" log "info" "Changing group '${groupname}' gid to: ${gid}" "${debug}"
run "groupmod -g ${gid} ${groupname}" "${debug}" run "groupmod -g ${gid} ${groupname}" "${debug}"
run "chown -R :${groupname} ${homedir}" "${debug}" run "chown -R :${groupname} ${homedir} || true" "${debug}"
run "chown -R :${groupname} /var/lib/php/session" "${debug}" run "chown -R :${groupname} /var/lib/php/session" "${debug}"
run "chown -R :${groupname} /var/lib/php/wsdlcache" "${debug}" run "chown -R :${groupname} /var/lib/php/wsdlcache" "${debug}"
fi fi

View File

@@ -261,10 +261,10 @@ RUN set -eux \
# -------------------- Installing PHP Extension: memcache -------------------- # -------------------- Installing PHP Extension: memcache --------------------
RUN set -eux \ RUN set -eux \
# Installation: Generic # Installation: Version specific
# Type: PECL extension # Type: PECL extension
# Default: Pecl command # Default: Pecl command
&& pecl install memcache \ && pecl install memcache-2.2.7 \
# Enabling # Enabling
&& docker-php-ext-enable memcache \ && docker-php-ext-enable memcache \
&& true && true
@@ -286,7 +286,7 @@ RUN set -eux \
# Installation: Version specific # Installation: Version specific
# Type: PECL extension # Type: PECL extension
# Custom: Pecl command # Custom: Pecl command
&& yes | pecl install mongo-1.5.8 \ && yes yes | pecl install mongo-1.5.8 \
# Enabling # Enabling
&& docker-php-ext-enable mongo \ && docker-php-ext-enable mongo \
&& true && true
@@ -455,7 +455,7 @@ RUN set -eux \
# -------------------- Installing PHP Extension: uploadprogress -------------------- # -------------------- Installing PHP Extension: uploadprogress --------------------
RUN set -eux \ RUN set -eux \
# Installation: Generic # Installation: Version specific
# Type: PECL extension # Type: PECL extension
# Default: Pecl command # Default: Pecl command
&& pecl install uploadprogress \ && pecl install uploadprogress \

View File

@@ -43,6 +43,7 @@ RUN set -eux \
libxml2-dev \ libxml2-dev \
libxpm-dev \ libxpm-dev \
libxslt-dev \ libxslt-dev \
libyaml-dev \
snmp \ snmp \
zlib1g-dev \ zlib1g-dev \
ca-certificates \ ca-certificates \
@@ -272,10 +273,10 @@ RUN set -eux \
# -------------------- Installing PHP Extension: memcache -------------------- # -------------------- Installing PHP Extension: memcache --------------------
RUN set -eux \ RUN set -eux \
# Installation: Generic # Installation: Version specific
# Type: PECL extension # Type: PECL extension
# Default: Pecl command # Default: Pecl command
&& pecl install memcache \ && pecl install memcache-2.2.7 \
# Enabling # Enabling
&& docker-php-ext-enable memcache \ && docker-php-ext-enable memcache \
&& true && true
@@ -297,7 +298,7 @@ RUN set -eux \
# Installation: Generic # Installation: Generic
# Type: PECL extension # Type: PECL extension
# Custom: Pecl command # Custom: Pecl command
&& yes | pecl install mongo \ && yes yes | pecl install mongo \
# Enabling # Enabling
&& docker-php-ext-enable mongo \ && docker-php-ext-enable mongo \
&& true && true
@@ -554,7 +555,7 @@ RUN set -eux \
# -------------------- Installing PHP Extension: uploadprogress -------------------- # -------------------- Installing PHP Extension: uploadprogress --------------------
RUN set -eux \ RUN set -eux \
# Installation: Generic # Installation: Version specific
# Type: PECL extension # Type: PECL extension
# Default: Pecl command # Default: Pecl command
&& pecl install uploadprogress \ && pecl install uploadprogress \
@@ -602,6 +603,17 @@ RUN set -eux \
&& true && true
# -------------------- Installing PHP Extension: yaml --------------------
RUN set -eux \
# Installation: Version specific
# Type: PECL extension
# Default: Pecl command
&& pecl install yaml-1.3.2 \
# Enabling
&& docker-php-ext-enable yaml \
&& true
# -------------------- Installing PHP Extension: zip -------------------- # -------------------- Installing PHP Extension: zip --------------------
RUN set -eux \ RUN set -eux \
# Installation: Version specific # Installation: Version specific
@@ -691,6 +703,7 @@ RUN set -eux \
libvpx1 \ libvpx1 \
libxpm4 \ libxpm4 \
libxslt1.1 \ libxslt1.1 \
libyaml-0-2 \
snmp \ snmp \
ca-certificates \ ca-certificates \
&& rm -rf /var/lib/apt/lists/* \ && rm -rf /var/lib/apt/lists/* \
@@ -887,6 +900,8 @@ RUN set -eux \
&& php-fpm -m | grep -oiE '^xmlwriter$' \ && php-fpm -m | grep -oiE '^xmlwriter$' \
&& php -m | grep -oiE '^xsl$' \ && php -m | grep -oiE '^xsl$' \
&& php-fpm -m | grep -oiE '^xsl$' \ && php-fpm -m | grep -oiE '^xsl$' \
&& php -m | grep -oiE '^yaml$' \
&& php-fpm -m | grep -oiE '^yaml$' \
&& php -m | grep -oiE '^zip$' \ && php -m | grep -oiE '^zip$' \
&& php-fpm -m | grep -oiE '^zip$' \ && php-fpm -m | grep -oiE '^zip$' \
&& true && true

View File

@@ -43,6 +43,7 @@ RUN set -eux \
libxml2-dev \ libxml2-dev \
libxpm-dev \ libxpm-dev \
libxslt-dev \ libxslt-dev \
libyaml-dev \
snmp \ snmp \
zlib1g-dev \ zlib1g-dev \
ca-certificates \ ca-certificates \
@@ -272,10 +273,10 @@ RUN set -eux \
# -------------------- Installing PHP Extension: memcache -------------------- # -------------------- Installing PHP Extension: memcache --------------------
RUN set -eux \ RUN set -eux \
# Installation: Generic # Installation: Version specific
# Type: PECL extension # Type: PECL extension
# Default: Pecl command # Default: Pecl command
&& pecl install memcache \ && pecl install memcache-2.2.7 \
# Enabling # Enabling
&& docker-php-ext-enable memcache \ && docker-php-ext-enable memcache \
&& true && true
@@ -297,7 +298,7 @@ RUN set -eux \
# Installation: Generic # Installation: Generic
# Type: PECL extension # Type: PECL extension
# Custom: Pecl command # Custom: Pecl command
&& yes | pecl install mongo \ && yes yes | pecl install mongo \
# Enabling # Enabling
&& docker-php-ext-enable mongo \ && docker-php-ext-enable mongo \
&& true && true
@@ -435,6 +436,17 @@ RUN set -eux \
&& true && true
# -------------------- Installing PHP Extension: psr --------------------
RUN set -eux \
# Installation: Version specific
# Type: PECL extension
# Default: Pecl command
&& pecl install psr-0.5.1 \
# Enabling
&& docker-php-ext-enable psr \
&& true
# -------------------- Installing PHP Extension: phalcon -------------------- # -------------------- Installing PHP Extension: phalcon --------------------
RUN set -eux \ RUN set -eux \
# Installation: Version specific # Installation: Version specific
@@ -562,7 +574,7 @@ RUN set -eux \
# -------------------- Installing PHP Extension: uploadprogress -------------------- # -------------------- Installing PHP Extension: uploadprogress --------------------
RUN set -eux \ RUN set -eux \
# Installation: Generic # Installation: Version specific
# Type: PECL extension # Type: PECL extension
# Default: Pecl command # Default: Pecl command
&& pecl install uploadprogress \ && pecl install uploadprogress \
@@ -610,6 +622,17 @@ RUN set -eux \
&& true && true
# -------------------- Installing PHP Extension: yaml --------------------
RUN set -eux \
# Installation: Version specific
# Type: PECL extension
# Default: Pecl command
&& pecl install yaml-1.3.2 \
# Enabling
&& docker-php-ext-enable yaml \
&& true
# -------------------- Installing PHP Extension: zip -------------------- # -------------------- Installing PHP Extension: zip --------------------
RUN set -eux \ RUN set -eux \
# Installation: Version specific # Installation: Version specific
@@ -699,6 +722,7 @@ RUN set -eux \
libvpx1 \ libvpx1 \
libxpm4 \ libxpm4 \
libxslt1.1 \ libxslt1.1 \
libyaml-0-2 \
snmp \ snmp \
ca-certificates \ ca-certificates \
&& rm -rf /var/lib/apt/lists/* \ && rm -rf /var/lib/apt/lists/* \
@@ -836,6 +860,8 @@ RUN set -eux \
&& php-fpm -m | grep -oiE '^pdo_sqlite$' \ && php-fpm -m | grep -oiE '^pdo_sqlite$' \
&& php -m | grep -oiE '^pgsql$' \ && php -m | grep -oiE '^pgsql$' \
&& php-fpm -m | grep -oiE '^pgsql$' \ && php-fpm -m | grep -oiE '^pgsql$' \
&& php -m | grep -oiE '^psr$' \
&& php-fpm -m | grep -oiE '^psr$' \
&& php -m | grep -oiE '^phalcon$' \ && php -m | grep -oiE '^phalcon$' \
&& php-fpm -m | grep -oiE '^phalcon$' \ && php-fpm -m | grep -oiE '^phalcon$' \
&& php -m | grep -oiE '^phar$' \ && php -m | grep -oiE '^phar$' \
@@ -895,6 +921,8 @@ RUN set -eux \
&& php-fpm -m | grep -oiE '^xmlwriter$' \ && php-fpm -m | grep -oiE '^xmlwriter$' \
&& php -m | grep -oiE '^xsl$' \ && php -m | grep -oiE '^xsl$' \
&& php-fpm -m | grep -oiE '^xsl$' \ && php-fpm -m | grep -oiE '^xsl$' \
&& php -m | grep -oiE '^yaml$' \
&& php-fpm -m | grep -oiE '^yaml$' \
&& php -m | grep -oiE '^zip$' \ && php -m | grep -oiE '^zip$' \
&& php-fpm -m | grep -oiE '^zip$' \ && php-fpm -m | grep -oiE '^zip$' \
&& true && true

View File

@@ -12,6 +12,7 @@ RUN set -eux \
alien \ alien \
firebird-dev \ firebird-dev \
freetds-dev \ freetds-dev \
ghostscript \
libaio-dev \ libaio-dev \
libbz2-dev \ libbz2-dev \
libc-client-dev \ libc-client-dev \
@@ -26,6 +27,7 @@ RUN set -eux \
libjpeg-dev \ libjpeg-dev \
libkrb5-dev \ libkrb5-dev \
libldap2-dev \ libldap2-dev \
libmagickwand-dev \
libmcrypt-dev \ libmcrypt-dev \
libmemcached-dev \ libmemcached-dev \
libnghttp2-dev \ libnghttp2-dev \
@@ -41,9 +43,11 @@ RUN set -eux \
libssl-dev \ libssl-dev \
libtidy-dev \ libtidy-dev \
libvpx-dev \ libvpx-dev \
libwebp5 \
libxml2-dev \ libxml2-dev \
libxpm-dev \ libxpm-dev \
libxslt-dev \ libxslt-dev \
libyaml-dev \
snmp \ snmp \
zlib1g-dev \ zlib1g-dev \
ca-certificates \ ca-certificates \
@@ -193,6 +197,28 @@ RUN set -eux \
&& true && true
# -------------------- Installing PHP Extension: imagick --------------------
RUN set -eux \
# Installation: Version specific
# Type: PECL extension
# Default: Pecl command
&& pecl install imagick \
# Enabling
&& docker-php-ext-enable imagick \
# Generic post-command
&& sed -i'' 's|.*"thread".*| <policy domain="resource" name="thread" value="1"/>|g' /etc/ImageMagick-6/policy.xml \
&& sed -i'' 's|.*<policy domain="coder".*"PS".*||g' /etc/ImageMagick-6/policy.xml \
&& sed -i'' 's|.*<policy domain="coder".*"PS2".*||g' /etc/ImageMagick-6/policy.xml \
&& sed -i'' 's|.*<policy domain="coder".*"PS3".*||g' /etc/ImageMagick-6/policy.xml \
&& sed -i'' 's|.*<policy domain="coder".*"EPS".*||g' /etc/ImageMagick-6/policy.xml \
&& sed -i'' 's|.*<policy domain="coder".*"PDF".*||g' /etc/ImageMagick-6/policy.xml \
&& sed -i'' 's|.*<policy domain="coder".*"XPS".*||g' /etc/ImageMagick-6/policy.xml \
&& sed -i'' 's|.*<policy domain="coder".*"PS".*||g' /etc/ImageMagick-6/policy.xml \
&& sed -i'' 's|.*<policy domain="delegate".*pattern="gs".*||g' /etc/ImageMagick-6/policy.xml \
\
&& true
# -------------------- Installing PHP Extension: imap -------------------- # -------------------- Installing PHP Extension: imap --------------------
RUN set -eux \ RUN set -eux \
# Generic pre-command # Generic pre-command
@@ -255,10 +281,10 @@ RUN set -eux \
# -------------------- Installing PHP Extension: memcache -------------------- # -------------------- Installing PHP Extension: memcache --------------------
RUN set -eux \ RUN set -eux \
# Installation: Generic # Installation: Version specific
# Type: PECL extension # Type: PECL extension
# Default: Pecl command # Default: Pecl command
&& pecl install memcache \ && pecl install memcache-2.2.7 \
# Enabling # Enabling
&& docker-php-ext-enable memcache \ && docker-php-ext-enable memcache \
&& true && true
@@ -280,7 +306,7 @@ RUN set -eux \
# Installation: Generic # Installation: Generic
# Type: PECL extension # Type: PECL extension
# Custom: Pecl command # Custom: Pecl command
&& yes | pecl install mongo \ && yes yes | pecl install mongo \
# Enabling # Enabling
&& docker-php-ext-enable mongo \ && docker-php-ext-enable mongo \
&& true && true
@@ -415,6 +441,17 @@ RUN set -eux \
&& true && true
# -------------------- Installing PHP Extension: psr --------------------
RUN set -eux \
# Installation: Version specific
# Type: PECL extension
# Default: Pecl command
&& pecl install psr-0.5.1 \
# Enabling
&& docker-php-ext-enable psr \
&& true
# -------------------- Installing PHP Extension: phalcon -------------------- # -------------------- Installing PHP Extension: phalcon --------------------
RUN set -eux \ RUN set -eux \
# Installation: Version specific # Installation: Version specific
@@ -550,7 +587,7 @@ RUN set -eux \
# -------------------- Installing PHP Extension: uploadprogress -------------------- # -------------------- Installing PHP Extension: uploadprogress --------------------
RUN set -eux \ RUN set -eux \
# Installation: Generic # Installation: Version specific
# Type: PECL extension # Type: PECL extension
# Default: Pecl command # Default: Pecl command
&& pecl install uploadprogress \ && pecl install uploadprogress \
@@ -598,6 +635,17 @@ RUN set -eux \
&& true && true
# -------------------- Installing PHP Extension: yaml --------------------
RUN set -eux \
# Installation: Version specific
# Type: PECL extension
# Default: Pecl command
&& pecl install yaml-1.3.2 \
# Enabling
&& docker-php-ext-enable yaml \
&& true
# -------------------- Installing PHP Extension: zip -------------------- # -------------------- Installing PHP Extension: zip --------------------
RUN set -eux \ RUN set -eux \
# Installation: Version specific # Installation: Version specific
@@ -665,6 +713,7 @@ COPY --from=builder /usr/lib/oracle/ /usr/lib/oracle/
RUN set -eux \ RUN set -eux \
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \ && DEBIAN_FRONTEND=noninteractive apt-get update -qq \
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \ && DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
ghostscript \
libaio1 \ libaio1 \
libaspell15 \ libaspell15 \
libc-client2007e \ libc-client2007e \
@@ -673,6 +722,7 @@ RUN set -eux \
libfreetype6 \ libfreetype6 \
libicu52 \ libicu52 \
libjpeg62-turbo \ libjpeg62-turbo \
libmagickwand-6.q16-2 \
libmcrypt4 \ libmcrypt4 \
libmemcachedutil2 \ libmemcachedutil2 \
libmysqlclient18 \ libmysqlclient18 \
@@ -685,8 +735,10 @@ RUN set -eux \
libsybdb5 \ libsybdb5 \
libtidy-0.99-0 \ libtidy-0.99-0 \
libvpx1 \ libvpx1 \
libwebp5 \
libxpm4 \ libxpm4 \
libxslt1.1 \ libxslt1.1 \
libyaml-0-2 \
snmp \ snmp \
ca-certificates \ ca-certificates \
&& rm -rf /var/lib/apt/lists/* \ && rm -rf /var/lib/apt/lists/* \
@@ -698,6 +750,17 @@ RUN set -eux \
### Post Install ### Post Install
### ###
RUN set -eux \ RUN set -eux \
# ---------- imagick ----------
&& sed -i'' 's|.*"thread".*| <policy domain="resource" name="thread" value="1"/>|g' /etc/ImageMagick-6/policy.xml \
&& sed -i'' 's|.*<policy domain="coder".*"PS".*||g' /etc/ImageMagick-6/policy.xml \
&& sed -i'' 's|.*<policy domain="coder".*"PS2".*||g' /etc/ImageMagick-6/policy.xml \
&& sed -i'' 's|.*<policy domain="coder".*"PS3".*||g' /etc/ImageMagick-6/policy.xml \
&& sed -i'' 's|.*<policy domain="coder".*"EPS".*||g' /etc/ImageMagick-6/policy.xml \
&& sed -i'' 's|.*<policy domain="coder".*"PDF".*||g' /etc/ImageMagick-6/policy.xml \
&& sed -i'' 's|.*<policy domain="coder".*"XPS".*||g' /etc/ImageMagick-6/policy.xml \
&& sed -i'' 's|.*<policy domain="coder".*"PS".*||g' /etc/ImageMagick-6/policy.xml \
&& sed -i'' 's|.*<policy domain="delegate".*pattern="gs".*||g' /etc/ImageMagick-6/policy.xml \
\
# ---------- oci8 ---------- # ---------- oci8 ----------
&& ORACLE_HREF="$( curl -sS https://yum.oracle.com/repo/OracleLinux/OL7/oracle/instantclient/x86_64/ | tac | tac | grep -Eo 'href="getPackage/oracle-instantclient.+basiclite.+rpm"' | tail -1 )" \ && ORACLE_HREF="$( curl -sS https://yum.oracle.com/repo/OracleLinux/OL7/oracle/instantclient/x86_64/ | tac | tac | grep -Eo 'href="getPackage/oracle-instantclient.+basiclite.+rpm"' | tail -1 )" \
&& ORACLE_VERSION_MAJOR="$( echo "${ORACLE_HREF}" | grep -Eo 'instantclient[.0-9]+' | sed 's/instantclient//g' )" \ && ORACLE_VERSION_MAJOR="$( echo "${ORACLE_HREF}" | grep -Eo 'instantclient[.0-9]+' | sed 's/instantclient//g' )" \
@@ -766,6 +829,8 @@ RUN set -eux \
&& php-fpm -m | grep -oiE '^iconv$' \ && php-fpm -m | grep -oiE '^iconv$' \
&& php -m | grep -oiE '^igbinary$' \ && php -m | grep -oiE '^igbinary$' \
&& php-fpm -m | grep -oiE '^igbinary$' \ && php-fpm -m | grep -oiE '^igbinary$' \
&& php -m | grep -oiE '^imagick$' \
&& php-fpm -m | grep -oiE '^imagick$' \
&& php -m | grep -oiE '^imap$' \ && php -m | grep -oiE '^imap$' \
&& php-fpm -m | grep -oiE '^imap$' \ && php-fpm -m | grep -oiE '^imap$' \
&& php -m | grep -oiE '^interbase$' \ && php -m | grep -oiE '^interbase$' \
@@ -824,6 +889,8 @@ RUN set -eux \
&& php-fpm -m | grep -oiE '^pdo_sqlite$' \ && php-fpm -m | grep -oiE '^pdo_sqlite$' \
&& php -m | grep -oiE '^pgsql$' \ && php -m | grep -oiE '^pgsql$' \
&& php-fpm -m | grep -oiE '^pgsql$' \ && php-fpm -m | grep -oiE '^pgsql$' \
&& php -m | grep -oiE '^psr$' \
&& php-fpm -m | grep -oiE '^psr$' \
&& php -m | grep -oiE '^phalcon$' \ && php -m | grep -oiE '^phalcon$' \
&& php-fpm -m | grep -oiE '^phalcon$' \ && php-fpm -m | grep -oiE '^phalcon$' \
&& php -m | grep -oiE '^phar$' \ && php -m | grep -oiE '^phar$' \
@@ -883,6 +950,8 @@ RUN set -eux \
&& php-fpm -m | grep -oiE '^xmlwriter$' \ && php-fpm -m | grep -oiE '^xmlwriter$' \
&& php -m | grep -oiE '^xsl$' \ && php -m | grep -oiE '^xsl$' \
&& php-fpm -m | grep -oiE '^xsl$' \ && php-fpm -m | grep -oiE '^xsl$' \
&& php -m | grep -oiE '^yaml$' \
&& php-fpm -m | grep -oiE '^yaml$' \
&& php -m | grep -oiE '^zip$' \ && php -m | grep -oiE '^zip$' \
&& php-fpm -m | grep -oiE '^zip$' \ && php-fpm -m | grep -oiE '^zip$' \
&& true && true

View File

@@ -12,6 +12,7 @@ RUN set -eux \
alien \ alien \
firebird-dev \ firebird-dev \
freetds-dev \ freetds-dev \
ghostscript \
libaio-dev \ libaio-dev \
libbz2-dev \ libbz2-dev \
libc-client-dev \ libc-client-dev \
@@ -47,6 +48,7 @@ RUN set -eux \
libxml2-dev \ libxml2-dev \
libxpm-dev \ libxpm-dev \
libxslt-dev \ libxslt-dev \
libyaml-dev \
libzip-dev \ libzip-dev \
snmp \ snmp \
zlib1g-dev \ zlib1g-dev \
@@ -219,6 +221,17 @@ RUN set -eux \
&& pecl install imagick \ && pecl install imagick \
# Enabling # Enabling
&& docker-php-ext-enable imagick \ && docker-php-ext-enable imagick \
# Generic post-command
&& sed -i'' 's|.*"thread".*| <policy domain="resource" name="thread" value="1"/>|g' /etc/ImageMagick-6/policy.xml \
&& sed -i'' 's|.*<policy domain="coder".*"PS".*||g' /etc/ImageMagick-6/policy.xml \
&& sed -i'' 's|.*<policy domain="coder".*"PS2".*||g' /etc/ImageMagick-6/policy.xml \
&& sed -i'' 's|.*<policy domain="coder".*"PS3".*||g' /etc/ImageMagick-6/policy.xml \
&& sed -i'' 's|.*<policy domain="coder".*"EPS".*||g' /etc/ImageMagick-6/policy.xml \
&& sed -i'' 's|.*<policy domain="coder".*"PDF".*||g' /etc/ImageMagick-6/policy.xml \
&& sed -i'' 's|.*<policy domain="coder".*"XPS".*||g' /etc/ImageMagick-6/policy.xml \
&& sed -i'' 's|.*<policy domain="coder".*"PS".*||g' /etc/ImageMagick-6/policy.xml \
&& sed -i'' 's|.*<policy domain="delegate".*pattern="gs".*||g' /etc/ImageMagick-6/policy.xml \
\
&& true && true
@@ -284,10 +297,10 @@ RUN set -eux \
# -------------------- Installing PHP Extension: memcache -------------------- # -------------------- Installing PHP Extension: memcache --------------------
RUN set -eux \ RUN set -eux \
# Installation: Generic # Installation: Version specific
# Type: PECL extension # Type: PECL extension
# Default: Pecl command # Default: Pecl command
&& pecl install memcache \ && pecl install memcache-2.2.7 \
# Enabling # Enabling
&& docker-php-ext-enable memcache \ && docker-php-ext-enable memcache \
&& true && true
@@ -309,7 +322,7 @@ RUN set -eux \
# Installation: Generic # Installation: Generic
# Type: PECL extension # Type: PECL extension
# Custom: Pecl command # Custom: Pecl command
&& yes | pecl install mongo \ && yes yes | pecl install mongo \
# Enabling # Enabling
&& docker-php-ext-enable mongo \ && docker-php-ext-enable mongo \
&& true && true
@@ -317,10 +330,10 @@ RUN set -eux \
# -------------------- Installing PHP Extension: mongodb -------------------- # -------------------- Installing PHP Extension: mongodb --------------------
RUN set -eux \ RUN set -eux \
# Installation: Generic # Installation: Version specific
# Type: PECL extension # Type: PECL extension
# Default: Pecl command # Default: Pecl command
&& pecl install mongodb \ && pecl install mongodb-1.7.5 \
# Enabling # Enabling
&& docker-php-ext-enable mongodb \ && docker-php-ext-enable mongodb \
&& true && true
@@ -445,6 +458,17 @@ RUN set -eux \
&& true && true
# -------------------- Installing PHP Extension: psr --------------------
RUN set -eux \
# Installation: Version specific
# Type: PECL extension
# Default: Pecl command
&& pecl install psr-0.6.0 \
# Enabling
&& docker-php-ext-enable psr \
&& true
# -------------------- Installing PHP Extension: phalcon -------------------- # -------------------- Installing PHP Extension: phalcon --------------------
RUN set -eux \ RUN set -eux \
# Installation: Version specific # Installation: Version specific
@@ -580,7 +604,7 @@ RUN set -eux \
# -------------------- Installing PHP Extension: uploadprogress -------------------- # -------------------- Installing PHP Extension: uploadprogress --------------------
RUN set -eux \ RUN set -eux \
# Installation: Generic # Installation: Version specific
# Type: PECL extension # Type: PECL extension
# Default: Pecl command # Default: Pecl command
&& pecl install uploadprogress \ && pecl install uploadprogress \
@@ -628,6 +652,17 @@ RUN set -eux \
&& true && true
# -------------------- Installing PHP Extension: yaml --------------------
RUN set -eux \
# Installation: Version specific
# Type: PECL extension
# Default: Pecl command
&& pecl install yaml-1.3.2 \
# Enabling
&& docker-php-ext-enable yaml \
&& true
# -------------------- Installing PHP Extension: zip -------------------- # -------------------- Installing PHP Extension: zip --------------------
RUN set -eux \ RUN set -eux \
# Installation: Generic # Installation: Generic
@@ -694,6 +729,7 @@ COPY --from=builder /usr/lib/oracle/ /usr/lib/oracle/
RUN set -eux \ RUN set -eux \
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \ && DEBIAN_FRONTEND=noninteractive apt-get update -qq \
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \ && DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
ghostscript \
libaio1 \ libaio1 \
libaspell15 \ libaspell15 \
libc-client2007e \ libc-client2007e \
@@ -718,6 +754,7 @@ RUN set -eux \
libwebp6 \ libwebp6 \
libxpm4 \ libxpm4 \
libxslt1.1 \ libxslt1.1 \
libyaml-0-2 \
libzip4 \ libzip4 \
snmp \ snmp \
ca-certificates \ ca-certificates \
@@ -730,6 +767,17 @@ RUN set -eux \
### Post Install ### Post Install
### ###
RUN set -eux \ RUN set -eux \
# ---------- imagick ----------
&& sed -i'' 's|.*"thread".*| <policy domain="resource" name="thread" value="1"/>|g' /etc/ImageMagick-6/policy.xml \
&& sed -i'' 's|.*<policy domain="coder".*"PS".*||g' /etc/ImageMagick-6/policy.xml \
&& sed -i'' 's|.*<policy domain="coder".*"PS2".*||g' /etc/ImageMagick-6/policy.xml \
&& sed -i'' 's|.*<policy domain="coder".*"PS3".*||g' /etc/ImageMagick-6/policy.xml \
&& sed -i'' 's|.*<policy domain="coder".*"EPS".*||g' /etc/ImageMagick-6/policy.xml \
&& sed -i'' 's|.*<policy domain="coder".*"PDF".*||g' /etc/ImageMagick-6/policy.xml \
&& sed -i'' 's|.*<policy domain="coder".*"XPS".*||g' /etc/ImageMagick-6/policy.xml \
&& sed -i'' 's|.*<policy domain="coder".*"PS".*||g' /etc/ImageMagick-6/policy.xml \
&& sed -i'' 's|.*<policy domain="delegate".*pattern="gs".*||g' /etc/ImageMagick-6/policy.xml \
\
# ---------- oci8 ---------- # ---------- oci8 ----------
&& ORACLE_HREF="$( curl -sS https://yum.oracle.com/repo/OracleLinux/OL7/oracle/instantclient/x86_64/ | tac | tac | grep -Eo 'href="getPackage/oracle-instantclient.+basiclite.+rpm"' | tail -1 )" \ && ORACLE_HREF="$( curl -sS https://yum.oracle.com/repo/OracleLinux/OL7/oracle/instantclient/x86_64/ | tac | tac | grep -Eo 'href="getPackage/oracle-instantclient.+basiclite.+rpm"' | tail -1 )" \
&& ORACLE_VERSION_MAJOR="$( echo "${ORACLE_HREF}" | grep -Eo 'instantclient[.0-9]+' | sed 's/instantclient//g' )" \ && ORACLE_VERSION_MAJOR="$( echo "${ORACLE_HREF}" | grep -Eo 'instantclient[.0-9]+' | sed 's/instantclient//g' )" \
@@ -858,6 +906,8 @@ RUN set -eux \
&& php-fpm -m | grep -oiE '^pdo_sqlite$' \ && php-fpm -m | grep -oiE '^pdo_sqlite$' \
&& php -m | grep -oiE '^pgsql$' \ && php -m | grep -oiE '^pgsql$' \
&& php-fpm -m | grep -oiE '^pgsql$' \ && php-fpm -m | grep -oiE '^pgsql$' \
&& php -m | grep -oiE '^psr$' \
&& php-fpm -m | grep -oiE '^psr$' \
&& php -m | grep -oiE '^phalcon$' \ && php -m | grep -oiE '^phalcon$' \
&& php-fpm -m | grep -oiE '^phalcon$' \ && php-fpm -m | grep -oiE '^phalcon$' \
&& php -m | grep -oiE '^phar$' \ && php -m | grep -oiE '^phar$' \
@@ -917,6 +967,8 @@ RUN set -eux \
&& php-fpm -m | grep -oiE '^xmlwriter$' \ && php-fpm -m | grep -oiE '^xmlwriter$' \
&& php -m | grep -oiE '^xsl$' \ && php -m | grep -oiE '^xsl$' \
&& php-fpm -m | grep -oiE '^xsl$' \ && php-fpm -m | grep -oiE '^xsl$' \
&& php -m | grep -oiE '^yaml$' \
&& php-fpm -m | grep -oiE '^yaml$' \
&& php -m | grep -oiE '^zip$' \ && php -m | grep -oiE '^zip$' \
&& php-fpm -m | grep -oiE '^zip$' \ && php-fpm -m | grep -oiE '^zip$' \
&& true && true

View File

@@ -12,6 +12,7 @@ RUN set -eux \
alien \ alien \
firebird-dev \ firebird-dev \
freetds-dev \ freetds-dev \
ghostscript \
libaio-dev \ libaio-dev \
libbz2-dev \ libbz2-dev \
libc-client-dev \ libc-client-dev \
@@ -39,6 +40,7 @@ RUN set -eux \
librecode-dev \ librecode-dev \
libsasl2-dev \ libsasl2-dev \
libsnmp-dev \ libsnmp-dev \
libssh2-1-dev \
libssl-dev \ libssl-dev \
libtidy-dev \ libtidy-dev \
libvpx-dev \ libvpx-dev \
@@ -47,6 +49,7 @@ RUN set -eux \
libxml2-dev \ libxml2-dev \
libxpm-dev \ libxpm-dev \
libxslt-dev \ libxslt-dev \
libyaml-dev \
libzip-dev \ libzip-dev \
snmp \ snmp \
unixodbc-dev \ unixodbc-dev \
@@ -220,6 +223,17 @@ RUN set -eux \
&& pecl install imagick \ && pecl install imagick \
# Enabling # Enabling
&& docker-php-ext-enable imagick \ && docker-php-ext-enable imagick \
# Generic post-command
&& sed -i'' 's|.*"thread".*| <policy domain="resource" name="thread" value="1"/>|g' /etc/ImageMagick-6/policy.xml \
&& sed -i'' 's|.*<policy domain="coder".*"PS".*||g' /etc/ImageMagick-6/policy.xml \
&& sed -i'' 's|.*<policy domain="coder".*"PS2".*||g' /etc/ImageMagick-6/policy.xml \
&& sed -i'' 's|.*<policy domain="coder".*"PS3".*||g' /etc/ImageMagick-6/policy.xml \
&& sed -i'' 's|.*<policy domain="coder".*"EPS".*||g' /etc/ImageMagick-6/policy.xml \
&& sed -i'' 's|.*<policy domain="coder".*"PDF".*||g' /etc/ImageMagick-6/policy.xml \
&& sed -i'' 's|.*<policy domain="coder".*"XPS".*||g' /etc/ImageMagick-6/policy.xml \
&& sed -i'' 's|.*<policy domain="coder".*"PS".*||g' /etc/ImageMagick-6/policy.xml \
&& sed -i'' 's|.*<policy domain="delegate".*pattern="gs".*||g' /etc/ImageMagick-6/policy.xml \
\
&& true && true
@@ -285,17 +299,10 @@ RUN set -eux \
# -------------------- Installing PHP Extension: memcache -------------------- # -------------------- Installing PHP Extension: memcache --------------------
RUN set -eux \ RUN set -eux \
# Installation: Version specific # Installation: Generic
# Type: GIT extension # Type: PECL extension
&& git clone https://github.com/websupport-sk/pecl-memcache /tmp/memcache \ # Default: Pecl command
&& cd /tmp/memcache \ && pecl install memcache \
# Custom: Branch
&& git checkout origin/php7 \
# Default: Install command
&& phpize \
&& ./configure --with-zlib-dir=/usr \
&& make -j$(getconf _NPROCESSORS_ONLN) \
&& make install \
# Enabling # Enabling
&& docker-php-ext-enable memcache \ && docker-php-ext-enable memcache \
&& true && true
@@ -470,6 +477,17 @@ RUN set -eux \
&& true && true
# -------------------- Installing PHP Extension: psr --------------------
RUN set -eux \
# Installation: Generic
# Type: PECL extension
# Default: Pecl command
&& pecl install psr \
# Enabling
&& docker-php-ext-enable psr \
&& true
# -------------------- Installing PHP Extension: phalcon -------------------- # -------------------- Installing PHP Extension: phalcon --------------------
RUN set -eux \ RUN set -eux \
# Installation: Version specific # Installation: Version specific
@@ -570,6 +588,17 @@ RUN set -eux \
&& true && true
# -------------------- Installing PHP Extension: ssh2 --------------------
RUN set -eux \
# Installation: Generic
# Type: PECL extension
# Default: Pecl command
&& pecl install ssh2-1.2 \
# Enabling
&& docker-php-ext-enable ssh2 \
&& true
# -------------------- Installing PHP Extension: swoole -------------------- # -------------------- Installing PHP Extension: swoole --------------------
RUN set -eux \ RUN set -eux \
# Installation: Version specific # Installation: Version specific
@@ -616,7 +645,7 @@ RUN set -eux \
# -------------------- Installing PHP Extension: uploadprogress -------------------- # -------------------- Installing PHP Extension: uploadprogress --------------------
RUN set -eux \ RUN set -eux \
# Installation: Version specific # Installation: Generic
# Type: GIT extension # Type: GIT extension
&& git clone https://github.com/php/pecl-php-uploadprogress /tmp/uploadprogress \ && git clone https://github.com/php/pecl-php-uploadprogress /tmp/uploadprogress \
&& cd /tmp/uploadprogress \ && cd /tmp/uploadprogress \
@@ -642,10 +671,10 @@ RUN set -eux \
# -------------------- Installing PHP Extension: xdebug -------------------- # -------------------- Installing PHP Extension: xdebug --------------------
RUN set -eux \ RUN set -eux \
# Installation: Generic # Installation: Version specific
# Type: PECL extension # Type: PECL extension
# Default: Pecl command # Default: Pecl command
&& pecl install xdebug \ && pecl install xdebug-2.9.0 \
# Enabling # Enabling
&& docker-php-ext-enable xdebug \ && docker-php-ext-enable xdebug \
&& true && true
@@ -669,6 +698,17 @@ RUN set -eux \
&& true && true
# -------------------- Installing PHP Extension: yaml --------------------
RUN set -eux \
# Installation: Version specific
# Type: PECL extension
# Default: Pecl command
&& pecl install yaml-2.0.4 \
# Enabling
&& docker-php-ext-enable yaml \
&& true
# -------------------- Installing PHP Extension: zip -------------------- # -------------------- Installing PHP Extension: zip --------------------
RUN set -eux \ RUN set -eux \
# Installation: Generic # Installation: Generic
@@ -735,6 +775,7 @@ COPY --from=builder /usr/lib/oracle/ /usr/lib/oracle/
RUN set -eux \ RUN set -eux \
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \ && DEBIAN_FRONTEND=noninteractive apt-get update -qq \
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \ && DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
ghostscript \
libaio1 \ libaio1 \
libaspell15 \ libaspell15 \
libc-client2007e \ libc-client2007e \
@@ -752,12 +793,14 @@ RUN set -eux \
librabbitmq4 \ librabbitmq4 \
librdkafka1 \ librdkafka1 \
librecode0 \ librecode0 \
libssh2-1 \
libsybdb5 \ libsybdb5 \
libtidy5 \ libtidy5 \
libvpx4 \ libvpx4 \
libwebp6 \ libwebp6 \
libxpm4 \ libxpm4 \
libxslt1.1 \ libxslt1.1 \
libyaml-0-2 \
libzip4 \ libzip4 \
snmp \ snmp \
unixodbc \ unixodbc \
@@ -771,6 +814,17 @@ RUN set -eux \
### Post Install ### Post Install
### ###
RUN set -eux \ RUN set -eux \
# ---------- imagick ----------
&& sed -i'' 's|.*"thread".*| <policy domain="resource" name="thread" value="1"/>|g' /etc/ImageMagick-6/policy.xml \
&& sed -i'' 's|.*<policy domain="coder".*"PS".*||g' /etc/ImageMagick-6/policy.xml \
&& sed -i'' 's|.*<policy domain="coder".*"PS2".*||g' /etc/ImageMagick-6/policy.xml \
&& sed -i'' 's|.*<policy domain="coder".*"PS3".*||g' /etc/ImageMagick-6/policy.xml \
&& sed -i'' 's|.*<policy domain="coder".*"EPS".*||g' /etc/ImageMagick-6/policy.xml \
&& sed -i'' 's|.*<policy domain="coder".*"PDF".*||g' /etc/ImageMagick-6/policy.xml \
&& sed -i'' 's|.*<policy domain="coder".*"XPS".*||g' /etc/ImageMagick-6/policy.xml \
&& sed -i'' 's|.*<policy domain="coder".*"PS".*||g' /etc/ImageMagick-6/policy.xml \
&& sed -i'' 's|.*<policy domain="delegate".*pattern="gs".*||g' /etc/ImageMagick-6/policy.xml \
\
# ---------- oci8 ---------- # ---------- oci8 ----------
&& ORACLE_HREF="$( curl -sS https://yum.oracle.com/repo/OracleLinux/OL7/oracle/instantclient/x86_64/ | tac | tac | grep -Eo 'href="getPackage/oracle-instantclient.+basiclite.+rpm"' | tail -1 )" \ && ORACLE_HREF="$( curl -sS https://yum.oracle.com/repo/OracleLinux/OL7/oracle/instantclient/x86_64/ | tac | tac | grep -Eo 'href="getPackage/oracle-instantclient.+basiclite.+rpm"' | tail -1 )" \
&& ORACLE_VERSION_MAJOR="$( echo "${ORACLE_HREF}" | grep -Eo 'instantclient[.0-9]+' | sed 's/instantclient//g' )" \ && ORACLE_VERSION_MAJOR="$( echo "${ORACLE_HREF}" | grep -Eo 'instantclient[.0-9]+' | sed 's/instantclient//g' )" \
@@ -899,6 +953,8 @@ RUN set -eux \
&& php-fpm -m | grep -oiE '^pdo_sqlsrv$' \ && php-fpm -m | grep -oiE '^pdo_sqlsrv$' \
&& php -m | grep -oiE '^pgsql$' \ && php -m | grep -oiE '^pgsql$' \
&& php-fpm -m | grep -oiE '^pgsql$' \ && php-fpm -m | grep -oiE '^pgsql$' \
&& php -m | grep -oiE '^psr$' \
&& php-fpm -m | grep -oiE '^psr$' \
&& php -m | grep -oiE '^phalcon$' \ && php -m | grep -oiE '^phalcon$' \
&& php-fpm -m | grep -oiE '^phalcon$' \ && php-fpm -m | grep -oiE '^phalcon$' \
&& php -m | grep -oiE '^phar$' \ && php -m | grep -oiE '^phar$' \
@@ -932,6 +988,8 @@ RUN set -eux \
&& php-fpm -m | grep -oiE '^spl$' \ && php-fpm -m | grep -oiE '^spl$' \
&& php -m | grep -oiE '^sqlsrv$' \ && php -m | grep -oiE '^sqlsrv$' \
&& php-fpm -m | grep -oiE '^sqlsrv$' \ && php-fpm -m | grep -oiE '^sqlsrv$' \
&& php -m | grep -oiE '^ssh2$' \
&& php-fpm -m | grep -oiE '^ssh2$' \
&& php -m | grep -oiE '^swoole$' \ && php -m | grep -oiE '^swoole$' \
&& php-fpm -m | grep -oiE '^swoole$' \ && php-fpm -m | grep -oiE '^swoole$' \
&& php -m | grep -oiE '^sysvmsg$' \ && php -m | grep -oiE '^sysvmsg$' \
@@ -960,6 +1018,8 @@ RUN set -eux \
&& php-fpm -m | grep -oiE '^xmlwriter$' \ && php-fpm -m | grep -oiE '^xmlwriter$' \
&& php -m | grep -oiE '^xsl$' \ && php -m | grep -oiE '^xsl$' \
&& php-fpm -m | grep -oiE '^xsl$' \ && php-fpm -m | grep -oiE '^xsl$' \
&& php -m | grep -oiE '^yaml$' \
&& php-fpm -m | grep -oiE '^yaml$' \
&& php -m | grep -oiE '^zip$' \ && php -m | grep -oiE '^zip$' \
&& php-fpm -m | grep -oiE '^zip$' \ && php-fpm -m | grep -oiE '^zip$' \
&& true && true

View File

@@ -12,6 +12,7 @@ RUN set -eux \
alien \ alien \
firebird-dev \ firebird-dev \
freetds-dev \ freetds-dev \
ghostscript \
libaio-dev \ libaio-dev \
libbz2-dev \ libbz2-dev \
libc-client-dev \ libc-client-dev \
@@ -39,6 +40,7 @@ RUN set -eux \
librecode-dev \ librecode-dev \
libsasl2-dev \ libsasl2-dev \
libsnmp-dev \ libsnmp-dev \
libssh2-1-dev \
libssl-dev \ libssl-dev \
libtidy-dev \ libtidy-dev \
libvpx-dev \ libvpx-dev \
@@ -47,6 +49,7 @@ RUN set -eux \
libxml2-dev \ libxml2-dev \
libxpm-dev \ libxpm-dev \
libxslt-dev \ libxslt-dev \
libyaml-dev \
libzip-dev \ libzip-dev \
snmp \ snmp \
unixodbc-dev \ unixodbc-dev \
@@ -220,6 +223,17 @@ RUN set -eux \
&& pecl install imagick \ && pecl install imagick \
# Enabling # Enabling
&& docker-php-ext-enable imagick \ && docker-php-ext-enable imagick \
# Generic post-command
&& sed -i'' 's|.*"thread".*| <policy domain="resource" name="thread" value="1"/>|g' /etc/ImageMagick-6/policy.xml \
&& sed -i'' 's|.*<policy domain="coder".*"PS".*||g' /etc/ImageMagick-6/policy.xml \
&& sed -i'' 's|.*<policy domain="coder".*"PS2".*||g' /etc/ImageMagick-6/policy.xml \
&& sed -i'' 's|.*<policy domain="coder".*"PS3".*||g' /etc/ImageMagick-6/policy.xml \
&& sed -i'' 's|.*<policy domain="coder".*"EPS".*||g' /etc/ImageMagick-6/policy.xml \
&& sed -i'' 's|.*<policy domain="coder".*"PDF".*||g' /etc/ImageMagick-6/policy.xml \
&& sed -i'' 's|.*<policy domain="coder".*"XPS".*||g' /etc/ImageMagick-6/policy.xml \
&& sed -i'' 's|.*<policy domain="coder".*"PS".*||g' /etc/ImageMagick-6/policy.xml \
&& sed -i'' 's|.*<policy domain="delegate".*pattern="gs".*||g' /etc/ImageMagick-6/policy.xml \
\
&& true && true
@@ -284,17 +298,10 @@ RUN set -eux \
# -------------------- Installing PHP Extension: memcache -------------------- # -------------------- Installing PHP Extension: memcache --------------------
RUN set -eux \ RUN set -eux \
# Installation: Version specific # Installation: Generic
# Type: GIT extension # Type: PECL extension
&& git clone https://github.com/websupport-sk/pecl-memcache /tmp/memcache \ # Default: Pecl command
&& cd /tmp/memcache \ && pecl install memcache \
# Custom: Branch
&& git checkout origin/php7 \
# Default: Install command
&& phpize \
&& ./configure --with-zlib-dir=/usr \
&& make -j$(getconf _NPROCESSORS_ONLN) \
&& make install \
# Enabling # Enabling
&& docker-php-ext-enable memcache \ && docker-php-ext-enable memcache \
&& true && true
@@ -452,10 +459,10 @@ RUN set -eux \
# -------------------- Installing PHP Extension: pdo_sqlsrv -------------------- # -------------------- Installing PHP Extension: pdo_sqlsrv --------------------
RUN set -eux \ RUN set -eux \
# Installation: Generic # Installation: Version specific
# Type: PECL extension # Type: PECL extension
# Default: Pecl command # Default: Pecl command
&& pecl install pdo_sqlsrv \ && pecl install pdo_sqlsrv-5.6.1 \
# Enabling # Enabling
&& docker-php-ext-enable pdo_sqlsrv \ && docker-php-ext-enable pdo_sqlsrv \
&& true && true
@@ -469,6 +476,17 @@ RUN set -eux \
&& true && true
# -------------------- Installing PHP Extension: psr --------------------
RUN set -eux \
# Installation: Generic
# Type: PECL extension
# Default: Pecl command
&& pecl install psr \
# Enabling
&& docker-php-ext-enable psr \
&& true
# -------------------- Installing PHP Extension: phalcon -------------------- # -------------------- Installing PHP Extension: phalcon --------------------
RUN set -eux \ RUN set -eux \
# Installation: Version specific # Installation: Version specific
@@ -558,23 +576,45 @@ RUN set -eux \
&& true && true
# -------------------- Installing PHP Extension: sqlsrv -------------------- # -------------------- Installing PHP Extension: solr --------------------
RUN set -eux \ RUN set -eux \
# Installation: Generic # Installation: Generic
# Type: PECL extension # Type: PECL extension
# Default: Pecl command # Default: Pecl command
&& pecl install sqlsrv \ && pecl install solr \
# Enabling
&& docker-php-ext-enable solr \
&& true
# -------------------- Installing PHP Extension: sqlsrv --------------------
RUN set -eux \
# Installation: Version specific
# Type: PECL extension
# Default: Pecl command
&& pecl install sqlsrv-5.6.1 \
# Enabling # Enabling
&& docker-php-ext-enable sqlsrv \ && docker-php-ext-enable sqlsrv \
&& true && true
# -------------------- Installing PHP Extension: ssh2 --------------------
RUN set -eux \
# Installation: Generic
# Type: PECL extension
# Default: Pecl command
&& pecl install ssh2-1.2 \
# Enabling
&& docker-php-ext-enable ssh2 \
&& true
# -------------------- Installing PHP Extension: swoole -------------------- # -------------------- Installing PHP Extension: swoole --------------------
RUN set -eux \ RUN set -eux \
# Installation: Generic # Installation: Generic
# Type: PECL extension # Type: PECL extension
# Default: Pecl command # Custom: Pecl command
&& pecl install swoole \ && yes yes | pecl install swoole \
# Enabling # Enabling
&& docker-php-ext-enable swoole \ && docker-php-ext-enable swoole \
&& true && true
@@ -614,7 +654,7 @@ RUN set -eux \
# -------------------- Installing PHP Extension: uploadprogress -------------------- # -------------------- Installing PHP Extension: uploadprogress --------------------
RUN set -eux \ RUN set -eux \
# Installation: Version specific # Installation: Generic
# Type: GIT extension # Type: GIT extension
&& git clone https://github.com/php/pecl-php-uploadprogress /tmp/uploadprogress \ && git clone https://github.com/php/pecl-php-uploadprogress /tmp/uploadprogress \
&& cd /tmp/uploadprogress \ && cd /tmp/uploadprogress \
@@ -667,6 +707,17 @@ RUN set -eux \
&& true && true
# -------------------- Installing PHP Extension: yaml --------------------
RUN set -eux \
# Installation: Generic
# Type: PECL extension
# Default: Pecl command
&& pecl install yaml \
# Enabling
&& docker-php-ext-enable yaml \
&& true
# -------------------- Installing PHP Extension: zip -------------------- # -------------------- Installing PHP Extension: zip --------------------
RUN set -eux \ RUN set -eux \
# Installation: Generic # Installation: Generic
@@ -733,6 +784,7 @@ COPY --from=builder /usr/lib/oracle/ /usr/lib/oracle/
RUN set -eux \ RUN set -eux \
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \ && DEBIAN_FRONTEND=noninteractive apt-get update -qq \
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \ && DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
ghostscript \
libaio1 \ libaio1 \
libaspell15 \ libaspell15 \
libc-client2007e \ libc-client2007e \
@@ -750,6 +802,7 @@ RUN set -eux \
librabbitmq4 \ librabbitmq4 \
librdkafka1 \ librdkafka1 \
librecode0 \ librecode0 \
libssh2-1 \
libsybdb5 \ libsybdb5 \
libtidy5deb1 \ libtidy5deb1 \
libvpx5 \ libvpx5 \
@@ -757,6 +810,7 @@ RUN set -eux \
libwebp6 \ libwebp6 \
libxpm4 \ libxpm4 \
libxslt1.1 \ libxslt1.1 \
libyaml-0-2 \
libzip4 \ libzip4 \
snmp \ snmp \
unixodbc \ unixodbc \
@@ -770,6 +824,17 @@ RUN set -eux \
### Post Install ### Post Install
### ###
RUN set -eux \ RUN set -eux \
# ---------- imagick ----------
&& sed -i'' 's|.*"thread".*| <policy domain="resource" name="thread" value="1"/>|g' /etc/ImageMagick-6/policy.xml \
&& sed -i'' 's|.*<policy domain="coder".*"PS".*||g' /etc/ImageMagick-6/policy.xml \
&& sed -i'' 's|.*<policy domain="coder".*"PS2".*||g' /etc/ImageMagick-6/policy.xml \
&& sed -i'' 's|.*<policy domain="coder".*"PS3".*||g' /etc/ImageMagick-6/policy.xml \
&& sed -i'' 's|.*<policy domain="coder".*"EPS".*||g' /etc/ImageMagick-6/policy.xml \
&& sed -i'' 's|.*<policy domain="coder".*"PDF".*||g' /etc/ImageMagick-6/policy.xml \
&& sed -i'' 's|.*<policy domain="coder".*"XPS".*||g' /etc/ImageMagick-6/policy.xml \
&& sed -i'' 's|.*<policy domain="coder".*"PS".*||g' /etc/ImageMagick-6/policy.xml \
&& sed -i'' 's|.*<policy domain="delegate".*pattern="gs".*||g' /etc/ImageMagick-6/policy.xml \
\
# ---------- oci8 ---------- # ---------- oci8 ----------
&& ORACLE_HREF="$( curl -sS https://yum.oracle.com/repo/OracleLinux/OL7/oracle/instantclient/x86_64/ | tac | tac | grep -Eo 'href="getPackage/oracle-instantclient.+basiclite.+rpm"' | tail -1 )" \ && ORACLE_HREF="$( curl -sS https://yum.oracle.com/repo/OracleLinux/OL7/oracle/instantclient/x86_64/ | tac | tac | grep -Eo 'href="getPackage/oracle-instantclient.+basiclite.+rpm"' | tail -1 )" \
&& ORACLE_VERSION_MAJOR="$( echo "${ORACLE_HREF}" | grep -Eo 'instantclient[.0-9]+' | sed 's/instantclient//g' )" \ && ORACLE_VERSION_MAJOR="$( echo "${ORACLE_HREF}" | grep -Eo 'instantclient[.0-9]+' | sed 's/instantclient//g' )" \
@@ -898,6 +963,8 @@ RUN set -eux \
&& php-fpm -m | grep -oiE '^pdo_sqlsrv$' \ && php-fpm -m | grep -oiE '^pdo_sqlsrv$' \
&& php -m | grep -oiE '^pgsql$' \ && php -m | grep -oiE '^pgsql$' \
&& php-fpm -m | grep -oiE '^pgsql$' \ && php-fpm -m | grep -oiE '^pgsql$' \
&& php -m | grep -oiE '^psr$' \
&& php-fpm -m | grep -oiE '^psr$' \
&& php -m | grep -oiE '^phalcon$' \ && php -m | grep -oiE '^phalcon$' \
&& php-fpm -m | grep -oiE '^phalcon$' \ && php-fpm -m | grep -oiE '^phalcon$' \
&& php -m | grep -oiE '^phar$' \ && php -m | grep -oiE '^phar$' \
@@ -927,10 +994,14 @@ RUN set -eux \
&& php-fpm -m | grep -oiE '^soap$' \ && php-fpm -m | grep -oiE '^soap$' \
&& php -m | grep -oiE '^sockets$' \ && php -m | grep -oiE '^sockets$' \
&& php-fpm -m | grep -oiE '^sockets$' \ && php-fpm -m | grep -oiE '^sockets$' \
&& php -m | grep -oiE '^solr$' \
&& php-fpm -m | grep -oiE '^solr$' \
&& php -m | grep -oiE '^spl$' \ && php -m | grep -oiE '^spl$' \
&& php-fpm -m | grep -oiE '^spl$' \ && php-fpm -m | grep -oiE '^spl$' \
&& php -m | grep -oiE '^sqlsrv$' \ && php -m | grep -oiE '^sqlsrv$' \
&& php-fpm -m | grep -oiE '^sqlsrv$' \ && php-fpm -m | grep -oiE '^sqlsrv$' \
&& php -m | grep -oiE '^ssh2$' \
&& php-fpm -m | grep -oiE '^ssh2$' \
&& php -m | grep -oiE '^swoole$' \ && php -m | grep -oiE '^swoole$' \
&& php-fpm -m | grep -oiE '^swoole$' \ && php-fpm -m | grep -oiE '^swoole$' \
&& php -m | grep -oiE '^sysvmsg$' \ && php -m | grep -oiE '^sysvmsg$' \
@@ -959,6 +1030,8 @@ RUN set -eux \
&& php-fpm -m | grep -oiE '^xmlwriter$' \ && php-fpm -m | grep -oiE '^xmlwriter$' \
&& php -m | grep -oiE '^xsl$' \ && php -m | grep -oiE '^xsl$' \
&& php-fpm -m | grep -oiE '^xsl$' \ && php-fpm -m | grep -oiE '^xsl$' \
&& php -m | grep -oiE '^yaml$' \
&& php-fpm -m | grep -oiE '^yaml$' \
&& php -m | grep -oiE '^zip$' \ && php -m | grep -oiE '^zip$' \
&& php-fpm -m | grep -oiE '^zip$' \ && php-fpm -m | grep -oiE '^zip$' \
&& true && true

View File

@@ -12,6 +12,7 @@ RUN set -eux \
alien \ alien \
firebird-dev \ firebird-dev \
freetds-dev \ freetds-dev \
ghostscript \
libaio-dev \ libaio-dev \
libbz2-dev \ libbz2-dev \
libc-client-dev \ libc-client-dev \
@@ -39,6 +40,7 @@ RUN set -eux \
librecode-dev \ librecode-dev \
libsasl2-dev \ libsasl2-dev \
libsnmp-dev \ libsnmp-dev \
libssh2-1-dev \
libssl-dev \ libssl-dev \
libtidy-dev \ libtidy-dev \
libvpx-dev \ libvpx-dev \
@@ -47,6 +49,7 @@ RUN set -eux \
libxml2-dev \ libxml2-dev \
libxpm-dev \ libxpm-dev \
libxslt-dev \ libxslt-dev \
libyaml-dev \
libzip-dev \ libzip-dev \
snmp \ snmp \
unixodbc-dev \ unixodbc-dev \
@@ -220,6 +223,17 @@ RUN set -eux \
&& pecl install imagick \ && pecl install imagick \
# Enabling # Enabling
&& docker-php-ext-enable imagick \ && docker-php-ext-enable imagick \
# Generic post-command
&& sed -i'' 's|.*"thread".*| <policy domain="resource" name="thread" value="1"/>|g' /etc/ImageMagick-6/policy.xml \
&& sed -i'' 's|.*<policy domain="coder".*"PS".*||g' /etc/ImageMagick-6/policy.xml \
&& sed -i'' 's|.*<policy domain="coder".*"PS2".*||g' /etc/ImageMagick-6/policy.xml \
&& sed -i'' 's|.*<policy domain="coder".*"PS3".*||g' /etc/ImageMagick-6/policy.xml \
&& sed -i'' 's|.*<policy domain="coder".*"EPS".*||g' /etc/ImageMagick-6/policy.xml \
&& sed -i'' 's|.*<policy domain="coder".*"PDF".*||g' /etc/ImageMagick-6/policy.xml \
&& sed -i'' 's|.*<policy domain="coder".*"XPS".*||g' /etc/ImageMagick-6/policy.xml \
&& sed -i'' 's|.*<policy domain="coder".*"PS".*||g' /etc/ImageMagick-6/policy.xml \
&& sed -i'' 's|.*<policy domain="delegate".*pattern="gs".*||g' /etc/ImageMagick-6/policy.xml \
\
&& true && true
@@ -287,17 +301,10 @@ RUN set -eux \
# -------------------- Installing PHP Extension: memcache -------------------- # -------------------- Installing PHP Extension: memcache --------------------
RUN set -eux \ RUN set -eux \
# Installation: Version specific # Installation: Generic
# Type: GIT extension # Type: PECL extension
&& git clone https://github.com/websupport-sk/pecl-memcache /tmp/memcache \ # Default: Pecl command
&& cd /tmp/memcache \ && pecl install memcache \
# Custom: Branch
&& git checkout origin/php7 \
# Default: Install command
&& phpize \
&& ./configure --with-zlib-dir=/usr \
&& make -j$(getconf _NPROCESSORS_ONLN) \
&& make install \
# Enabling # Enabling
&& docker-php-ext-enable memcache \ && docker-php-ext-enable memcache \
&& true && true
@@ -473,6 +480,17 @@ RUN set -eux \
&& true && true
# -------------------- Installing PHP Extension: psr --------------------
RUN set -eux \
# Installation: Generic
# Type: PECL extension
# Default: Pecl command
&& pecl install psr \
# Enabling
&& docker-php-ext-enable psr \
&& true
# -------------------- Installing PHP Extension: phalcon -------------------- # -------------------- Installing PHP Extension: phalcon --------------------
RUN set -eux \ RUN set -eux \
# Installation: Generic # Installation: Generic
@@ -562,6 +580,17 @@ RUN set -eux \
&& true && true
# -------------------- Installing PHP Extension: solr --------------------
RUN set -eux \
# Installation: Generic
# Type: PECL extension
# Default: Pecl command
&& pecl install solr \
# Enabling
&& docker-php-ext-enable solr \
&& true
# -------------------- Installing PHP Extension: sqlsrv -------------------- # -------------------- Installing PHP Extension: sqlsrv --------------------
RUN set -eux \ RUN set -eux \
# Installation: Generic # Installation: Generic
@@ -573,12 +602,23 @@ RUN set -eux \
&& true && true
# -------------------- Installing PHP Extension: swoole -------------------- # -------------------- Installing PHP Extension: ssh2 --------------------
RUN set -eux \ RUN set -eux \
# Installation: Generic # Installation: Generic
# Type: PECL extension # Type: PECL extension
# Default: Pecl command # Default: Pecl command
&& pecl install swoole \ && pecl install ssh2-1.2 \
# Enabling
&& docker-php-ext-enable ssh2 \
&& true
# -------------------- Installing PHP Extension: swoole --------------------
RUN set -eux \
# Installation: Generic
# Type: PECL extension
# Custom: Pecl command
&& yes yes | pecl install swoole \
# Enabling # Enabling
&& docker-php-ext-enable swoole \ && docker-php-ext-enable swoole \
&& true && true
@@ -618,7 +658,7 @@ RUN set -eux \
# -------------------- Installing PHP Extension: uploadprogress -------------------- # -------------------- Installing PHP Extension: uploadprogress --------------------
RUN set -eux \ RUN set -eux \
# Installation: Version specific # Installation: Generic
# Type: GIT extension # Type: GIT extension
&& git clone https://github.com/php/pecl-php-uploadprogress /tmp/uploadprogress \ && git clone https://github.com/php/pecl-php-uploadprogress /tmp/uploadprogress \
&& cd /tmp/uploadprogress \ && cd /tmp/uploadprogress \
@@ -671,6 +711,17 @@ RUN set -eux \
&& true && true
# -------------------- Installing PHP Extension: yaml --------------------
RUN set -eux \
# Installation: Generic
# Type: PECL extension
# Default: Pecl command
&& pecl install yaml \
# Enabling
&& docker-php-ext-enable yaml \
&& true
# -------------------- Installing PHP Extension: zip -------------------- # -------------------- Installing PHP Extension: zip --------------------
RUN set -eux \ RUN set -eux \
# Installation: Generic # Installation: Generic
@@ -737,6 +788,7 @@ COPY --from=builder /usr/lib/oracle/ /usr/lib/oracle/
RUN set -eux \ RUN set -eux \
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \ && DEBIAN_FRONTEND=noninteractive apt-get update -qq \
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \ && DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
ghostscript \
libaio1 \ libaio1 \
libaspell15 \ libaspell15 \
libc-client2007e \ libc-client2007e \
@@ -754,6 +806,7 @@ RUN set -eux \
librabbitmq4 \ librabbitmq4 \
librdkafka1 \ librdkafka1 \
librecode0 \ librecode0 \
libssh2-1 \
libsybdb5 \ libsybdb5 \
libtidy5deb1 \ libtidy5deb1 \
libvpx5 \ libvpx5 \
@@ -761,6 +814,7 @@ RUN set -eux \
libwebp6 \ libwebp6 \
libxpm4 \ libxpm4 \
libxslt1.1 \ libxslt1.1 \
libyaml-0-2 \
libzip4 \ libzip4 \
snmp \ snmp \
unixodbc \ unixodbc \
@@ -774,6 +828,17 @@ RUN set -eux \
### Post Install ### Post Install
### ###
RUN set -eux \ RUN set -eux \
# ---------- imagick ----------
&& sed -i'' 's|.*"thread".*| <policy domain="resource" name="thread" value="1"/>|g' /etc/ImageMagick-6/policy.xml \
&& sed -i'' 's|.*<policy domain="coder".*"PS".*||g' /etc/ImageMagick-6/policy.xml \
&& sed -i'' 's|.*<policy domain="coder".*"PS2".*||g' /etc/ImageMagick-6/policy.xml \
&& sed -i'' 's|.*<policy domain="coder".*"PS3".*||g' /etc/ImageMagick-6/policy.xml \
&& sed -i'' 's|.*<policy domain="coder".*"EPS".*||g' /etc/ImageMagick-6/policy.xml \
&& sed -i'' 's|.*<policy domain="coder".*"PDF".*||g' /etc/ImageMagick-6/policy.xml \
&& sed -i'' 's|.*<policy domain="coder".*"XPS".*||g' /etc/ImageMagick-6/policy.xml \
&& sed -i'' 's|.*<policy domain="coder".*"PS".*||g' /etc/ImageMagick-6/policy.xml \
&& sed -i'' 's|.*<policy domain="delegate".*pattern="gs".*||g' /etc/ImageMagick-6/policy.xml \
\
# ---------- oci8 ---------- # ---------- oci8 ----------
&& ORACLE_HREF="$( curl -sS https://yum.oracle.com/repo/OracleLinux/OL7/oracle/instantclient/x86_64/ | tac | tac | grep -Eo 'href="getPackage/oracle-instantclient.+basiclite.+rpm"' | tail -1 )" \ && ORACLE_HREF="$( curl -sS https://yum.oracle.com/repo/OracleLinux/OL7/oracle/instantclient/x86_64/ | tac | tac | grep -Eo 'href="getPackage/oracle-instantclient.+basiclite.+rpm"' | tail -1 )" \
&& ORACLE_VERSION_MAJOR="$( echo "${ORACLE_HREF}" | grep -Eo 'instantclient[.0-9]+' | sed 's/instantclient//g' )" \ && ORACLE_VERSION_MAJOR="$( echo "${ORACLE_HREF}" | grep -Eo 'instantclient[.0-9]+' | sed 's/instantclient//g' )" \
@@ -902,6 +967,8 @@ RUN set -eux \
&& php-fpm -m | grep -oiE '^pdo_sqlsrv$' \ && php-fpm -m | grep -oiE '^pdo_sqlsrv$' \
&& php -m | grep -oiE '^pgsql$' \ && php -m | grep -oiE '^pgsql$' \
&& php-fpm -m | grep -oiE '^pgsql$' \ && php-fpm -m | grep -oiE '^pgsql$' \
&& php -m | grep -oiE '^psr$' \
&& php-fpm -m | grep -oiE '^psr$' \
&& php -m | grep -oiE '^phalcon$' \ && php -m | grep -oiE '^phalcon$' \
&& php-fpm -m | grep -oiE '^phalcon$' \ && php-fpm -m | grep -oiE '^phalcon$' \
&& php -m | grep -oiE '^phar$' \ && php -m | grep -oiE '^phar$' \
@@ -933,10 +1000,14 @@ RUN set -eux \
&& php-fpm -m | grep -oiE '^sockets$' \ && php-fpm -m | grep -oiE '^sockets$' \
&& php -m | grep -oiE '^sodium$' \ && php -m | grep -oiE '^sodium$' \
&& php-fpm -m | grep -oiE '^sodium$' \ && php-fpm -m | grep -oiE '^sodium$' \
&& php -m | grep -oiE '^solr$' \
&& php-fpm -m | grep -oiE '^solr$' \
&& php -m | grep -oiE '^spl$' \ && php -m | grep -oiE '^spl$' \
&& php-fpm -m | grep -oiE '^spl$' \ && php-fpm -m | grep -oiE '^spl$' \
&& php -m | grep -oiE '^sqlsrv$' \ && php -m | grep -oiE '^sqlsrv$' \
&& php-fpm -m | grep -oiE '^sqlsrv$' \ && php-fpm -m | grep -oiE '^sqlsrv$' \
&& php -m | grep -oiE '^ssh2$' \
&& php-fpm -m | grep -oiE '^ssh2$' \
&& php -m | grep -oiE '^swoole$' \ && php -m | grep -oiE '^swoole$' \
&& php-fpm -m | grep -oiE '^swoole$' \ && php-fpm -m | grep -oiE '^swoole$' \
&& php -m | grep -oiE '^sysvmsg$' \ && php -m | grep -oiE '^sysvmsg$' \
@@ -965,6 +1036,8 @@ RUN set -eux \
&& php-fpm -m | grep -oiE '^xmlwriter$' \ && php-fpm -m | grep -oiE '^xmlwriter$' \
&& php -m | grep -oiE '^xsl$' \ && php -m | grep -oiE '^xsl$' \
&& php-fpm -m | grep -oiE '^xsl$' \ && php-fpm -m | grep -oiE '^xsl$' \
&& php -m | grep -oiE '^yaml$' \
&& php-fpm -m | grep -oiE '^yaml$' \
&& php -m | grep -oiE '^zip$' \ && php -m | grep -oiE '^zip$' \
&& php-fpm -m | grep -oiE '^zip$' \ && php-fpm -m | grep -oiE '^zip$' \
&& true && true

View File

@@ -10,9 +10,9 @@ RUN set -eux \
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests apt-utils \ && DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests apt-utils \
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \ && DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
alien \ alien \
cmake \
firebird-dev \ firebird-dev \
freetds-dev \ freetds-dev \
ghostscript \
libaio-dev \ libaio-dev \
libbz2-dev \ libbz2-dev \
libc-client-dev \ libc-client-dev \
@@ -22,7 +22,6 @@ RUN set -eux \
libfbclient2 \ libfbclient2 \
libfreetype6-dev \ libfreetype6-dev \
libgmp-dev \ libgmp-dev \
libhiredis-dev \
libib-util \ libib-util \
libicu-dev \ libicu-dev \
libjpeg-dev \ libjpeg-dev \
@@ -41,6 +40,7 @@ RUN set -eux \
librecode-dev \ librecode-dev \
libsasl2-dev \ libsasl2-dev \
libsnmp-dev \ libsnmp-dev \
libssh2-1-dev \
libssl-dev \ libssl-dev \
libtidy-dev \ libtidy-dev \
libvpx-dev \ libvpx-dev \
@@ -49,6 +49,7 @@ RUN set -eux \
libxml2-dev \ libxml2-dev \
libxpm-dev \ libxpm-dev \
libxslt-dev \ libxslt-dev \
libyaml-dev \
libzip-dev \ libzip-dev \
snmp \ snmp \
unixodbc-dev \ unixodbc-dev \
@@ -222,6 +223,17 @@ RUN set -eux \
&& pecl install imagick \ && pecl install imagick \
# Enabling # Enabling
&& docker-php-ext-enable imagick \ && docker-php-ext-enable imagick \
# Generic post-command
&& sed -i'' 's|.*"thread".*| <policy domain="resource" name="thread" value="1"/>|g' /etc/ImageMagick-6/policy.xml \
&& sed -i'' 's|.*<policy domain="coder".*"PS".*||g' /etc/ImageMagick-6/policy.xml \
&& sed -i'' 's|.*<policy domain="coder".*"PS2".*||g' /etc/ImageMagick-6/policy.xml \
&& sed -i'' 's|.*<policy domain="coder".*"PS3".*||g' /etc/ImageMagick-6/policy.xml \
&& sed -i'' 's|.*<policy domain="coder".*"EPS".*||g' /etc/ImageMagick-6/policy.xml \
&& sed -i'' 's|.*<policy domain="coder".*"PDF".*||g' /etc/ImageMagick-6/policy.xml \
&& sed -i'' 's|.*<policy domain="coder".*"XPS".*||g' /etc/ImageMagick-6/policy.xml \
&& sed -i'' 's|.*<policy domain="coder".*"PS".*||g' /etc/ImageMagick-6/policy.xml \
&& sed -i'' 's|.*<policy domain="delegate".*pattern="gs".*||g' /etc/ImageMagick-6/policy.xml \
\
&& true && true
@@ -287,6 +299,17 @@ RUN set -eux \
&& true && true
# -------------------- Installing PHP Extension: memcache --------------------
RUN set -eux \
# Installation: Generic
# Type: PECL extension
# Default: Pecl command
&& pecl install memcache \
# Enabling
&& docker-php-ext-enable memcache \
&& true
# -------------------- Installing PHP Extension: memcached -------------------- # -------------------- Installing PHP Extension: memcached --------------------
RUN set -eux \ RUN set -eux \
# Installation: Generic # Installation: Generic
@@ -457,6 +480,17 @@ RUN set -eux \
&& true && true
# -------------------- Installing PHP Extension: psr --------------------
RUN set -eux \
# Installation: Generic
# Type: PECL extension
# Default: Pecl command
&& pecl install psr \
# Enabling
&& docker-php-ext-enable psr \
&& true
# -------------------- Installing PHP Extension: phalcon -------------------- # -------------------- Installing PHP Extension: phalcon --------------------
RUN set -eux \ RUN set -eux \
# Installation: Generic # Installation: Generic
@@ -546,6 +580,17 @@ RUN set -eux \
&& true && true
# -------------------- Installing PHP Extension: solr --------------------
RUN set -eux \
# Installation: Generic
# Type: PECL extension
# Default: Pecl command
&& pecl install solr \
# Enabling
&& docker-php-ext-enable solr \
&& true
# -------------------- Installing PHP Extension: sqlsrv -------------------- # -------------------- Installing PHP Extension: sqlsrv --------------------
RUN set -eux \ RUN set -eux \
# Installation: Generic # Installation: Generic
@@ -557,25 +602,23 @@ RUN set -eux \
&& true && true
# -------------------- Installing PHP Extension: ssh2 --------------------
RUN set -eux \
# Installation: Generic
# Type: PECL extension
# Default: Pecl command
&& pecl install ssh2-1.2 \
# Enabling
&& docker-php-ext-enable ssh2 \
&& true
# -------------------- Installing PHP Extension: swoole -------------------- # -------------------- Installing PHP Extension: swoole --------------------
RUN set -eux \ RUN set -eux \
# Installation: Version specific # Installation: Generic
# Type: GIT extension # Type: PECL extension
&& git clone https://github.com/swoole/swoole-src /tmp/swoole \ # Custom: Pecl command
&& cd /tmp/swoole \ && yes yes | pecl install swoole \
# Custom: Branch
&& git checkout $(git describe --abbrev=0 --tags) \
# Custom: Install command
&& phpize \
&& ./configure \
--enable-openssl \
--enable-sockets \
--enable-http2 \
--enable-mysqlnd \
--enable-coroutine-postgresql \
&& make -j$(getconf _NPROCESSORS_ONLN) \
&& make install \
\
# Enabling # Enabling
&& docker-php-ext-enable swoole \ && docker-php-ext-enable swoole \
&& true && true
@@ -615,7 +658,7 @@ RUN set -eux \
# -------------------- Installing PHP Extension: uploadprogress -------------------- # -------------------- Installing PHP Extension: uploadprogress --------------------
RUN set -eux \ RUN set -eux \
# Installation: Version specific # Installation: Generic
# Type: GIT extension # Type: GIT extension
&& git clone https://github.com/php/pecl-php-uploadprogress /tmp/uploadprogress \ && git clone https://github.com/php/pecl-php-uploadprogress /tmp/uploadprogress \
&& cd /tmp/uploadprogress \ && cd /tmp/uploadprogress \
@@ -668,6 +711,17 @@ RUN set -eux \
&& true && true
# -------------------- Installing PHP Extension: yaml --------------------
RUN set -eux \
# Installation: Generic
# Type: PECL extension
# Default: Pecl command
&& pecl install yaml \
# Enabling
&& docker-php-ext-enable yaml \
&& true
# -------------------- Installing PHP Extension: zip -------------------- # -------------------- Installing PHP Extension: zip --------------------
RUN set -eux \ RUN set -eux \
# Installation: Generic # Installation: Generic
@@ -734,13 +788,13 @@ COPY --from=builder /usr/lib/oracle/ /usr/lib/oracle/
RUN set -eux \ RUN set -eux \
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \ && DEBIAN_FRONTEND=noninteractive apt-get update -qq \
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \ && DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
ghostscript \
libaio1 \ libaio1 \
libaspell15 \ libaspell15 \
libc-client2007e \ libc-client2007e \
libenchant1c2a \ libenchant1c2a \
libfbclient2 \ libfbclient2 \
libfreetype6 \ libfreetype6 \
libhiredis0.14 \
libicu63 \ libicu63 \
libjpeg62-turbo \ libjpeg62-turbo \
libmagickwand-6.q16-6 \ libmagickwand-6.q16-6 \
@@ -752,6 +806,7 @@ RUN set -eux \
librabbitmq4 \ librabbitmq4 \
librdkafka1 \ librdkafka1 \
librecode0 \ librecode0 \
libssh2-1 \
libsybdb5 \ libsybdb5 \
libtidy5deb1 \ libtidy5deb1 \
libvpx5 \ libvpx5 \
@@ -759,6 +814,7 @@ RUN set -eux \
libwebp6 \ libwebp6 \
libxpm4 \ libxpm4 \
libxslt1.1 \ libxslt1.1 \
libyaml-0-2 \
libzip4 \ libzip4 \
snmp \ snmp \
unixodbc \ unixodbc \
@@ -772,6 +828,17 @@ RUN set -eux \
### Post Install ### Post Install
### ###
RUN set -eux \ RUN set -eux \
# ---------- imagick ----------
&& sed -i'' 's|.*"thread".*| <policy domain="resource" name="thread" value="1"/>|g' /etc/ImageMagick-6/policy.xml \
&& sed -i'' 's|.*<policy domain="coder".*"PS".*||g' /etc/ImageMagick-6/policy.xml \
&& sed -i'' 's|.*<policy domain="coder".*"PS2".*||g' /etc/ImageMagick-6/policy.xml \
&& sed -i'' 's|.*<policy domain="coder".*"PS3".*||g' /etc/ImageMagick-6/policy.xml \
&& sed -i'' 's|.*<policy domain="coder".*"EPS".*||g' /etc/ImageMagick-6/policy.xml \
&& sed -i'' 's|.*<policy domain="coder".*"PDF".*||g' /etc/ImageMagick-6/policy.xml \
&& sed -i'' 's|.*<policy domain="coder".*"XPS".*||g' /etc/ImageMagick-6/policy.xml \
&& sed -i'' 's|.*<policy domain="coder".*"PS".*||g' /etc/ImageMagick-6/policy.xml \
&& sed -i'' 's|.*<policy domain="delegate".*pattern="gs".*||g' /etc/ImageMagick-6/policy.xml \
\
# ---------- oci8 ---------- # ---------- oci8 ----------
&& ORACLE_HREF="$( curl -sS https://yum.oracle.com/repo/OracleLinux/OL7/oracle/instantclient/x86_64/ | tac | tac | grep -Eo 'href="getPackage/oracle-instantclient.+basiclite.+rpm"' | tail -1 )" \ && ORACLE_HREF="$( curl -sS https://yum.oracle.com/repo/OracleLinux/OL7/oracle/instantclient/x86_64/ | tac | tac | grep -Eo 'href="getPackage/oracle-instantclient.+basiclite.+rpm"' | tail -1 )" \
&& ORACLE_VERSION_MAJOR="$( echo "${ORACLE_HREF}" | grep -Eo 'instantclient[.0-9]+' | sed 's/instantclient//g' )" \ && ORACLE_VERSION_MAJOR="$( echo "${ORACLE_HREF}" | grep -Eo 'instantclient[.0-9]+' | sed 's/instantclient//g' )" \
@@ -860,6 +927,8 @@ RUN set -eux \
&& php-fpm -m | grep -oiE '^mcrypt$' \ && php-fpm -m | grep -oiE '^mcrypt$' \
&& php -m | grep -oiE '^msgpack$' \ && php -m | grep -oiE '^msgpack$' \
&& php-fpm -m | grep -oiE '^msgpack$' \ && php-fpm -m | grep -oiE '^msgpack$' \
&& php -m | grep -oiE '^memcache$' \
&& php-fpm -m | grep -oiE '^memcache$' \
&& php -m | grep -oiE '^memcached$' \ && php -m | grep -oiE '^memcached$' \
&& php-fpm -m | grep -oiE '^memcached$' \ && php-fpm -m | grep -oiE '^memcached$' \
&& php -m | grep -oiE '^mongodb$' \ && php -m | grep -oiE '^mongodb$' \
@@ -898,6 +967,8 @@ RUN set -eux \
&& php-fpm -m | grep -oiE '^pdo_sqlsrv$' \ && php-fpm -m | grep -oiE '^pdo_sqlsrv$' \
&& php -m | grep -oiE '^pgsql$' \ && php -m | grep -oiE '^pgsql$' \
&& php-fpm -m | grep -oiE '^pgsql$' \ && php-fpm -m | grep -oiE '^pgsql$' \
&& php -m | grep -oiE '^psr$' \
&& php-fpm -m | grep -oiE '^psr$' \
&& php -m | grep -oiE '^phalcon$' \ && php -m | grep -oiE '^phalcon$' \
&& php-fpm -m | grep -oiE '^phalcon$' \ && php-fpm -m | grep -oiE '^phalcon$' \
&& php -m | grep -oiE '^phar$' \ && php -m | grep -oiE '^phar$' \
@@ -929,10 +1000,14 @@ RUN set -eux \
&& php-fpm -m | grep -oiE '^sockets$' \ && php-fpm -m | grep -oiE '^sockets$' \
&& php -m | grep -oiE '^sodium$' \ && php -m | grep -oiE '^sodium$' \
&& php-fpm -m | grep -oiE '^sodium$' \ && php-fpm -m | grep -oiE '^sodium$' \
&& php -m | grep -oiE '^solr$' \
&& php-fpm -m | grep -oiE '^solr$' \
&& php -m | grep -oiE '^spl$' \ && php -m | grep -oiE '^spl$' \
&& php-fpm -m | grep -oiE '^spl$' \ && php-fpm -m | grep -oiE '^spl$' \
&& php -m | grep -oiE '^sqlsrv$' \ && php -m | grep -oiE '^sqlsrv$' \
&& php-fpm -m | grep -oiE '^sqlsrv$' \ && php-fpm -m | grep -oiE '^sqlsrv$' \
&& php -m | grep -oiE '^ssh2$' \
&& php-fpm -m | grep -oiE '^ssh2$' \
&& php -m | grep -oiE '^swoole$' \ && php -m | grep -oiE '^swoole$' \
&& php-fpm -m | grep -oiE '^swoole$' \ && php-fpm -m | grep -oiE '^swoole$' \
&& php -m | grep -oiE '^sysvmsg$' \ && php -m | grep -oiE '^sysvmsg$' \
@@ -961,6 +1036,8 @@ RUN set -eux \
&& php-fpm -m | grep -oiE '^xmlwriter$' \ && php-fpm -m | grep -oiE '^xmlwriter$' \
&& php -m | grep -oiE '^xsl$' \ && php -m | grep -oiE '^xsl$' \
&& php-fpm -m | grep -oiE '^xsl$' \ && php-fpm -m | grep -oiE '^xsl$' \
&& php -m | grep -oiE '^yaml$' \
&& php-fpm -m | grep -oiE '^yaml$' \
&& php -m | grep -oiE '^zip$' \ && php -m | grep -oiE '^zip$' \
&& php-fpm -m | grep -oiE '^zip$' \ && php-fpm -m | grep -oiE '^zip$' \
&& true && true

View File

@@ -10,26 +10,29 @@ RUN set -eux \
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests apt-utils \ && DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests apt-utils \
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \ && DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
alien \ alien \
cmake \
firebird-dev \ firebird-dev \
freetds-dev \ freetds-dev \
ghostscript \
libaio-dev \ libaio-dev \
libbz2-dev \ libbz2-dev \
libc-client-dev \
libcurl4-openssl-dev \
libenchant-dev \ libenchant-dev \
libevent-dev \ libevent-dev \
libfbclient2 \ libfbclient2 \
libffi-dev \ libffi-dev \
libfreetype6-dev \ libfreetype6-dev \
libgmp-dev \ libgmp-dev \
libhiredis-dev \
libib-util \ libib-util \
libicu-dev \ libicu-dev \
libjpeg-dev \ libjpeg-dev \
libkrb5-dev \
libldap2-dev \ libldap2-dev \
libmagickwand-dev \ libmagickwand-dev \
libmcrypt-dev \ libmcrypt-dev \
libmemcached-dev \ libmemcached-dev \
libnghttp2-dev \ libnghttp2-dev \
libpcre3-dev \
libpng-dev \ libpng-dev \
libpq-dev \ libpq-dev \
libpspell-dev \ libpspell-dev \
@@ -37,6 +40,7 @@ RUN set -eux \
librdkafka-dev \ librdkafka-dev \
libsasl2-dev \ libsasl2-dev \
libsnmp-dev \ libsnmp-dev \
libssh2-1-dev \
libssl-dev \ libssl-dev \
libtidy-dev \ libtidy-dev \
libvpx-dev \ libvpx-dev \
@@ -45,6 +49,7 @@ RUN set -eux \
libxml2-dev \ libxml2-dev \
libxpm-dev \ libxpm-dev \
libxslt-dev \ libxslt-dev \
libyaml-dev \
libzip-dev \ libzip-dev \
snmp \ snmp \
zlib1g-dev \ zlib1g-dev \
@@ -77,6 +82,17 @@ RUN set -eux \
&& true && true
# -------------------- Installing PHP Extension: apcu --------------------
RUN set -eux \
# Installation: Generic
# Type: PECL extension
# Default: Pecl command
&& pecl install apcu \
# Enabling
&& docker-php-ext-enable apcu \
&& true
# -------------------- Installing PHP Extension: bcmath -------------------- # -------------------- Installing PHP Extension: bcmath --------------------
RUN set -eux \ RUN set -eux \
# Installation: Generic # Installation: Generic
@@ -85,6 +101,20 @@ RUN set -eux \
&& true && true
# -------------------- Installing PHP Extension: blackfire --------------------
RUN set -eux \
# Installation: Generic
# Type: Custom extension
&& 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 \
&& mkdir -p /tmp/blackfire \
&& tar zxpf /tmp/blackfire-probe.tar.gz -C /tmp/blackfire \
&& mv /tmp/blackfire/blackfire-*.so $(php -r "echo ini_get('extension_dir');")/blackfire.so \
&& rm -rf /tmp/blackfire /tmp/blackfire-probe.tar.gz \
\
&& true
# -------------------- Installing PHP Extension: bz2 -------------------- # -------------------- Installing PHP Extension: bz2 --------------------
RUN set -eux \ RUN set -eux \
# Installation: Generic # Installation: Generic
@@ -192,6 +222,29 @@ RUN set -eux \
&& pecl install imagick \ && pecl install imagick \
# Enabling # Enabling
&& docker-php-ext-enable imagick \ && docker-php-ext-enable imagick \
# Generic post-command
&& sed -i'' 's|.*"thread".*| <policy domain="resource" name="thread" value="1"/>|g' /etc/ImageMagick-6/policy.xml \
&& sed -i'' 's|.*<policy domain="coder".*"PS".*||g' /etc/ImageMagick-6/policy.xml \
&& sed -i'' 's|.*<policy domain="coder".*"PS2".*||g' /etc/ImageMagick-6/policy.xml \
&& sed -i'' 's|.*<policy domain="coder".*"PS3".*||g' /etc/ImageMagick-6/policy.xml \
&& sed -i'' 's|.*<policy domain="coder".*"EPS".*||g' /etc/ImageMagick-6/policy.xml \
&& sed -i'' 's|.*<policy domain="coder".*"PDF".*||g' /etc/ImageMagick-6/policy.xml \
&& sed -i'' 's|.*<policy domain="coder".*"XPS".*||g' /etc/ImageMagick-6/policy.xml \
&& sed -i'' 's|.*<policy domain="coder".*"PS".*||g' /etc/ImageMagick-6/policy.xml \
&& sed -i'' 's|.*<policy domain="delegate".*pattern="gs".*||g' /etc/ImageMagick-6/policy.xml \
\
&& true
# -------------------- Installing PHP Extension: imap --------------------
RUN set -eux \
# Generic pre-command
&& ln -s /usr/lib/x86_64-linux-gnu/libkrb5* /usr/lib/ \
# Installation: Generic
# Type: Built-in extension
# Custom: configure command
&& docker-php-ext-configure imap --with-kerberos --with-imap-ssl --with-imap \
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) imap \
&& true && true
@@ -237,6 +290,17 @@ RUN set -eux \
&& true && true
# -------------------- Installing PHP Extension: memcache --------------------
RUN set -eux \
# Installation: Generic
# Type: PECL extension
# Default: Pecl command
&& pecl install memcache \
# Enabling
&& docker-php-ext-enable memcache \
&& true
# -------------------- Installing PHP Extension: memcached -------------------- # -------------------- Installing PHP Extension: memcached --------------------
RUN set -eux \ RUN set -eux \
# Installation: Version specific # Installation: Version specific
@@ -271,6 +335,17 @@ RUN set -eux \
&& true && true
# -------------------- Installing PHP Extension: oauth --------------------
RUN set -eux \
# Installation: Generic
# Type: PECL extension
# Default: Pecl command
&& pecl install oauth \
# Enabling
&& docker-php-ext-enable oauth \
&& true
# -------------------- Installing PHP Extension: oci8 -------------------- # -------------------- Installing PHP Extension: oci8 --------------------
RUN set -eux \ RUN set -eux \
# Generic pre-command # Generic pre-command
@@ -389,6 +464,32 @@ RUN set -eux \
&& true && true
# -------------------- Installing PHP Extension: psr --------------------
RUN set -eux \
# Installation: Generic
# Type: PECL extension
# Default: Pecl command
&& pecl install psr \
# Enabling
&& docker-php-ext-enable psr \
&& true
# -------------------- Installing PHP Extension: phalcon --------------------
RUN set -eux \
# Installation: Generic
# Type: GIT extension
&& git clone https://github.com/phalcon/cphalcon /tmp/phalcon \
&& cd /tmp/phalcon \
# Custom: Branch
&& git checkout $(git for-each-ref --format='%(*creatordate:raw)%(creatordate:raw) %(refname)' refs/tags | sort -n | sed 's/^.*tags\///g' | grep -E '^v[.0-9]+$' | tail -1) \
# Custom: Install command
&& cd build && ./install \
# Enabling
&& docker-php-ext-enable phalcon \
&& true
# -------------------- Installing PHP Extension: pspell -------------------- # -------------------- Installing PHP Extension: pspell --------------------
RUN set -eux \ RUN set -eux \
# Installation: Generic # Installation: Generic
@@ -399,19 +500,10 @@ RUN set -eux \
# -------------------- Installing PHP Extension: redis -------------------- # -------------------- Installing PHP Extension: redis --------------------
RUN set -eux \ RUN set -eux \
# Installation: Version specific # Installation: Generic
# Type: GIT extension # Type: PECL extension
&& git clone https://github.com/phpredis/phpredis /tmp/redis \ # Default: Pecl command
&& cd /tmp/redis \ && pecl install redis \
# Custom: Install command
&& phpize \
&& sed -i'' 's/ZEND_ACC_CTOR | //g' redis.c \
&& sed -i'' 's/ZEND_ACC_DTOR | //g' redis.c \
&& sed -i'' 's/ZEND_ACC_CTOR | //g' redis_cluster.c \
&& ./configure --enable-redis \
&& make -j$(getconf _NPROCESSORS_ONLN) \
&& make install \
\
# Enabling # Enabling
&& docker-php-ext-enable redis \ && docker-php-ext-enable redis \
&& true && true
@@ -438,20 +530,18 @@ RUN set -eux \
# -------------------- Installing PHP Extension: snmp -------------------- # -------------------- Installing PHP Extension: snmp --------------------
RUN set -eux \ RUN set -eux \
# Installation: Generic # Installation: Version specific
# Type: Built-in extension # Type: Built-in extension
# Custom: configure command # Installation
&& docker-php-ext-configure snmp --with-openssl-dir \
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) snmp \ && docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) snmp \
&& true && true
# -------------------- Installing PHP Extension: soap -------------------- # -------------------- Installing PHP Extension: soap --------------------
RUN set -eux \ RUN set -eux \
# Installation: Generic # Installation: Version specific
# Type: Built-in extension # Type: Built-in extension
# Custom: configure command # Installation
&& docker-php-ext-configure soap --with-libxml-dir=/usr \
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) soap \ && docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) soap \
&& true && true
@@ -464,25 +554,34 @@ RUN set -eux \
&& true && true
# -------------------- Installing PHP Extension: solr --------------------
RUN set -eux \
# Installation: Generic
# Type: PECL extension
# Default: Pecl command
&& pecl install solr \
# Enabling
&& docker-php-ext-enable solr \
&& true
# -------------------- Installing PHP Extension: ssh2 --------------------
RUN set -eux \
# Installation: Generic
# Type: PECL extension
# Default: Pecl command
&& pecl install ssh2-1.2 \
# Enabling
&& docker-php-ext-enable ssh2 \
&& true
# -------------------- Installing PHP Extension: swoole -------------------- # -------------------- Installing PHP Extension: swoole --------------------
RUN set -eux \ RUN set -eux \
# Installation: Version specific # Installation: Generic
# Type: GIT extension # Type: PECL extension
&& git clone https://github.com/swoole/swoole-src /tmp/swoole \ # Custom: Pecl command
&& cd /tmp/swoole \ && yes yes | pecl install swoole \
# Custom: Branch
&& git checkout master \
# Custom: Install command
&& phpize \
&& ./configure \
--enable-openssl \
--enable-sockets \
--enable-http2 \
--enable-mysqlnd \
--enable-coroutine-postgresql \
&& make -j$(getconf _NPROCESSORS_ONLN) \
&& make install \
\
# Enabling # Enabling
&& docker-php-ext-enable swoole \ && docker-php-ext-enable swoole \
&& true && true
@@ -522,7 +621,7 @@ RUN set -eux \
# -------------------- Installing PHP Extension: uploadprogress -------------------- # -------------------- Installing PHP Extension: uploadprogress --------------------
RUN set -eux \ RUN set -eux \
# Installation: Version specific # Installation: Generic
# Type: GIT extension # Type: GIT extension
&& git clone https://github.com/php/pecl-php-uploadprogress /tmp/uploadprogress \ && git clone https://github.com/php/pecl-php-uploadprogress /tmp/uploadprogress \
&& cd /tmp/uploadprogress \ && cd /tmp/uploadprogress \
@@ -549,10 +648,11 @@ RUN set -eux \
# -------------------- Installing PHP Extension: xmlrpc -------------------- # -------------------- Installing PHP Extension: xmlrpc --------------------
RUN set -eux \ RUN set -eux \
# Installation: Generic # Installation: Version specific
# Type: Built-in extension # Type: Built-in extension
# Custom: configure command # Custom: configure command
&& docker-php-ext-configure xmlrpc --with-libxml-dir=/usr --with-iconv-dir=/usr \ && docker-php-ext-configure xmlrpc --with-iconv-dir=/usr \
# Installation
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) xmlrpc \ && docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) xmlrpc \
&& true && true
@@ -565,12 +665,24 @@ RUN set -eux \
&& true && true
# -------------------- Installing PHP Extension: zip -------------------- # -------------------- Installing PHP Extension: yaml --------------------
RUN set -eux \ RUN set -eux \
# Installation: Generic # Installation: Generic
# Type: PECL extension
# Default: Pecl command
&& pecl install yaml \
# Enabling
&& docker-php-ext-enable yaml \
&& true
# -------------------- Installing PHP Extension: zip --------------------
RUN set -eux \
# Installation: Version specific
# Type: Built-in extension # Type: Built-in extension
# Custom: configure command # Custom: configure command
&& docker-php-ext-configure zip --with-zlib-dir=/usr --with-pcre-dir=/usr --with-libzip \ && docker-php-ext-configure zip --with-zip \
# Installation
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) zip \ && docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) zip \
&& true && true
@@ -631,13 +743,14 @@ COPY --from=builder /usr/lib/oracle/ /usr/lib/oracle/
RUN set -eux \ RUN set -eux \
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \ && DEBIAN_FRONTEND=noninteractive apt-get update -qq \
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \ && DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
ghostscript \
libaio1 \ libaio1 \
libaspell15 \ libaspell15 \
libc-client2007e \
libenchant1c2a \ libenchant1c2a \
libfbclient2 \ libfbclient2 \
libffi6 \ libffi6 \
libfreetype6 \ libfreetype6 \
libhiredis0.14 \
libicu63 \ libicu63 \
libjpeg62-turbo \ libjpeg62-turbo \
libmagickwand-6.q16-6 \ libmagickwand-6.q16-6 \
@@ -648,6 +761,7 @@ RUN set -eux \
libpq5 \ libpq5 \
librabbitmq4 \ librabbitmq4 \
librdkafka1 \ librdkafka1 \
libssh2-1 \
libsybdb5 \ libsybdb5 \
libtidy5deb1 \ libtidy5deb1 \
libvpx5 \ libvpx5 \
@@ -655,6 +769,7 @@ RUN set -eux \
libwebp6 \ libwebp6 \
libxpm4 \ libxpm4 \
libxslt1.1 \ libxslt1.1 \
libyaml-0-2 \
libzip4 \ libzip4 \
snmp \ snmp \
ca-certificates \ ca-certificates \
@@ -667,6 +782,17 @@ RUN set -eux \
### Post Install ### Post Install
### ###
RUN set -eux \ RUN set -eux \
# ---------- imagick ----------
&& sed -i'' 's|.*"thread".*| <policy domain="resource" name="thread" value="1"/>|g' /etc/ImageMagick-6/policy.xml \
&& sed -i'' 's|.*<policy domain="coder".*"PS".*||g' /etc/ImageMagick-6/policy.xml \
&& sed -i'' 's|.*<policy domain="coder".*"PS2".*||g' /etc/ImageMagick-6/policy.xml \
&& sed -i'' 's|.*<policy domain="coder".*"PS3".*||g' /etc/ImageMagick-6/policy.xml \
&& sed -i'' 's|.*<policy domain="coder".*"EPS".*||g' /etc/ImageMagick-6/policy.xml \
&& sed -i'' 's|.*<policy domain="coder".*"PDF".*||g' /etc/ImageMagick-6/policy.xml \
&& sed -i'' 's|.*<policy domain="coder".*"XPS".*||g' /etc/ImageMagick-6/policy.xml \
&& sed -i'' 's|.*<policy domain="coder".*"PS".*||g' /etc/ImageMagick-6/policy.xml \
&& sed -i'' 's|.*<policy domain="delegate".*pattern="gs".*||g' /etc/ImageMagick-6/policy.xml \
\
# ---------- oci8 ---------- # ---------- oci8 ----------
&& ORACLE_HREF="$( curl -sS https://yum.oracle.com/repo/OracleLinux/OL7/oracle/instantclient/x86_64/ | tac | tac | grep -Eo 'href="getPackage/oracle-instantclient.+basiclite.+rpm"' | tail -1 )" \ && ORACLE_HREF="$( curl -sS https://yum.oracle.com/repo/OracleLinux/OL7/oracle/instantclient/x86_64/ | tac | tac | grep -Eo 'href="getPackage/oracle-instantclient.+basiclite.+rpm"' | tail -1 )" \
&& ORACLE_VERSION_MAJOR="$( echo "${ORACLE_HREF}" | grep -Eo 'instantclient[.0-9]+' | sed 's/instantclient//g' )" \ && ORACLE_VERSION_MAJOR="$( echo "${ORACLE_HREF}" | grep -Eo 'instantclient[.0-9]+' | sed 's/instantclient//g' )" \
@@ -697,6 +823,8 @@ RUN set -eux \
\ \
&& php -m | grep -oiE '^amqp$' \ && php -m | grep -oiE '^amqp$' \
&& php-fpm -m | grep -oiE '^amqp$' \ && php-fpm -m | grep -oiE '^amqp$' \
&& php -m | grep -oiE '^apcu$' \
&& php-fpm -m | grep -oiE '^apcu$' \
&& php -m | grep -oiE '^bcmath$' \ && php -m | grep -oiE '^bcmath$' \
&& php-fpm -m | grep -oiE '^bcmath$' \ && php-fpm -m | grep -oiE '^bcmath$' \
&& php -m | grep -oiE '^bz2$' \ && php -m | grep -oiE '^bz2$' \
@@ -737,6 +865,8 @@ RUN set -eux \
&& php-fpm -m | grep -oiE '^igbinary$' \ && php-fpm -m | grep -oiE '^igbinary$' \
&& php -m | grep -oiE '^imagick$' \ && php -m | grep -oiE '^imagick$' \
&& php-fpm -m | grep -oiE '^imagick$' \ && php-fpm -m | grep -oiE '^imagick$' \
&& php -m | grep -oiE '^imap$' \
&& php-fpm -m | grep -oiE '^imap$' \
&& php -m | grep -oiE '^intl$' \ && php -m | grep -oiE '^intl$' \
&& php-fpm -m | grep -oiE '^intl$' \ && php-fpm -m | grep -oiE '^intl$' \
&& php -m | grep -oiE '^json$' \ && php -m | grep -oiE '^json$' \
@@ -751,6 +881,8 @@ RUN set -eux \
&& php-fpm -m | grep -oiE '^mcrypt$' \ && php-fpm -m | grep -oiE '^mcrypt$' \
&& php -m | grep -oiE '^msgpack$' \ && php -m | grep -oiE '^msgpack$' \
&& php-fpm -m | grep -oiE '^msgpack$' \ && php-fpm -m | grep -oiE '^msgpack$' \
&& php -m | grep -oiE '^memcache$' \
&& php-fpm -m | grep -oiE '^memcache$' \
&& php -m | grep -oiE '^memcached$' \ && php -m | grep -oiE '^memcached$' \
&& php-fpm -m | grep -oiE '^memcached$' \ && php-fpm -m | grep -oiE '^memcached$' \
&& php -m | grep -oiE '^mongodb$' \ && php -m | grep -oiE '^mongodb$' \
@@ -759,6 +891,8 @@ RUN set -eux \
&& php-fpm -m | grep -oiE '^mysqli$' \ && php-fpm -m | grep -oiE '^mysqli$' \
&& php -m | grep -oiE '^mysqlnd$' \ && php -m | grep -oiE '^mysqlnd$' \
&& php-fpm -m | grep -oiE '^mysqlnd$' \ && php-fpm -m | grep -oiE '^mysqlnd$' \
&& php -m | grep -oiE '^oauth$' \
&& php-fpm -m | grep -oiE '^oauth$' \
&& php -m | grep -oiE '^oci8$' \ && php -m | grep -oiE '^oci8$' \
&& php-fpm -m | grep -oiE '^oci8$' \ && php-fpm -m | grep -oiE '^oci8$' \
&& php -m | grep -oiE '^Zend Opcache$' \ && php -m | grep -oiE '^Zend Opcache$' \
@@ -785,6 +919,10 @@ RUN set -eux \
&& php-fpm -m | grep -oiE '^pdo_sqlite$' \ && php-fpm -m | grep -oiE '^pdo_sqlite$' \
&& php -m | grep -oiE '^pgsql$' \ && php -m | grep -oiE '^pgsql$' \
&& php-fpm -m | grep -oiE '^pgsql$' \ && php-fpm -m | grep -oiE '^pgsql$' \
&& php -m | grep -oiE '^psr$' \
&& php-fpm -m | grep -oiE '^psr$' \
&& php -m | grep -oiE '^phalcon$' \
&& php-fpm -m | grep -oiE '^phalcon$' \
&& php -m | grep -oiE '^phar$' \ && php -m | grep -oiE '^phar$' \
&& php-fpm -m | grep -oiE '^phar$' \ && php-fpm -m | grep -oiE '^phar$' \
&& php -m | grep -oiE '^posix$' \ && php -m | grep -oiE '^posix$' \
@@ -812,8 +950,12 @@ RUN set -eux \
&& php-fpm -m | grep -oiE '^sockets$' \ && php-fpm -m | grep -oiE '^sockets$' \
&& php -m | grep -oiE '^sodium$' \ && php -m | grep -oiE '^sodium$' \
&& php-fpm -m | grep -oiE '^sodium$' \ && php-fpm -m | grep -oiE '^sodium$' \
&& php -m | grep -oiE '^solr$' \
&& php-fpm -m | grep -oiE '^solr$' \
&& php -m | grep -oiE '^spl$' \ && php -m | grep -oiE '^spl$' \
&& php-fpm -m | grep -oiE '^spl$' \ && php-fpm -m | grep -oiE '^spl$' \
&& php -m | grep -oiE '^ssh2$' \
&& php-fpm -m | grep -oiE '^ssh2$' \
&& php -m | grep -oiE '^swoole$' \ && php -m | grep -oiE '^swoole$' \
&& php-fpm -m | grep -oiE '^swoole$' \ && php-fpm -m | grep -oiE '^swoole$' \
&& php -m | grep -oiE '^sysvmsg$' \ && php -m | grep -oiE '^sysvmsg$' \
@@ -840,6 +982,8 @@ RUN set -eux \
&& php-fpm -m | grep -oiE '^xmlwriter$' \ && php-fpm -m | grep -oiE '^xmlwriter$' \
&& php -m | grep -oiE '^xsl$' \ && php -m | grep -oiE '^xsl$' \
&& php-fpm -m | grep -oiE '^xsl$' \ && php-fpm -m | grep -oiE '^xsl$' \
&& php -m | grep -oiE '^yaml$' \
&& php-fpm -m | grep -oiE '^yaml$' \
&& php -m | grep -oiE '^zip$' \ && php -m | grep -oiE '^zip$' \
&& php-fpm -m | grep -oiE '^zip$' \ && php-fpm -m | grep -oiE '^zip$' \
&& true && true

View File

@@ -179,48 +179,6 @@ RUN set -eux \
&& true && true
# -------------------- Installing PHP Extension: mongodb --------------------
RUN set -eux \
# Installation: Version specific
# Type: GIT extension
&& git clone https://github.com/mongodb/mongo-php-driver /tmp/mongodb \
&& cd /tmp/mongodb \
# Custom: Install command
&& git checkout v1.6 \
&& git submodule update --init \
# FIXME: This is a work-around to mitigate compile error with PHP 8.0
&& rgrep -I 'TSRMLS_C' | cut -d':' -f1 | sort -u | xargs -n1 sed -i'' 's/TSRMLS_C)/)/g' \
&& rgrep -I 'TSRMLS_C' | cut -d':' -f1 | sort -u | xargs -n1 sed -i'' 's/TSRMLS_C,/,/g' \
&& rgrep -I 'TSRMLS_CC' | cut -d':' -f1 | sort -u | xargs -n1 sed -i'' 's/TSRMLS_CC)/)/g' \
&& rgrep -I 'TSRMLS_CC' | cut -d':' -f1 | sort -u | xargs -n1 sed -i'' 's/TSRMLS_CC,/,/g' \
&& rgrep -I 'TSRMLS_DC' | cut -d':' -f1 | sort -u | xargs -n1 sed -i'' 's/TSRMLS_DC)/)/g' \
&& rgrep -I 'TSRMLS_DC' | cut -d':' -f1 | sort -u | xargs -n1 sed -i'' 's/TSRMLS_DC,/,/g' \
&& sed -i'' 's/TSRMLS_SET_CTX(ctx);/\/\/TSRMLS_SET_CTX(ctx);/g' php_phongo.c \
&& sed -i'' 's/TSRMLS_FETCH();/\/\/TSRMLS_FETCH();/g' php_phongo.c \
&& sed -i'' 's/TSRMLS_FETCH();/\/\/TSRMLS_FETCH();/g' phongo_compat.h \
&& sed -i'' 's/TSRMLS_FETCH();/\/\/TSRMLS_FETCH();/g' src/bson.c \
\
&& sed -i'' 's/php_phongo_handler_binary.compare_objects.*//g' src/BSON/Binary.c \
&& sed -i'' 's/php_phongo_handler_dbpointer.compare_objects.*//g' src/BSON/DBPointer.c \
&& sed -i'' 's/php_phongo_handler_int64.compare_objects.*//g' src/BSON/Int64.c \
&& sed -i'' 's/php_phongo_handler_javascript.compare_objects.*//g' src/BSON/Javascript.c \
&& sed -i'' 's/php_phongo_handler_objectid.compare_objects.*//g' src/BSON/ObjectId.c \
&& sed -i'' 's/php_phongo_handler_symbol.compare_objects.*//g' src/BSON/Symbol.c \
&& sed -i'' 's/php_phongo_handler_timestamp.compare_objects.*//g' src/BSON/Timestamp.c \
&& sed -i'' 's/php_phongo_handler_regex.compare_objects.*//g' src/BSON/Regex.c \
&& sed -i'' 's/php_phongo_handler_server.compare_objects.*//g' src/MongoDB/Server.c \
&& sed -i'' 's/php_phongo_handler_utcdatetime.compare_objects.*//g' src/BSON/UTCDateTime.c \
\
&& phpize \
&& ./configure --enable-mongodb \
&& make all \
&& make install \
\
# Enabling
&& docker-php-ext-enable mongodb \
&& true
# -------------------- Installing PHP Extension: mysqli -------------------- # -------------------- Installing PHP Extension: mysqli --------------------
RUN set -eux \ RUN set -eux \
# Installation: Generic # Installation: Generic
@@ -361,18 +319,15 @@ RUN set -eux \
# Type: GIT extension # Type: GIT extension
&& git clone https://github.com/phpredis/phpredis /tmp/redis \ && git clone https://github.com/phpredis/phpredis /tmp/redis \
&& cd /tmp/redis \ && cd /tmp/redis \
# Custom: Branch
&& git checkout $(git for-each-ref --format='%(refname)' refs/tags | grep -E 'tags/[.0-9]+$' | sed 's|.*tags/||g' | sort -V | tail -1) \
# Custom: Install command # Custom: Install command
&& phpize \ && sed -i'' 's/, ZSTR_LEN(ra->algorithm)//g' redis_array_impl.c \
&& sed -i'' 's/ZEND_ACC_CTOR | //g' redis.c \ && sed -i'' 's|.*sctx->cb\.no_separation.*||g' library.c \
&& sed -i'' 's/ZEND_ACC_DTOR | //g' redis.c \ && sed -i'' 's|.*sctx->cb\.no_separation.*||g' redis_array_impl.c \
&& sed -i'' 's/ZEND_ACC_CTOR | //g' redis_cluster.c \ && sed -i'' 's|.*sctx->cb\.no_separation.*||g' cluster_library.c \
# FIXME: This is a work-around to mitigate compile error with PHP 8.0 && sed -i'' 's|.*->no_separation.*||g' redis_array_impl.c \
&& rgrep -I 'TSRMLS_C' | cut -d':' -f1 | sort -u | xargs -n1 sed -i'' 's/TSRMLS_C)/)/g' \ && phpize \
&& rgrep -I 'TSRMLS_C' | cut -d':' -f1 | sort -u | xargs -n1 sed -i'' 's/TSRMLS_C,/,/g' \
&& rgrep -I 'TSRMLS_CC' | cut -d':' -f1 | sort -u | xargs -n1 sed -i'' 's/TSRMLS_CC)/)/g' \
&& rgrep -I 'TSRMLS_CC' | cut -d':' -f1 | sort -u | xargs -n1 sed -i'' 's/TSRMLS_CC,/,/g' \
&& rgrep -I 'TSRMLS_DC' | cut -d':' -f1 | sort -u | xargs -n1 sed -i'' 's/TSRMLS_DC)/)/g' \
&& rgrep -I 'TSRMLS_DC' | cut -d':' -f1 | sort -u | xargs -n1 sed -i'' 's/TSRMLS_DC,/,/g' \
&& ./configure --enable-redis \ && ./configure --enable-redis \
&& make -j$(getconf _NPROCESSORS_ONLN) \ && make -j$(getconf _NPROCESSORS_ONLN) \
&& make install \ && make install \
@@ -458,39 +413,6 @@ RUN set -eux \
&& true && true
# -------------------- Installing PHP Extension: uploadprogress --------------------
RUN set -eux \
# Installation: Version specific
# Type: GIT extension
&& git clone https://github.com/php/pecl-php-uploadprogress /tmp/uploadprogress \
&& cd /tmp/uploadprogress \
# Custom: Install command
&& true \
# FIXME: This is a work-around to mitigate compile error with PHP 8.0
&& rgrep -I 'TSRMLS_CC' | cut -d':' -f1 | sort -u | xargs -n1 sed -i'' 's/TSRMLS_CC)/)/g' || true \
&& rgrep -I 'TSRMLS_CC' | cut -d':' -f1 | sort -u | xargs -n1 sed -i'' 's/TSRMLS_CC,/,/g' || true \
&& rgrep -I 'TSRMLS_DC' | cut -d':' -f1 | sort -u | xargs -n1 sed -i'' 's/TSRMLS_DC)/)/g' || true \
&& rgrep -I 'TSRMLS_DC' | cut -d':' -f1 | sort -u | xargs -n1 sed -i'' 's/TSRMLS_DC,/,/g' || true \
&& phpize \
&& ./configure --enable-uploadprogress \
&& make \
&& make install \
\
# Enabling
&& docker-php-ext-enable uploadprogress \
&& true
# -------------------- Installing PHP Extension: xmlrpc --------------------
RUN set -eux \
# Installation: Generic
# Type: Built-in extension
# Custom: configure command
&& docker-php-ext-configure xmlrpc --with-libxml-dir=/usr --with-iconv-dir=/usr \
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) xmlrpc \
&& true
# -------------------- Installing PHP Extension: xsl -------------------- # -------------------- Installing PHP Extension: xsl --------------------
RUN set -eux \ RUN set -eux \
# Installation: Generic # Installation: Generic
@@ -670,8 +592,6 @@ RUN set -eux \
&& php-fpm -m | grep -oiE '^mbstring$' \ && php-fpm -m | grep -oiE '^mbstring$' \
&& php -m | grep -oiE '^memcached$' \ && php -m | grep -oiE '^memcached$' \
&& php-fpm -m | grep -oiE '^memcached$' \ && php-fpm -m | grep -oiE '^memcached$' \
&& php -m | grep -oiE '^mongodb$' \
&& php-fpm -m | grep -oiE '^mongodb$' \
&& php -m | grep -oiE '^mysqli$' \ && php -m | grep -oiE '^mysqli$' \
&& php-fpm -m | grep -oiE '^mysqli$' \ && php-fpm -m | grep -oiE '^mysqli$' \
&& php -m | grep -oiE '^mysqlnd$' \ && php -m | grep -oiE '^mysqlnd$' \
@@ -739,14 +659,10 @@ RUN set -eux \
&& php-fpm -m | grep -oiE '^tidy$' \ && php-fpm -m | grep -oiE '^tidy$' \
&& php -m | grep -oiE '^tokenizer$' \ && php -m | grep -oiE '^tokenizer$' \
&& php-fpm -m | grep -oiE '^tokenizer$' \ && php-fpm -m | grep -oiE '^tokenizer$' \
&& php -m | grep -oiE '^uploadprogress$' \
&& php-fpm -m | grep -oiE '^uploadprogress$' \
&& php -m | grep -oiE '^xml$' \ && php -m | grep -oiE '^xml$' \
&& php-fpm -m | grep -oiE '^xml$' \ && php-fpm -m | grep -oiE '^xml$' \
&& php -m | grep -oiE '^xmlreader$' \ && php -m | grep -oiE '^xmlreader$' \
&& php-fpm -m | grep -oiE '^xmlreader$' \ && php-fpm -m | grep -oiE '^xmlreader$' \
&& php -m | grep -oiE '^xmlrpc$' \
&& php-fpm -m | grep -oiE '^xmlrpc$' \
&& php -m | grep -oiE '^xmlwriter$' \ && php -m | grep -oiE '^xmlwriter$' \
&& php-fpm -m | grep -oiE '^xmlwriter$' \ && php-fpm -m | grep -oiE '^xmlwriter$' \
&& php -m | grep -oiE '^xsl$' \ && php -m | grep -oiE '^xsl$' \

View File

@@ -22,21 +22,32 @@ set_postfix() {
local debug="${7}" local debug="${7}"
local php_ini_file="${php_ini_dir}/devilbox-runtime-sendmail.ini" local php_ini_file="${php_ini_dir}/devilbox-runtime-sendmail.ini"
local catch_all= local enable_mail=
# Verify env value
if ! env_set "${env_varname}"; then if ! env_set "${env_varname}"; then
log "info" "\$${env_varname} not set." "${debug}" log "info" "\$${env_varname} not set." "${debug}"
log "info" "Postfix will not be started." "${debug}" log "info" "Postfix will not be started." "${debug}"
echo "" > "${php_ini_file}" echo "" > "${php_ini_file}"
return
fi
# Retrieve env value
enable_mail="$( env_get "${env_varname}" )"
# Enable postfix
if [ "${enable_mail}" = "1" ] || [ "${enable_mail}" = "2" ]; then
if [ "${enable_mail}" = "1" ]; then
log "info" "\$${env_varname} set to 1. Enabling postfix" "${debug}"
else else
catch_all="$( env_get "${env_varname}" )" log "info" "\$${env_varname} set to 2. Enabling postfix catch-all" "${debug}"
if [ "${catch_all}" = "1" ]; then fi
log "info" "\$${env_varname} set to 1. Enabling postfix catch-all" "${debug}"
# Configure PHP # Configure PHP
{ {
echo "[mail function]"; echo "[mail function]";
echo "sendmail_path = $( which sendmail ) -t -i"; echo "sendmail_path = $( command -v sendmail ) -t -i";
echo ";mail.force_extra_parameters ="; echo ";mail.force_extra_parameters =";
echo "mail.add_x_header = On"; echo "mail.add_x_header = On";
echo "mail.log = ${php_mail_log}"; echo "mail.log = ${php_mail_log}";
@@ -74,19 +85,21 @@ set_postfix() {
# Postfix configuration # Postfix configuration
run "postconf -e 'inet_protocols=ipv4'" "${debug}" run "postconf -e 'inet_protocols=ipv4'" "${debug}"
# Postfix catch-all
if [ "${enable_mail}" = "2" ]; then
run "postconf -e 'virtual_alias_maps=pcre:/etc/postfix/virtual'" "${debug}" run "postconf -e 'virtual_alias_maps=pcre:/etc/postfix/virtual'" "${debug}"
run "echo '/.*@.*/ ${username}' >> /etc/postfix/virtual" "${debug}" run "echo '/.*@.*/ ${username}' >> /etc/postfix/virtual" "${debug}"
run "newaliases" "${debug}" run "newaliases" "${debug}"
fi
elif [ "${catch_all}" = "0" ]; then elif [ "${enable_mail}" = "0" ]; then
log "info" "\$${env_varname} set to 0. Disabling postfix catch-all" "${debug}" log "info" "\$${env_varname} set to 0. Disabling postfix" "${debug}"
else else
log "err" "Invalid value for \$${env_varname}. Can only be 0 or 1. Prodived: ${catch_all}" "${debug}" log "err" "Invalid value for \$${env_varname}. Can only be 0, 1 or 2. Prodived: ${enable_mail}" "${debug}"
exit 1 exit 1
fi fi
fi
} }

View File

@@ -19,7 +19,7 @@ execute_custom_scripts() {
if [ ! -d "${script_dir}" ]; then if [ ! -d "${script_dir}" ]; then
run "mkdir -p ${script_dir}" "${debug}" run "mkdir -p ${script_dir}" "${debug}"
fi fi
script_files="$( find -L "${script_dir}" -type f -iname '*.sh' )" script_files="$( find -L "${script_dir}" -type f -iname '*.sh' | sort -n )"
# loop over them line by line # loop over them line by line
IFS=' IFS='

View File

@@ -24,9 +24,6 @@ DVL_PHP_INI_DIR="/usr/local/etc/php/conf.d"
# php-fpm conf.d directory # php-fpm conf.d directory
DVL_PHP_FPM_DIR="/usr/local/etc/php-fpm.d" DVL_PHP_FPM_DIR="/usr/local/etc/php-fpm.d"
# This is the log file for any mail related functions
DVL_PHP_MAIL_LOG="/var/log/mail.log"
# This file holds error and access log definitions # This file holds error and access log definitions
DVL_PHP_FPM_CONF_LOGFILE="${DVL_PHP_FPM_DIR}/zzz-entrypoint-logfiles.conf" DVL_PHP_FPM_CONF_LOGFILE="${DVL_PHP_FPM_DIR}/zzz-entrypoint-logfiles.conf"
DVL_PHP_INI_CONF_LOGFILE="${DVL_PHP_INI_DIR}/zzz-entrypoint-logfiles.ini" DVL_PHP_INI_CONF_LOGFILE="${DVL_PHP_INI_DIR}/zzz-entrypoint-logfiles.ini"
@@ -34,6 +31,9 @@ DVL_PHP_INI_CONF_LOGFILE="${DVL_PHP_INI_DIR}/zzz-entrypoint-logfiles.ini"
# PHP-FPM log dir # PHP-FPM log dir
DVL_FPM_LOG_DIR="/var/log/php" DVL_FPM_LOG_DIR="/var/log/php"
# This is the log file for any mail related functions
DVL_PHP_MAIL_LOG="${DVL_FPM_LOG_DIR}/mail.log"
# Custom ini dir (to be copied to actual ini dir) # Custom ini dir (to be copied to actual ini dir)
DVL_PHP_CUST_INI_DIR="/etc/php-custom.d" DVL_PHP_CUST_INI_DIR="/etc/php-custom.d"
@@ -138,7 +138,7 @@ done
### ###
### Supervisor: rsyslogd & postfix ### Supervisor: rsyslogd & postfix
### ###
if [ "$( env_get "ENABLE_MAIL" )" = "1" ]; then if [ "$( env_get "ENABLE_MAIL" )" = "1" ] || [ "$( env_get "ENABLE_MAIL" )" = "2" ]; then
supervisor_add_service "rsyslogd" "/usr/sbin/rsyslogd -n" "${DVL_SUPERVISOR_CONFD}" "${DEBUG_LEVEL}" "1" supervisor_add_service "rsyslogd" "/usr/sbin/rsyslogd -n" "${DVL_SUPERVISOR_CONFD}" "${DEBUG_LEVEL}" "1"
supervisor_add_service "postfix" "/usr/local/sbin/postfix.sh" "${DVL_SUPERVISOR_CONFD}" "${DEBUG_LEVEL}" supervisor_add_service "postfix" "/usr/local/sbin/postfix.sh" "${DVL_SUPERVISOR_CONFD}" "${DEBUG_LEVEL}"
fi fi

View File

@@ -22,14 +22,7 @@ set -o pipefail
### ###
### Variables ### Variables
### ###
if [ -f "/etc/alpine-release" ]; then MAILLOG="/var/log/mail.log"
MAILLOG="/var/log/maillog"
elif [ -f "/etc/debian_version" ]; then
MAILLOG="/var/log/mail.log"
else
MAILLOG="/var/log/maillog"
fi
MAILPID="/var/spool/postfix/pid/master.pid" MAILPID="/var/spool/postfix/pid/master.pid"

View File

@@ -41,15 +41,15 @@ RUN set -eux \
\ \
&& echo 'Acquire::Check-Valid-Until no;' > /etc/apt/apt.conf.d/99no-check-valid-until \ && echo 'Acquire::Check-Valid-Until no;' > /etc/apt/apt.conf.d/99no-check-valid-until \
&& echo "deb http://archive.debian.org/debian jessie-backports main" > /etc/apt/sources.list.d/backports.list \ && echo "deb http://archive.debian.org/debian jessie-backports main" > /etc/apt/sources.list.d/backports.list \
&& curl -sS "https://packages.blackfire.io/gpg.key" 2>/dev/null | APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key add - \ && curl -sS -L --fail "https://packages.blackfire.io/gpg.key" 2>/dev/null | APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key add - \
&& echo "deb http://packages.blackfire.io/debian any main" > /etc/apt/sources.list.d/blackfire.list \ && echo "deb http://packages.blackfire.io/debian any main" > /etc/apt/sources.list.d/blackfire.list \
&& APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv A1715D88E1DF1F24 \ && APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv A1715D88E1DF1F24 \
&& echo "deb http://ppa.launchpad.net/git-core/ppa/ubuntu wily main" > /etc/apt/sources.list.d/git.list \ && echo "deb http://ppa.launchpad.net/git-core/ppa/ubuntu wily main" > /etc/apt/sources.list.d/git.list \
&& APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 2930ADAE8CAF5059EE73BB4B58712A2291FA4AD5 \ && APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 2930ADAE8CAF5059EE73BB4B58712A2291FA4AD5 \
&& echo "deb http://repo.mongodb.org/apt/debian jessie/mongodb-org/3.6 main" > /etc/apt/sources.list.d/mongo.list \ && echo "deb http://repo.mongodb.org/apt/debian jessie/mongodb-org/3.6 main" > /etc/apt/sources.list.d/mongo.list \
&& curl -sS https://www.postgresql.org/media/keys/ACCC4CF8.asc 2>/dev/null | APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key add - \ && curl -sS -L --fail https://www.postgresql.org/media/keys/ACCC4CF8.asc 2>/dev/null | APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key add - \
&& echo "deb http://apt.postgresql.org/pub/repos/apt/ jessie-pgdg main" > /etc/apt/sources.list.d/pgsql.list \ && echo "deb http://apt.postgresql.org/pub/repos/apt/ jessie-pgdg main" > /etc/apt/sources.list.d/pgsql.list \
&& curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg 2>/dev/null | APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key add - \ && curl -sS -L --fail https://dl.yarnpkg.com/debian/pubkey.gpg 2>/dev/null | APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key add - \
&& echo "deb http://dl.yarnpkg.com/debian/ stable main" > /etc/apt/sources.list.d/yarn.list \ && echo "deb http://dl.yarnpkg.com/debian/ stable main" > /etc/apt/sources.list.d/yarn.list \
\ \
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \ && DEBIAN_FRONTEND=noninteractive apt-get update -qq \
@@ -74,6 +74,7 @@ RUN set -eux \
git-svn \ git-svn \
ghostscript \ ghostscript \
graphviz \ graphviz \
gsfonts \
hostname \ hostname \
htop \ htop \
imagemagick \ imagemagick \
@@ -89,6 +90,8 @@ RUN set -eux \
mongodb-org-tools \ mongodb-org-tools \
moreutils \ moreutils \
mysql-client \ mysql-client \
mupdf \
mupdf-tools \
nano \ nano \
net-tools \ net-tools \
netcat \ netcat \
@@ -135,7 +138,7 @@ RUN set -eux \
&& DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \ && DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \
&& rm -rf /var/lib/apt/lists/* \ && rm -rf /var/lib/apt/lists/* \
\ \
&& curl -sS https://bootstrap.pypa.io/get-pip.py | python \ && curl -sS -L --fail https://bootstrap.pypa.io/get-pip.py | python \
\ \
\ \
# -------------------- nvm -------------------- # -------------------- nvm --------------------
@@ -174,7 +177,7 @@ RUN set -eux \
\ \
\ \
# -------------------- linkcheck -------------------- # -------------------- linkcheck --------------------
&& curl https://raw.githubusercontent.com/cytopia/linkcheck/master/linkcheck > /usr/local/bin/linkcheck \ && curl -sS -L --fail https://raw.githubusercontent.com/cytopia/linkcheck/master/linkcheck > /usr/local/bin/linkcheck \
&& chmod +x /usr/local/bin/linkcheck \ && chmod +x /usr/local/bin/linkcheck \
\ \
\ \
@@ -191,7 +194,7 @@ RUN set -eux \
\ \
\ \
# -------------------- mhsendmail -------------------- # -------------------- mhsendmail --------------------
&& wget https://github.com/mailhog/mhsendmail/releases/download/v0.2.0/mhsendmail_linux_amd64 \ && curl -sS -L --fail https://github.com/devilbox/mhsendmail/releases/download/v0.3.0/mhsendmail_linux_amd64 > mhsendmail_linux_amd64 \
&& chmod +x mhsendmail_linux_amd64 \ && chmod +x mhsendmail_linux_amd64 \
&& mv mhsendmail_linux_amd64 /usr/local/bin/mhsendmail \ && mv mhsendmail_linux_amd64 /usr/local/bin/mhsendmail \
\ \
@@ -220,21 +223,21 @@ RUN set -eux \
\ \
\ \
# -------------------- phpcs -------------------- # -------------------- phpcs --------------------
&& curl -sS -L https://github.com/squizlabs/PHP_CodeSniffer/releases/download/2.9.0/phpcs.phar > /usr/local/bin/phpcs 2>/dev/null \ && curl -sS -L --fail https://github.com/squizlabs/PHP_CodeSniffer/releases/download/2.9.0/phpcs.phar > /usr/local/bin/phpcs 2>/dev/null \
&& chmod +x /usr/local/bin/phpcs \ && chmod +x /usr/local/bin/phpcs \
\ \
\ \
# -------------------- phpcbf -------------------- # -------------------- phpcbf --------------------
&& curl -sS -L https://github.com/squizlabs/PHP_CodeSniffer/releases/download/2.9.0/phpcbf.phar > /usr/local/bin/phpcbf 2>/dev/null \ && curl -sS -L --fail https://github.com/squizlabs/PHP_CodeSniffer/releases/download/2.9.0/phpcbf.phar > /usr/local/bin/phpcbf 2>/dev/null \
&& chmod +x /usr/local/bin/phpcbf \ && chmod +x /usr/local/bin/phpcbf \
\ \
\ \
# -------------------- wkhtmltopdf -------------------- # -------------------- wkhtmltopdf --------------------
&& VERSION="$( curl -sSL https://github.com/wkhtmltopdf/wkhtmltopdf/releases | grep -Eo '/wkhtmltopdf/.+jessie_amd64\.deb' | head -1 )" \ && VERSION="$( curl -sSL -L --fail https://github.com/wkhtmltopdf/wkhtmltopdf/releases | grep -Eo '/wkhtmltopdf/.+jessie_amd64\.deb' | head -1 )" \
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \ && DEBIAN_FRONTEND=noninteractive apt-get update -qq \
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \ && DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
libfontenc1 libxfont1 xfonts-75dpi xfonts-base xfonts-encodings xfonts-utils \ libfontenc1 libxfont1 xfonts-75dpi xfonts-base xfonts-encodings xfonts-utils \
&& curl -sS -L -o /tmp/wkhtmltopdf.deb https://github.com/${VERSION} \ && curl -sS -L --fail -o /tmp/wkhtmltopdf.deb https://github.com/${VERSION} \
&& dpkg -i /tmp/wkhtmltopdf.deb \ && dpkg -i /tmp/wkhtmltopdf.deb \
&& rm -f /tmp/wkhtmltopdf.deb \ && rm -f /tmp/wkhtmltopdf.deb \
\ \
@@ -298,40 +301,46 @@ RUN set -eux \
### ###
RUN set -eux \ RUN set -eux \
# -------------------- angular_cli -------------------- # -------------------- angular_cli --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g @angular/cli' devilbox \ && su -c '. /opt/nvm/nvm.sh; npm install -g --force @angular/cli' devilbox \
\ \
# -------------------- eslint -------------------- # -------------------- eslint --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g eslint' devilbox \ && su -c '. /opt/nvm/nvm.sh; npm install -g --force eslint' devilbox \
\ \
# -------------------- grunt -------------------- # -------------------- grunt --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g grunt' devilbox \ && su -c '. /opt/nvm/nvm.sh; npm install -g --force grunt' devilbox \
\ \
# -------------------- grunt_cli -------------------- # -------------------- grunt_cli --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g grunt-cli' devilbox \ && su -c '. /opt/nvm/nvm.sh; npm install -g --force grunt-cli' devilbox \
\ \
# -------------------- gulp -------------------- # -------------------- gulp --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g gulp' devilbox \ && su -c '. /opt/nvm/nvm.sh; npm install -g --force gulp' devilbox \
\ \
# -------------------- jsonlint -------------------- # -------------------- jsonlint --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g jsonlint' devilbox \ && su -c '. /opt/nvm/nvm.sh; npm install -g --force jsonlint' devilbox \
\ \
# -------------------- pm2 -------------------- # -------------------- pm2 --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g pm2' devilbox \ && su -c '. /opt/nvm/nvm.sh; npm install -g --force pm2' devilbox \
\ \
# -------------------- mdlint -------------------- # -------------------- mdlint --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g mdlint' devilbox \ && su -c '. /opt/nvm/nvm.sh; npm install -g --force mdlint' devilbox \
\
# -------------------- sass --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force sass' devilbox \
\
# -------------------- stylelint --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force stylelint' devilbox \
\ \
# -------------------- vue_cli -------------------- # -------------------- vue_cli --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g @vue/cli' devilbox \ && su -c '. /opt/nvm/nvm.sh; npm install -g --force @vue/cli' devilbox \
\ \
# -------------------- vue_cli_service_global -------------------- # -------------------- vue_cli_service_global --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g @vue/cli-service-global' devilbox \ && su -c '. /opt/nvm/nvm.sh; npm install -g --force @vue/cli-service-global' devilbox \
\ \
# -------------------- webpack -------------------- # -------------------- webpack --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g webpack' devilbox \ && su -c '. /opt/nvm/nvm.sh; npm install -g --force webpack' devilbox \
\ \
# -------------------- webpack_cli -------------------- # -------------------- webpack_cli --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g webpack-cli' devilbox \ && su -c '. /opt/nvm/nvm.sh; npm install -g --force webpack-cli' devilbox \
\ \
\ \
&& ln -sf $(dirname $(su -c '. /opt/nvm/nvm.sh; nvm which current' devilbox))/* /usr/local/bin/ \ && ln -sf $(dirname $(su -c '. /opt/nvm/nvm.sh; nvm which current' devilbox))/* /usr/local/bin/ \
@@ -339,6 +348,7 @@ RUN set -eux \
&& su -c '. /opt/nvm/nvm.sh; npm cache clear --force' devilbox \ && su -c '. /opt/nvm/nvm.sh; npm cache clear --force' devilbox \
&& su -c '. /opt/nvm/nvm.sh; nvm cache clear --force' devilbox \ && su -c '. /opt/nvm/nvm.sh; nvm cache clear --force' devilbox \
&& rm -rf /home/devilbox/.npm \ && rm -rf /home/devilbox/.npm \
&& rm -rf /home/devilbox/.cache \
&& rm -rf /home/devilbox/.config \ && rm -rf /home/devilbox/.config \
&& rm -rf /tmp/* \ && rm -rf /tmp/* \
&& (rm -rf /tmp/.* || true) \ && (rm -rf /tmp/.* || true) \
@@ -353,18 +363,15 @@ RUN set -eux \
# -------------------- mixlib_config -------------------- # -------------------- mixlib_config --------------------
&& gem install mixlib-config -v 2.2.4 \ && gem install mixlib-config -v 2.2.4 \
\ \
# -------------------- ffi --------------------
&& gem install ffi -v 1.12.2 \
\
# -------------------- rb_inotify -------------------- # -------------------- rb_inotify --------------------
&& gem install rb-inotify -v 0.9.10 \ && gem install rb-inotify -v 0.9.10 \
\ \
# -------------------- mdl -------------------- # -------------------- mdl --------------------
&& gem install mdl -v 0.5.0 \ && gem install mdl -v 0.5.0 \
\ \
# -------------------- scss_lint --------------------
&& gem install scss_lint -v 0.57.1 \
\
# -------------------- sass --------------------
&& gem install sass \
\
\ \
&& rm -rf /root/.gem \ && rm -rf /root/.gem \
&& rm -rf /tmp/* \ && rm -rf /tmp/* \
@@ -380,13 +387,13 @@ RUN set -eux \
### ###
RUN set -eux \ RUN set -eux \
# -------------------- ansible -------------------- # -------------------- ansible --------------------
&& pip install --no-cache-dir --force-reinstall ansible \ && pip install --no-cache-dir --force-reinstall ansible || true \
\ \
# -------------------- yamllint -------------------- # -------------------- yamllint --------------------
&& pip install --no-cache-dir --force-reinstall yamllint \ && pip install --no-cache-dir --force-reinstall yamllint || true \
\ \
# -------------------- yq -------------------- # -------------------- yq --------------------
&& pip install --no-cache-dir --force-reinstall yq \ && pip install --no-cache-dir --force-reinstall yq || true \
\ \
\ \
&& rm -rf /root/.cache/pip \ && rm -rf /root/.cache/pip \
@@ -439,39 +446,41 @@ RUN set -eux \
RUN set -eux \ RUN set -eux \
# -------------------- Software -------------------- # -------------------- Software --------------------
&& su -c '. /opt/nvm/nvm.sh; nvm --version' devilbox | grep -E '^[.0-9]+' \ && su -c '. /opt/nvm/nvm.sh; nvm --version' devilbox | grep -E '^[0-9][.0-9]+' \
&& regex-grep --version | grep -E '[.0-9]+' \ && regex-grep --version | grep -E '[0-9][.0-9]+' \
&& git-flow version | grep -E '[.0-9]+' \ && git-flow version | grep -E '[0-9][.0-9]+' \
&& linkcheck --version | grep -E '^linkcheck\sv[.0-9]+' \ && linkcheck --version | grep -E '^linkcheck\sv[0-9][.0-9]+' \
&& su - ${MY_USER} -c '/usr/local/src/linuxbrew/bin/brew --version' | grep -E 'Homebrew\s*[.0-9]+' \ && su - ${MY_USER} -c '/usr/local/src/linuxbrew/bin/brew --version' | grep -E 'Homebrew\s*[0-9][.0-9]+' \
&& mysqldump-secure --version | grep -E 'Version:\s*[.0-9]+' \ && mysqldump-secure --version | grep -E 'Version:\s*[0-9][.0-9]+' \
&& phpcs --version | grep -E 'version [.0-9]+' \ && phpcs --version | grep -E 'version [0-9][.0-9]+' \
&& phpcbf --version | grep -E 'version [.0-9]+' \ && phpcbf --version | grep -E 'version [0-9][.0-9]+' \
&& wkhtmltopdf --version | grep -E "^wkhtmltopdf [.0-9]+\s+\(.+patched.+\)" \ && wkhtmltopdf --version | grep -E "^wkhtmltopdf [0-9][.0-9]+\s+\(.+patched.+\)" \
\ \
# -------------------- Composer -------------------- # -------------------- Composer --------------------
\ \
# -------------------- PIP -------------------- # -------------------- PIP --------------------
&& ansible --version | grep -E '^ansible [.0-9]+$' \ && ansible --version | grep -E '^ansible [0-9][.0-9]+$' \
&& yamllint --version 2>&1 | grep -E '[.0-9]+' \ && yamllint --version 2>&1 | grep -E '[0-9][.0-9]+' \
&& yq --version 2>&1 | grep -E '^yq\s+[.0-9]+$' \ && yq --version 2>&1 | grep -E '^yq\s+[0-9][.0-9]+$' \
\ \
# -------------------- NPM -------------------- # -------------------- NPM --------------------
&& ng version 2>&1 | grep -iE 'Angular CLI:\s*[.0-9]+' \ && ng version 2>&1 | grep -iE 'Angular CLI:\s*[0-9][.0-9]+' \
&& eslint -v | grep -E '[.0-9]+' \ && eslint -v | grep -E '[0-9][.0-9]+' \
&& grunt --version | grep -E '[.0-9]+' \ && grunt --version | grep -E '[0-9][.0-9]+' \
&& gulp --version | grep -E '[.0-9]+' \ && gulp --version | grep -E '[0-9][.0-9]+' \
&& jsonlint --version | grep -E '[.0-9]+' \ && jsonlint --version | grep -E '[0-9][.0-9]+' \
&& pm2 --no-daemon --version | grep -E '[.0-9]+' \ && pm2 --no-daemon --version | tail -1 | grep -E '[0-9][.0-9]+' \
&& mdlint --version | grep -E '[.0-9]+' \ && mdlint --version | grep -E '[0-9][.0-9]+' \
&& vue --version | grep -E '[.0-9]+' \ && sass --version | grep -E '[0-9][.0-9]+' \
&& webpack --version | grep -E '[.0-9]+' \ && stylelint --version | grep -E '[0-9][.0-9]+' \
&& vue --version | grep -E '[0-9][.0-9]+' \
&& webpack --version | grep -E '[0-9][.0-9]+' \
\ \
# -------------------- GEM -------------------- # -------------------- GEM --------------------
&& mdl --version | grep -E '[.0-9]+' \ && mdl --version | grep -E '[0-9][.0-9]+' \
&& sass --version | grep -E '[.0-9]+' \
\ \
# -------------------- Cleanup -------------------- # -------------------- Cleanup --------------------
&& rm -rf /home/devilbox/.cache/ \
&& rm -rf /home/devilbox/.config/ \ && rm -rf /home/devilbox/.config/ \
&& rm -rf /root/.ansible \ && rm -rf /root/.ansible \
&& rm -rf /root/.console \ && rm -rf /root/.console \

View File

@@ -41,15 +41,15 @@ RUN set -eux \
\ \
&& echo 'Acquire::Check-Valid-Until no;' > /etc/apt/apt.conf.d/99no-check-valid-until \ && echo 'Acquire::Check-Valid-Until no;' > /etc/apt/apt.conf.d/99no-check-valid-until \
&& echo "deb http://archive.debian.org/debian jessie-backports main" > /etc/apt/sources.list.d/backports.list \ && echo "deb http://archive.debian.org/debian jessie-backports main" > /etc/apt/sources.list.d/backports.list \
&& curl -sS "https://packages.blackfire.io/gpg.key" 2>/dev/null | APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key add - \ && curl -sS -L --fail "https://packages.blackfire.io/gpg.key" 2>/dev/null | APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key add - \
&& echo "deb http://packages.blackfire.io/debian any main" > /etc/apt/sources.list.d/blackfire.list \ && echo "deb http://packages.blackfire.io/debian any main" > /etc/apt/sources.list.d/blackfire.list \
&& APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv A1715D88E1DF1F24 \ && APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv A1715D88E1DF1F24 \
&& echo "deb http://ppa.launchpad.net/git-core/ppa/ubuntu wily main" > /etc/apt/sources.list.d/git.list \ && echo "deb http://ppa.launchpad.net/git-core/ppa/ubuntu wily main" > /etc/apt/sources.list.d/git.list \
&& APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 2930ADAE8CAF5059EE73BB4B58712A2291FA4AD5 \ && APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 2930ADAE8CAF5059EE73BB4B58712A2291FA4AD5 \
&& echo "deb http://repo.mongodb.org/apt/debian jessie/mongodb-org/3.6 main" > /etc/apt/sources.list.d/mongo.list \ && echo "deb http://repo.mongodb.org/apt/debian jessie/mongodb-org/3.6 main" > /etc/apt/sources.list.d/mongo.list \
&& curl -sS https://www.postgresql.org/media/keys/ACCC4CF8.asc 2>/dev/null | APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key add - \ && curl -sS -L --fail https://www.postgresql.org/media/keys/ACCC4CF8.asc 2>/dev/null | APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key add - \
&& echo "deb http://apt.postgresql.org/pub/repos/apt/ jessie-pgdg main" > /etc/apt/sources.list.d/pgsql.list \ && echo "deb http://apt.postgresql.org/pub/repos/apt/ jessie-pgdg main" > /etc/apt/sources.list.d/pgsql.list \
&& curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg 2>/dev/null | APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key add - \ && curl -sS -L --fail https://dl.yarnpkg.com/debian/pubkey.gpg 2>/dev/null | APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key add - \
&& echo "deb http://dl.yarnpkg.com/debian/ stable main" > /etc/apt/sources.list.d/yarn.list \ && echo "deb http://dl.yarnpkg.com/debian/ stable main" > /etc/apt/sources.list.d/yarn.list \
\ \
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \ && DEBIAN_FRONTEND=noninteractive apt-get update -qq \
@@ -74,6 +74,7 @@ RUN set -eux \
git-svn \ git-svn \
ghostscript \ ghostscript \
graphviz \ graphviz \
gsfonts \
hostname \ hostname \
htop \ htop \
imagemagick \ imagemagick \
@@ -89,6 +90,8 @@ RUN set -eux \
mongodb-org-tools \ mongodb-org-tools \
moreutils \ moreutils \
mysql-client \ mysql-client \
mupdf \
mupdf-tools \
nano \ nano \
net-tools \ net-tools \
netcat \ netcat \
@@ -129,7 +132,7 @@ RUN set -eux \
### ###
RUN set -eux \ RUN set -eux \
# -------------------- composer -------------------- # -------------------- composer --------------------
&& curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer \ && curl -sS -L --fail https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer \
\ \
# -------------------- pip -------------------- # -------------------- pip --------------------
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \ && DEBIAN_FRONTEND=noninteractive apt-get update -qq \
@@ -138,7 +141,7 @@ RUN set -eux \
&& DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \ && DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \
&& rm -rf /var/lib/apt/lists/* \ && rm -rf /var/lib/apt/lists/* \
\ \
&& curl -sS https://bootstrap.pypa.io/get-pip.py | python \ && curl -sS -L --fail https://bootstrap.pypa.io/get-pip.py | python \
\ \
\ \
# -------------------- nvm -------------------- # -------------------- nvm --------------------
@@ -175,7 +178,7 @@ RUN set -eux \
&& git checkout 7.4.0 \ && git checkout 7.4.0 \
\ \
&& chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/drush7 \ && chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/drush7 \
&& su - ${MY_USER} -c 'PATH=/usr/local/bin:$PATH; cd /usr/local/src/drush7 && composer install --no-interaction --no-progress --no-dev' \ && su - ${MY_USER} -c 'PATH=/usr/local/bin:$PATH; cd /usr/local/src/drush7 && COMPOSER_MEMORY_LIMIT=-1 /usr/local/bin/composer install --no-interaction --no-progress --no-dev' \
&& ln -s /usr/local/src/drush7/drush /usr/local/bin/drush7 \ && ln -s /usr/local/src/drush7/drush /usr/local/bin/drush7 \
&& rm -rf /usr/local/src/drush7/.git \ && rm -rf /usr/local/src/drush7/.git \
&& rm -rf /usr/local/src/drush7/docs \ && rm -rf /usr/local/src/drush7/docs \
@@ -191,7 +194,7 @@ RUN set -eux \
\ \
\ \
# -------------------- linkcheck -------------------- # -------------------- linkcheck --------------------
&& curl https://raw.githubusercontent.com/cytopia/linkcheck/master/linkcheck > /usr/local/bin/linkcheck \ && curl -sS -L --fail https://raw.githubusercontent.com/cytopia/linkcheck/master/linkcheck > /usr/local/bin/linkcheck \
&& chmod +x /usr/local/bin/linkcheck \ && chmod +x /usr/local/bin/linkcheck \
\ \
\ \
@@ -208,7 +211,7 @@ RUN set -eux \
\ \
\ \
# -------------------- mhsendmail -------------------- # -------------------- mhsendmail --------------------
&& wget https://github.com/mailhog/mhsendmail/releases/download/v0.2.0/mhsendmail_linux_amd64 \ && curl -sS -L --fail https://github.com/devilbox/mhsendmail/releases/download/v0.3.0/mhsendmail_linux_amd64 > mhsendmail_linux_amd64 \
&& chmod +x mhsendmail_linux_amd64 \ && chmod +x mhsendmail_linux_amd64 \
&& mv mhsendmail_linux_amd64 /usr/local/bin/mhsendmail \ && mv mhsendmail_linux_amd64 /usr/local/bin/mhsendmail \
\ \
@@ -249,31 +252,37 @@ RUN set -eux \
\ \
\ \
# -------------------- phpcs -------------------- # -------------------- phpcs --------------------
&& curl -sS -L https://github.com/squizlabs/PHP_CodeSniffer/releases/download/2.9.0/phpcs.phar > /usr/local/bin/phpcs 2>/dev/null \ && curl -sS -L --fail https://github.com/squizlabs/PHP_CodeSniffer/releases/download/2.9.0/phpcs.phar > /usr/local/bin/phpcs 2>/dev/null \
&& chmod +x /usr/local/bin/phpcs \ && chmod +x /usr/local/bin/phpcs \
\ \
\ \
# -------------------- phpcbf -------------------- # -------------------- phpcbf --------------------
&& curl -sS -L https://github.com/squizlabs/PHP_CodeSniffer/releases/download/2.9.0/phpcbf.phar > /usr/local/bin/phpcbf 2>/dev/null \ && curl -sS -L --fail https://github.com/squizlabs/PHP_CodeSniffer/releases/download/2.9.0/phpcbf.phar > /usr/local/bin/phpcbf 2>/dev/null \
&& chmod +x /usr/local/bin/phpcbf \ && chmod +x /usr/local/bin/phpcbf \
\ \
\ \
# -------------------- php-cs-fixer -------------------- # -------------------- php-cs-fixer --------------------
&& curl -sS -L https://github.com/FriendsOfPHP/PHP-CS-Fixer/releases/download/v2.2.19/php-cs-fixer.phar > /usr/local/bin/php-cs-fixer 2>/dev/null \ && curl -sS -L --fail https://github.com/FriendsOfPHP/PHP-CS-Fixer/releases/download/v2.2.19/php-cs-fixer.phar > /usr/local/bin/php-cs-fixer 2>/dev/null \
&& chmod +x /usr/local/bin/php-cs-fixer \ && chmod +x /usr/local/bin/php-cs-fixer \
\ \
\ \
# -------------------- phpmd --------------------
&& curl -sS -L --fail https://phpmd.org/static/latest/phpmd.phar > phpmd.phar \
&& mv phpmd.phar /usr/local/bin/phpmd \
&& chmod +x /usr/local/bin/phpmd \
\
\
# -------------------- phpunit -------------------- # -------------------- phpunit --------------------
&& curl -qL https://phar.phpunit.de/phpunit-4.phar > /usr/local/bin/phpunit 2>/dev/null \ && curl -sS -L --fail https://phar.phpunit.de/phpunit-4.phar > /usr/local/bin/phpunit 2>/dev/null \
&& chmod +x /usr/local/bin/phpunit \ && chmod +x /usr/local/bin/phpunit \
\ \
\ \
# -------------------- wkhtmltopdf -------------------- # -------------------- wkhtmltopdf --------------------
&& VERSION="$( curl -sSL https://github.com/wkhtmltopdf/wkhtmltopdf/releases | grep -Eo '/wkhtmltopdf/.+jessie_amd64\.deb' | head -1 )" \ && VERSION="$( curl -sSL -L --fail https://github.com/wkhtmltopdf/wkhtmltopdf/releases | grep -Eo '/wkhtmltopdf/.+jessie_amd64\.deb' | head -1 )" \
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \ && DEBIAN_FRONTEND=noninteractive apt-get update -qq \
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \ && DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
libfontenc1 libxfont1 xfonts-75dpi xfonts-base xfonts-encodings xfonts-utils \ libfontenc1 libxfont1 xfonts-75dpi xfonts-base xfonts-encodings xfonts-utils \
&& curl -sS -L -o /tmp/wkhtmltopdf.deb https://github.com/${VERSION} \ && curl -sS -L --fail -o /tmp/wkhtmltopdf.deb https://github.com/${VERSION} \
&& dpkg -i /tmp/wkhtmltopdf.deb \ && dpkg -i /tmp/wkhtmltopdf.deb \
&& rm -f /tmp/wkhtmltopdf.deb \ && rm -f /tmp/wkhtmltopdf.deb \
\ \
@@ -282,7 +291,7 @@ RUN set -eux \
\ \
\ \
# -------------------- wpcli -------------------- # -------------------- wpcli --------------------
&& curl https://github.com/wp-cli/wp-cli/releases/download/v1.5.1/wp-cli-1.5.1.phar -L -o /usr/local/bin/wp \ && curl -sS -L --fail https://github.com/wp-cli/wp-cli/releases/download/v1.5.1/wp-cli-1.5.1.phar -L -o /usr/local/bin/wp \
&& chmod +x /usr/local/bin/wp \ && chmod +x /usr/local/bin/wp \
\ \
# -------------------- cleanup -------------------- # -------------------- cleanup --------------------
@@ -328,11 +337,11 @@ RUN set -eux \
### ###
RUN set -eux \ RUN set -eux \
# -------------------- codeception -------------------- # -------------------- codeception --------------------
&& COMPOSER_HOME="/usr/local/src/composer" composer global require codeception/codeception \ && COMPOSER_HOME="/usr/local/src/composer" COMPOSER_MEMORY_LIMIT=-1 /usr/local/bin/composer global require codeception/codeception \
&& ln -s /usr/local/src/composer/vendor/codeception/codeception/codecept /usr/local/bin/ \ && ln -s /usr/local/src/composer/vendor/codeception/codeception/codecept /usr/local/bin/ \
\ \
# -------------------- prestissimo -------------------- # -------------------- prestissimo --------------------
&& COMPOSER_HOME="/usr/local/src/composer" composer global require hirak/prestissimo \ && COMPOSER_HOME="/usr/local/src/composer" COMPOSER_MEMORY_LIMIT=-1 /usr/local/bin/composer global require hirak/prestissimo \
\ \
\ \
&& rm -rf /tmp/* \ && rm -rf /tmp/* \
@@ -348,40 +357,46 @@ RUN set -eux \
### ###
RUN set -eux \ RUN set -eux \
# -------------------- angular_cli -------------------- # -------------------- angular_cli --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g @angular/cli' devilbox \ && su -c '. /opt/nvm/nvm.sh; npm install -g --force @angular/cli' devilbox \
\ \
# -------------------- eslint -------------------- # -------------------- eslint --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g eslint' devilbox \ && su -c '. /opt/nvm/nvm.sh; npm install -g --force eslint' devilbox \
\ \
# -------------------- grunt -------------------- # -------------------- grunt --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g grunt' devilbox \ && su -c '. /opt/nvm/nvm.sh; npm install -g --force grunt' devilbox \
\ \
# -------------------- grunt_cli -------------------- # -------------------- grunt_cli --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g grunt-cli' devilbox \ && su -c '. /opt/nvm/nvm.sh; npm install -g --force grunt-cli' devilbox \
\ \
# -------------------- gulp -------------------- # -------------------- gulp --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g gulp' devilbox \ && su -c '. /opt/nvm/nvm.sh; npm install -g --force gulp' devilbox \
\ \
# -------------------- jsonlint -------------------- # -------------------- jsonlint --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g jsonlint' devilbox \ && su -c '. /opt/nvm/nvm.sh; npm install -g --force jsonlint' devilbox \
\ \
# -------------------- pm2 -------------------- # -------------------- pm2 --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g pm2' devilbox \ && su -c '. /opt/nvm/nvm.sh; npm install -g --force pm2' devilbox \
\ \
# -------------------- mdlint -------------------- # -------------------- mdlint --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g mdlint' devilbox \ && su -c '. /opt/nvm/nvm.sh; npm install -g --force mdlint' devilbox \
\
# -------------------- sass --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force sass' devilbox \
\
# -------------------- stylelint --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force stylelint' devilbox \
\ \
# -------------------- vue_cli -------------------- # -------------------- vue_cli --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g @vue/cli' devilbox \ && su -c '. /opt/nvm/nvm.sh; npm install -g --force @vue/cli' devilbox \
\ \
# -------------------- vue_cli_service_global -------------------- # -------------------- vue_cli_service_global --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g @vue/cli-service-global' devilbox \ && su -c '. /opt/nvm/nvm.sh; npm install -g --force @vue/cli-service-global' devilbox \
\ \
# -------------------- webpack -------------------- # -------------------- webpack --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g webpack' devilbox \ && su -c '. /opt/nvm/nvm.sh; npm install -g --force webpack' devilbox \
\ \
# -------------------- webpack_cli -------------------- # -------------------- webpack_cli --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g webpack-cli' devilbox \ && su -c '. /opt/nvm/nvm.sh; npm install -g --force webpack-cli' devilbox \
\ \
\ \
&& ln -sf $(dirname $(su -c '. /opt/nvm/nvm.sh; nvm which current' devilbox))/* /usr/local/bin/ \ && ln -sf $(dirname $(su -c '. /opt/nvm/nvm.sh; nvm which current' devilbox))/* /usr/local/bin/ \
@@ -389,6 +404,7 @@ RUN set -eux \
&& su -c '. /opt/nvm/nvm.sh; npm cache clear --force' devilbox \ && su -c '. /opt/nvm/nvm.sh; npm cache clear --force' devilbox \
&& su -c '. /opt/nvm/nvm.sh; nvm cache clear --force' devilbox \ && su -c '. /opt/nvm/nvm.sh; nvm cache clear --force' devilbox \
&& rm -rf /home/devilbox/.npm \ && rm -rf /home/devilbox/.npm \
&& rm -rf /home/devilbox/.cache \
&& rm -rf /home/devilbox/.config \ && rm -rf /home/devilbox/.config \
&& rm -rf /tmp/* \ && rm -rf /tmp/* \
&& (rm -rf /tmp/.* || true) \ && (rm -rf /tmp/.* || true) \
@@ -403,18 +419,15 @@ RUN set -eux \
# -------------------- mixlib_config -------------------- # -------------------- mixlib_config --------------------
&& gem install mixlib-config -v 2.2.4 \ && gem install mixlib-config -v 2.2.4 \
\ \
# -------------------- ffi --------------------
&& gem install ffi -v 1.12.2 \
\
# -------------------- rb_inotify -------------------- # -------------------- rb_inotify --------------------
&& gem install rb-inotify -v 0.9.10 \ && gem install rb-inotify -v 0.9.10 \
\ \
# -------------------- mdl -------------------- # -------------------- mdl --------------------
&& gem install mdl -v 0.5.0 \ && gem install mdl -v 0.5.0 \
\ \
# -------------------- scss_lint --------------------
&& gem install scss_lint -v 0.57.1 \
\
# -------------------- sass --------------------
&& gem install sass \
\
\ \
&& rm -rf /root/.gem \ && rm -rf /root/.gem \
&& rm -rf /tmp/* \ && rm -rf /tmp/* \
@@ -430,13 +443,13 @@ RUN set -eux \
### ###
RUN set -eux \ RUN set -eux \
# -------------------- ansible -------------------- # -------------------- ansible --------------------
&& pip install --no-cache-dir --force-reinstall ansible \ && pip install --no-cache-dir --force-reinstall ansible || true \
\ \
# -------------------- yamllint -------------------- # -------------------- yamllint --------------------
&& pip install --no-cache-dir --force-reinstall yamllint \ && pip install --no-cache-dir --force-reinstall yamllint || true \
\ \
# -------------------- yq -------------------- # -------------------- yq --------------------
&& pip install --no-cache-dir --force-reinstall yq \ && pip install --no-cache-dir --force-reinstall yq || true \
\ \
\ \
&& rm -rf /root/.cache/pip \ && rm -rf /root/.cache/pip \
@@ -489,46 +502,49 @@ RUN set -eux \
RUN set -eux \ RUN set -eux \
# -------------------- Software -------------------- # -------------------- Software --------------------
&& composer --version 2>/dev/null | grep -E 'version\s*[.0-9]+' \ && composer --version 2>/dev/null | grep -E 'version\s*[0-9][.0-9]+' \
&& su -c '. /opt/nvm/nvm.sh; nvm --version' devilbox | grep -E '^[.0-9]+' \ && su -c '. /opt/nvm/nvm.sh; nvm --version' devilbox | grep -E '^[0-9][.0-9]+' \
&& regex-grep --version | grep -E '[.0-9]+' \ && regex-grep --version | grep -E '[0-9][.0-9]+' \
&& drush7 --version | grep -E '7[.0-9]+\s*$' \ && drush7 --version | grep -E '7[.0-9]+\s*$' \
&& git-flow version | grep -E '[.0-9]+' \ && git-flow version | grep -E '[0-9][.0-9]+' \
&& linkcheck --version | grep -E '^linkcheck\sv[.0-9]+' \ && linkcheck --version | grep -E '^linkcheck\sv[0-9][.0-9]+' \
&& su - ${MY_USER} -c '/usr/local/src/linuxbrew/bin/brew --version' | grep -E 'Homebrew\s*[.0-9]+' \ && su - ${MY_USER} -c '/usr/local/src/linuxbrew/bin/brew --version' | grep -E 'Homebrew\s*[0-9][.0-9]+' \
&& mysqldump-secure --version | grep -E 'Version:\s*[.0-9]+' \ && mysqldump-secure --version | grep -E 'Version:\s*[0-9][.0-9]+' \
&& phalcon commands | grep -E '[.0-9]+' \ && phalcon commands | grep -E '[0-9][.0-9]+' \
&& phpcs --version | grep -E 'version [.0-9]+' \ && phpcs --version | grep -E 'version [0-9][.0-9]+' \
&& phpcbf --version | grep -E 'version [.0-9]+' \ && phpcbf --version | grep -E 'version [0-9][.0-9]+' \
&& php-cs-fixer --version 2>&1 | grep -E 'Fixer\s+(version\s*)?[-_.0-9]+\s+' \ && php-cs-fixer --version 2>&1 | grep -E 'Fixer\s+(version\s*)?[-_.0-9]+\s+' \
&& phpunit --version | grep -iE '^PHPUnit\s[.0-9]+' \ && phpmd --version | grep -E '^PHPMD [0-9][.0-9]+' \
&& wkhtmltopdf --version | grep -E "^wkhtmltopdf [.0-9]+\s+\(.+patched.+\)" \ && phpunit --version | grep -iE '^PHPUnit\s[0-9][.0-9]+' \
&& wp --allow-root --version | grep -E '[.0-9]+' \ && wkhtmltopdf --version | grep -E "^wkhtmltopdf [0-9][.0-9]+\s+\(.+patched.+\)" \
&& wp --allow-root --version | grep -E '[0-9][.0-9]+' \
\ \
# -------------------- Composer -------------------- # -------------------- Composer --------------------
&& codecept --version 2>/dev/null | grep -E '^Codeception(\sversion)?\s[.0-9]+$' \ && codecept --version 2>/dev/null | grep -E '^Codeception(\sversion)?\s[0-9][.0-9]+$' \
\ \
# -------------------- PIP -------------------- # -------------------- PIP --------------------
&& ansible --version | grep -E '^ansible [.0-9]+$' \ && ansible --version | grep -E '^ansible [0-9][.0-9]+$' \
&& yamllint --version 2>&1 | grep -E '[.0-9]+' \ && yamllint --version 2>&1 | grep -E '[0-9][.0-9]+' \
&& yq --version 2>&1 | grep -E '^yq\s+[.0-9]+$' \ && yq --version 2>&1 | grep -E '^yq\s+[0-9][.0-9]+$' \
\ \
# -------------------- NPM -------------------- # -------------------- NPM --------------------
&& ng version 2>&1 | grep -iE 'Angular CLI:\s*[.0-9]+' \ && ng version 2>&1 | grep -iE 'Angular CLI:\s*[0-9][.0-9]+' \
&& eslint -v | grep -E '[.0-9]+' \ && eslint -v | grep -E '[0-9][.0-9]+' \
&& grunt --version | grep -E '[.0-9]+' \ && grunt --version | grep -E '[0-9][.0-9]+' \
&& gulp --version | grep -E '[.0-9]+' \ && gulp --version | grep -E '[0-9][.0-9]+' \
&& jsonlint --version | grep -E '[.0-9]+' \ && jsonlint --version | grep -E '[0-9][.0-9]+' \
&& pm2 --no-daemon --version | grep -E '[.0-9]+' \ && pm2 --no-daemon --version | tail -1 | grep -E '[0-9][.0-9]+' \
&& mdlint --version | grep -E '[.0-9]+' \ && mdlint --version | grep -E '[0-9][.0-9]+' \
&& vue --version | grep -E '[.0-9]+' \ && sass --version | grep -E '[0-9][.0-9]+' \
&& webpack --version | grep -E '[.0-9]+' \ && stylelint --version | grep -E '[0-9][.0-9]+' \
&& vue --version | grep -E '[0-9][.0-9]+' \
&& webpack --version | grep -E '[0-9][.0-9]+' \
\ \
# -------------------- GEM -------------------- # -------------------- GEM --------------------
&& mdl --version | grep -E '[.0-9]+' \ && mdl --version | grep -E '[0-9][.0-9]+' \
&& sass --version | grep -E '[.0-9]+' \
\ \
# -------------------- Cleanup -------------------- # -------------------- Cleanup --------------------
&& rm -rf /home/devilbox/.cache/ \
&& rm -rf /home/devilbox/.config/ \ && rm -rf /home/devilbox/.config/ \
&& rm -rf /root/.ansible \ && rm -rf /root/.ansible \
&& rm -rf /root/.console \ && rm -rf /root/.console \

View File

@@ -41,15 +41,15 @@ RUN set -eux \
\ \
&& echo 'Acquire::Check-Valid-Until no;' > /etc/apt/apt.conf.d/99no-check-valid-until \ && echo 'Acquire::Check-Valid-Until no;' > /etc/apt/apt.conf.d/99no-check-valid-until \
&& echo "deb http://archive.debian.org/debian jessie-backports main" > /etc/apt/sources.list.d/backports.list \ && echo "deb http://archive.debian.org/debian jessie-backports main" > /etc/apt/sources.list.d/backports.list \
&& curl -sS "https://packages.blackfire.io/gpg.key" 2>/dev/null | APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key add - \ && curl -sS -L --fail "https://packages.blackfire.io/gpg.key" 2>/dev/null | APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key add - \
&& echo "deb http://packages.blackfire.io/debian any main" > /etc/apt/sources.list.d/blackfire.list \ && echo "deb http://packages.blackfire.io/debian any main" > /etc/apt/sources.list.d/blackfire.list \
&& APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv A1715D88E1DF1F24 \ && APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv A1715D88E1DF1F24 \
&& echo "deb http://ppa.launchpad.net/git-core/ppa/ubuntu wily main" > /etc/apt/sources.list.d/git.list \ && echo "deb http://ppa.launchpad.net/git-core/ppa/ubuntu wily main" > /etc/apt/sources.list.d/git.list \
&& APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 2930ADAE8CAF5059EE73BB4B58712A2291FA4AD5 \ && APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 2930ADAE8CAF5059EE73BB4B58712A2291FA4AD5 \
&& echo "deb http://repo.mongodb.org/apt/debian jessie/mongodb-org/3.6 main" > /etc/apt/sources.list.d/mongo.list \ && echo "deb http://repo.mongodb.org/apt/debian jessie/mongodb-org/3.6 main" > /etc/apt/sources.list.d/mongo.list \
&& curl -sS https://www.postgresql.org/media/keys/ACCC4CF8.asc 2>/dev/null | APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key add - \ && curl -sS -L --fail https://www.postgresql.org/media/keys/ACCC4CF8.asc 2>/dev/null | APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key add - \
&& echo "deb http://apt.postgresql.org/pub/repos/apt/ jessie-pgdg main" > /etc/apt/sources.list.d/pgsql.list \ && echo "deb http://apt.postgresql.org/pub/repos/apt/ jessie-pgdg main" > /etc/apt/sources.list.d/pgsql.list \
&& curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg 2>/dev/null | APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key add - \ && curl -sS -L --fail https://dl.yarnpkg.com/debian/pubkey.gpg 2>/dev/null | APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key add - \
&& echo "deb http://dl.yarnpkg.com/debian/ stable main" > /etc/apt/sources.list.d/yarn.list \ && echo "deb http://dl.yarnpkg.com/debian/ stable main" > /etc/apt/sources.list.d/yarn.list \
\ \
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \ && DEBIAN_FRONTEND=noninteractive apt-get update -qq \
@@ -74,6 +74,7 @@ RUN set -eux \
git-svn \ git-svn \
ghostscript \ ghostscript \
graphviz \ graphviz \
gsfonts \
hostname \ hostname \
htop \ htop \
imagemagick \ imagemagick \
@@ -89,6 +90,8 @@ RUN set -eux \
mongodb-org-tools \ mongodb-org-tools \
moreutils \ moreutils \
mysql-client \ mysql-client \
mupdf \
mupdf-tools \
nano \ nano \
net-tools \ net-tools \
netcat \ netcat \
@@ -129,7 +132,7 @@ RUN set -eux \
### ###
RUN set -eux \ RUN set -eux \
# -------------------- composer -------------------- # -------------------- composer --------------------
&& curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer \ && curl -sS -L --fail https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer \
\ \
# -------------------- pip -------------------- # -------------------- pip --------------------
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \ && DEBIAN_FRONTEND=noninteractive apt-get update -qq \
@@ -138,7 +141,7 @@ RUN set -eux \
&& DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \ && DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \
&& rm -rf /var/lib/apt/lists/* \ && rm -rf /var/lib/apt/lists/* \
\ \
&& curl -sS https://bootstrap.pypa.io/get-pip.py | python \ && curl -sS -L --fail https://bootstrap.pypa.io/get-pip.py | python \
\ \
\ \
# -------------------- nvm -------------------- # -------------------- nvm --------------------
@@ -170,7 +173,7 @@ RUN set -eux \
\ \
\ \
# -------------------- deployer -------------------- # -------------------- deployer --------------------
&& curl -sS https://deployer.org/releases/v3.3.0/deployer.phar -L -o /usr/local/bin/dep \ && curl -sS -L --fail https://deployer.org/releases/v3.3.0/deployer.phar -L -o /usr/local/bin/dep \
&& chmod +x /usr/local/bin/dep \ && chmod +x /usr/local/bin/dep \
\ \
# -------------------- drush7 -------------------- # -------------------- drush7 --------------------
@@ -179,7 +182,7 @@ RUN set -eux \
&& git checkout 7.4.0 \ && git checkout 7.4.0 \
\ \
&& chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/drush7 \ && chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/drush7 \
&& su - ${MY_USER} -c 'PATH=/usr/local/bin:$PATH; cd /usr/local/src/drush7 && composer install --no-interaction --no-progress --no-dev' \ && su - ${MY_USER} -c 'PATH=/usr/local/bin:$PATH; cd /usr/local/src/drush7 && COMPOSER_MEMORY_LIMIT=-1 /usr/local/bin/composer install --no-interaction --no-progress --no-dev' \
&& ln -s /usr/local/src/drush7/drush /usr/local/bin/drush7 \ && ln -s /usr/local/src/drush7/drush /usr/local/bin/drush7 \
&& rm -rf /usr/local/src/drush7/.git \ && rm -rf /usr/local/src/drush7/.git \
&& rm -rf /usr/local/src/drush7/docs \ && rm -rf /usr/local/src/drush7/docs \
@@ -193,7 +196,7 @@ RUN set -eux \
&& git checkout $( git for-each-ref --format='%(*creatordate:raw)%(creatordate:raw) %(refname)' refs/tags | sort -n | grep -E 'tags/8[.0-9]+$' | tail -1 | sed 's|.*/||g' ) \ && git checkout $( git for-each-ref --format='%(*creatordate:raw)%(creatordate:raw) %(refname)' refs/tags | sort -n | grep -E 'tags/8[.0-9]+$' | tail -1 | sed 's|.*/||g' ) \
\ \
&& chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/drush8 \ && chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/drush8 \
&& su - ${MY_USER} -c 'PATH=/usr/local/bin:$PATH; cd /usr/local/src/drush8 && composer install --no-interaction --no-progress --no-dev' \ && su - ${MY_USER} -c 'PATH=/usr/local/bin:$PATH; cd /usr/local/src/drush8 && COMPOSER_MEMORY_LIMIT=-1 /usr/local/bin/composer install --no-interaction --no-progress --no-dev' \
&& ln -s /usr/local/src/drush8/drush /usr/local/bin/drush8 \ && ln -s /usr/local/src/drush8/drush /usr/local/bin/drush8 \
&& rm -rf /usr/local/src/drush8/.git \ && rm -rf /usr/local/src/drush8/.git \
&& rm -rf /usr/local/src/drush8/docs \ && rm -rf /usr/local/src/drush8/docs \
@@ -214,13 +217,13 @@ RUN set -eux \
&& git checkout v1.3.7 \ && git checkout v1.3.7 \
\ \
&& chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/laravel-installer \ && chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/laravel-installer \
&& su - ${MY_USER} -c 'PATH=/usr/local/bin:$PATH; cd /usr/local/src/laravel-installer && composer install --no-interaction --no-progress --no-dev' \ && su - ${MY_USER} -c 'PATH=/usr/local/bin:$PATH; cd /usr/local/src/laravel-installer && COMPOSER_MEMORY_LIMIT=-1 /usr/local/bin/composer install --no-interaction --no-progress --no-dev' \
&& rm -rf /usr/local/src/laravel-installer/laravel/.git \ && rm -rf /usr/local/src/laravel-installer/laravel/.git \
\ \
&& ln -s /usr/local/src/laravel-installer/laravel /usr/local/bin/laravel \ && ln -s /usr/local/src/laravel-installer/laravel /usr/local/bin/laravel \
\ \
# -------------------- linkcheck -------------------- # -------------------- linkcheck --------------------
&& curl https://raw.githubusercontent.com/cytopia/linkcheck/master/linkcheck > /usr/local/bin/linkcheck \ && curl -sS -L --fail https://raw.githubusercontent.com/cytopia/linkcheck/master/linkcheck > /usr/local/bin/linkcheck \
&& chmod +x /usr/local/bin/linkcheck \ && chmod +x /usr/local/bin/linkcheck \
\ \
\ \
@@ -237,7 +240,7 @@ RUN set -eux \
\ \
\ \
# -------------------- mhsendmail -------------------- # -------------------- mhsendmail --------------------
&& wget https://github.com/mailhog/mhsendmail/releases/download/v0.2.0/mhsendmail_linux_amd64 \ && curl -sS -L --fail https://github.com/devilbox/mhsendmail/releases/download/v0.3.0/mhsendmail_linux_amd64 > mhsendmail_linux_amd64 \
&& chmod +x mhsendmail_linux_amd64 \ && chmod +x mhsendmail_linux_amd64 \
&& mv mhsendmail_linux_amd64 /usr/local/bin/mhsendmail \ && mv mhsendmail_linux_amd64 /usr/local/bin/mhsendmail \
\ \
@@ -278,35 +281,42 @@ RUN set -eux \
\ \
\ \
# -------------------- phpcs -------------------- # -------------------- phpcs --------------------
&& curl -sS -L https://squizlabs.github.io/PHP_CodeSniffer/phpcs.phar > /usr/local/bin/phpcs 2>/dev/null \ && curl -sS -L --fail https://squizlabs.github.io/PHP_CodeSniffer/phpcs.phar > /usr/local/bin/phpcs 2>/dev/null \
&& chmod +x /usr/local/bin/phpcs \ && chmod +x /usr/local/bin/phpcs \
\ \
\ \
# -------------------- phpcbf -------------------- # -------------------- phpcbf --------------------
&& curl -sS -L https://squizlabs.github.io/PHP_CodeSniffer/phpcbf.phar > /usr/local/bin/phpcbf 2>/dev/null \ && curl -sS -L --fail https://squizlabs.github.io/PHP_CodeSniffer/phpcbf.phar > /usr/local/bin/phpcbf 2>/dev/null \
&& chmod +x /usr/local/bin/phpcbf \ && chmod +x /usr/local/bin/phpcbf \
\ \
\ \
# -------------------- php-cs-fixer -------------------- # -------------------- php-cs-fixer --------------------
&& curl -sS -L https://github.com/FriendsOfPHP/PHP-CS-Fixer/releases/download/v2.2.19/php-cs-fixer.phar > /usr/local/bin/php-cs-fixer 2>/dev/null \ && curl -sS -L --fail https://github.com/FriendsOfPHP/PHP-CS-Fixer/releases/download/v2.2.19/php-cs-fixer.phar > /usr/local/bin/php-cs-fixer 2>/dev/null \
&& chmod +x /usr/local/bin/php-cs-fixer \ && chmod +x /usr/local/bin/php-cs-fixer \
\ \
\ \
# -------------------- phpmd --------------------
&& curl -sS -L --fail https://phpmd.org/static/latest/phpmd.phar > phpmd.phar \
&& mv phpmd.phar /usr/local/bin/phpmd \
&& chmod +x /usr/local/bin/phpmd \
\
\
# -------------------- phpunit -------------------- # -------------------- phpunit --------------------
&& curl -qL https://phar.phpunit.de/phpunit-4.phar > /usr/local/bin/phpunit 2>/dev/null \ && curl -sS -L --fail https://phar.phpunit.de/phpunit-4.phar > /usr/local/bin/phpunit 2>/dev/null \
&& chmod +x /usr/local/bin/phpunit \ && chmod +x /usr/local/bin/phpunit \
\ \
\ \
# -------------------- symfony -------------------- # -------------------- symfony --------------------
&& curl https://symfony.com/installer -L -o /usr/local/bin/symfony \ && SYMFONY_VERSION="$( curl -sS -L --fail https://get.symfony.com/cli/LATEST )" \
&& curl -sS -L --fail "https://github.com/symfony/cli/releases/download/v${SYMFONY_VERSION}/symfony_linux_amd64" > /usr/local/bin/symfony \
&& chmod +x /usr/local/bin/symfony \ && chmod +x /usr/local/bin/symfony \
\ \
# -------------------- wkhtmltopdf -------------------- # -------------------- wkhtmltopdf --------------------
&& VERSION="$( curl -sSL https://github.com/wkhtmltopdf/wkhtmltopdf/releases | grep -Eo '/wkhtmltopdf/.+jessie_amd64\.deb' | head -1 )" \ && VERSION="$( curl -sSL -L --fail https://github.com/wkhtmltopdf/wkhtmltopdf/releases | grep -Eo '/wkhtmltopdf/.+jessie_amd64\.deb' | head -1 )" \
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \ && DEBIAN_FRONTEND=noninteractive apt-get update -qq \
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \ && DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
libfontenc1 libxfont1 xfonts-75dpi xfonts-base xfonts-encodings xfonts-utils \ libfontenc1 libxfont1 xfonts-75dpi xfonts-base xfonts-encodings xfonts-utils \
&& curl -sS -L -o /tmp/wkhtmltopdf.deb https://github.com/${VERSION} \ && curl -sS -L --fail -o /tmp/wkhtmltopdf.deb https://github.com/${VERSION} \
&& dpkg -i /tmp/wkhtmltopdf.deb \ && dpkg -i /tmp/wkhtmltopdf.deb \
&& rm -f /tmp/wkhtmltopdf.deb \ && rm -f /tmp/wkhtmltopdf.deb \
\ \
@@ -315,7 +325,7 @@ RUN set -eux \
\ \
\ \
# -------------------- wpcli -------------------- # -------------------- wpcli --------------------
&& curl https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar -L -o /usr/local/bin/wp \ && curl -sS -L --fail https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar -L -o /usr/local/bin/wp \
&& chmod +x /usr/local/bin/wp \ && chmod +x /usr/local/bin/wp \
\ \
# -------------------- cleanup -------------------- # -------------------- cleanup --------------------
@@ -361,11 +371,11 @@ RUN set -eux \
### ###
RUN set -eux \ RUN set -eux \
# -------------------- codeception -------------------- # -------------------- codeception --------------------
&& COMPOSER_HOME="/usr/local/src/composer" composer global require codeception/codeception \ && COMPOSER_HOME="/usr/local/src/composer" COMPOSER_MEMORY_LIMIT=-1 /usr/local/bin/composer global require codeception/codeception \
&& ln -s /usr/local/src/composer/vendor/codeception/codeception/codecept /usr/local/bin/ \ && ln -s /usr/local/src/composer/vendor/codeception/codeception/codecept /usr/local/bin/ \
\ \
# -------------------- prestissimo -------------------- # -------------------- prestissimo --------------------
&& COMPOSER_HOME="/usr/local/src/composer" composer global require hirak/prestissimo \ && COMPOSER_HOME="/usr/local/src/composer" COMPOSER_MEMORY_LIMIT=-1 /usr/local/bin/composer global require hirak/prestissimo \
\ \
\ \
&& rm -rf /tmp/* \ && rm -rf /tmp/* \
@@ -381,40 +391,46 @@ RUN set -eux \
### ###
RUN set -eux \ RUN set -eux \
# -------------------- angular_cli -------------------- # -------------------- angular_cli --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g @angular/cli' devilbox \ && su -c '. /opt/nvm/nvm.sh; npm install -g --force @angular/cli' devilbox \
\ \
# -------------------- eslint -------------------- # -------------------- eslint --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g eslint' devilbox \ && su -c '. /opt/nvm/nvm.sh; npm install -g --force eslint' devilbox \
\ \
# -------------------- grunt -------------------- # -------------------- grunt --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g grunt' devilbox \ && su -c '. /opt/nvm/nvm.sh; npm install -g --force grunt' devilbox \
\ \
# -------------------- grunt_cli -------------------- # -------------------- grunt_cli --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g grunt-cli' devilbox \ && su -c '. /opt/nvm/nvm.sh; npm install -g --force grunt-cli' devilbox \
\ \
# -------------------- gulp -------------------- # -------------------- gulp --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g gulp' devilbox \ && su -c '. /opt/nvm/nvm.sh; npm install -g --force gulp' devilbox \
\ \
# -------------------- jsonlint -------------------- # -------------------- jsonlint --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g jsonlint' devilbox \ && su -c '. /opt/nvm/nvm.sh; npm install -g --force jsonlint' devilbox \
\ \
# -------------------- pm2 -------------------- # -------------------- pm2 --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g pm2' devilbox \ && su -c '. /opt/nvm/nvm.sh; npm install -g --force pm2' devilbox \
\ \
# -------------------- mdlint -------------------- # -------------------- mdlint --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g mdlint' devilbox \ && su -c '. /opt/nvm/nvm.sh; npm install -g --force mdlint' devilbox \
\
# -------------------- sass --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force sass' devilbox \
\
# -------------------- stylelint --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force stylelint' devilbox \
\ \
# -------------------- vue_cli -------------------- # -------------------- vue_cli --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g @vue/cli' devilbox \ && su -c '. /opt/nvm/nvm.sh; npm install -g --force @vue/cli' devilbox \
\ \
# -------------------- vue_cli_service_global -------------------- # -------------------- vue_cli_service_global --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g @vue/cli-service-global' devilbox \ && su -c '. /opt/nvm/nvm.sh; npm install -g --force @vue/cli-service-global' devilbox \
\ \
# -------------------- webpack -------------------- # -------------------- webpack --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g webpack' devilbox \ && su -c '. /opt/nvm/nvm.sh; npm install -g --force webpack' devilbox \
\ \
# -------------------- webpack_cli -------------------- # -------------------- webpack_cli --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g webpack-cli' devilbox \ && su -c '. /opt/nvm/nvm.sh; npm install -g --force webpack-cli' devilbox \
\ \
\ \
&& ln -sf $(dirname $(su -c '. /opt/nvm/nvm.sh; nvm which current' devilbox))/* /usr/local/bin/ \ && ln -sf $(dirname $(su -c '. /opt/nvm/nvm.sh; nvm which current' devilbox))/* /usr/local/bin/ \
@@ -422,6 +438,7 @@ RUN set -eux \
&& su -c '. /opt/nvm/nvm.sh; npm cache clear --force' devilbox \ && su -c '. /opt/nvm/nvm.sh; npm cache clear --force' devilbox \
&& su -c '. /opt/nvm/nvm.sh; nvm cache clear --force' devilbox \ && su -c '. /opt/nvm/nvm.sh; nvm cache clear --force' devilbox \
&& rm -rf /home/devilbox/.npm \ && rm -rf /home/devilbox/.npm \
&& rm -rf /home/devilbox/.cache \
&& rm -rf /home/devilbox/.config \ && rm -rf /home/devilbox/.config \
&& rm -rf /tmp/* \ && rm -rf /tmp/* \
&& (rm -rf /tmp/.* || true) \ && (rm -rf /tmp/.* || true) \
@@ -436,18 +453,15 @@ RUN set -eux \
# -------------------- mixlib_config -------------------- # -------------------- mixlib_config --------------------
&& gem install mixlib-config -v 2.2.4 \ && gem install mixlib-config -v 2.2.4 \
\ \
# -------------------- ffi --------------------
&& gem install ffi -v 1.12.2 \
\
# -------------------- rb_inotify -------------------- # -------------------- rb_inotify --------------------
&& gem install rb-inotify -v 0.9.10 \ && gem install rb-inotify -v 0.9.10 \
\ \
# -------------------- mdl -------------------- # -------------------- mdl --------------------
&& gem install mdl -v 0.5.0 \ && gem install mdl -v 0.5.0 \
\ \
# -------------------- scss_lint --------------------
&& gem install scss_lint -v 0.57.1 \
\
# -------------------- sass --------------------
&& gem install sass \
\
\ \
&& rm -rf /root/.gem \ && rm -rf /root/.gem \
&& rm -rf /tmp/* \ && rm -rf /tmp/* \
@@ -463,13 +477,13 @@ RUN set -eux \
### ###
RUN set -eux \ RUN set -eux \
# -------------------- ansible -------------------- # -------------------- ansible --------------------
&& pip install --no-cache-dir --force-reinstall ansible \ && pip install --no-cache-dir --force-reinstall ansible || true \
\ \
# -------------------- yamllint -------------------- # -------------------- yamllint --------------------
&& pip install --no-cache-dir --force-reinstall yamllint \ && pip install --no-cache-dir --force-reinstall yamllint || true \
\ \
# -------------------- yq -------------------- # -------------------- yq --------------------
&& pip install --no-cache-dir --force-reinstall yq \ && pip install --no-cache-dir --force-reinstall yq || true \
\ \
\ \
&& rm -rf /root/.cache/pip \ && rm -rf /root/.cache/pip \
@@ -522,50 +536,53 @@ RUN set -eux \
RUN set -eux \ RUN set -eux \
# -------------------- Software -------------------- # -------------------- Software --------------------
&& composer --version 2>/dev/null | grep -E 'version\s*[.0-9]+' \ && composer --version 2>/dev/null | grep -E 'version\s*[0-9][.0-9]+' \
&& su -c '. /opt/nvm/nvm.sh; nvm --version' devilbox | grep -E '^[.0-9]+' \ && su -c '. /opt/nvm/nvm.sh; nvm --version' devilbox | grep -E '^[0-9][.0-9]+' \
&& regex-grep --version | grep -E '[.0-9]+' \ && regex-grep --version | grep -E '[0-9][.0-9]+' \
&& dep --version 2>/dev/null | grep -Ei 'deployer\s*(version\s*)?[.0-9]+' \ && dep --version 2>/dev/null | grep -Ei 'deployer\s*(version\s*)?[0-9][.0-9]+' \
&& drush7 --version | grep -E '7[.0-9]+\s*$' \ && drush7 --version | grep -E '7[.0-9]+\s*$' \
&& drush8 --version | grep -E '8[.0-9]+\s*$' \ && drush8 --version | grep -E '8[.0-9]+\s*$' \
&& git-flow version | grep -E '[.0-9]+' \ && git-flow version | grep -E '[0-9][.0-9]+' \
&& laravel --version | grep -E '(Installer|version)\s*[.0-9]+' \ && laravel --version | grep -E '(Installer|version)\s*[0-9][.0-9]+' \
&& linkcheck --version | grep -E '^linkcheck\sv[.0-9]+' \ && linkcheck --version | grep -E '^linkcheck\sv[0-9][.0-9]+' \
&& su - ${MY_USER} -c '/usr/local/src/linuxbrew/bin/brew --version' | grep -E 'Homebrew\s*[.0-9]+' \ && su - ${MY_USER} -c '/usr/local/src/linuxbrew/bin/brew --version' | grep -E 'Homebrew\s*[0-9][.0-9]+' \
&& mysqldump-secure --version | grep -E 'Version:\s*[.0-9]+' \ && mysqldump-secure --version | grep -E 'Version:\s*[0-9][.0-9]+' \
&& phalcon commands | grep -E '[.0-9]+' \ && phalcon commands | grep -E '[0-9][.0-9]+' \
&& phpcs --version | grep -E 'version [.0-9]+' \ && phpcs --version | grep -E 'version [0-9][.0-9]+' \
&& phpcbf --version | grep -E 'version [.0-9]+' \ && phpcbf --version | grep -E 'version [0-9][.0-9]+' \
&& php-cs-fixer --version 2>&1 | grep -E 'Fixer\s+(version\s*)?[-_.0-9]+\s+' \ && php-cs-fixer --version 2>&1 | grep -E 'Fixer\s+(version\s*)?[-_.0-9]+\s+' \
&& phpunit --version | grep -iE '^PHPUnit\s[.0-9]+' \ && phpmd --version | grep -E '^PHPMD [0-9][.0-9]+' \
&& symfony --version | grep -E 'version\s*[.0-9]+' \ && phpunit --version | grep -iE '^PHPUnit\s[0-9][.0-9]+' \
&& wkhtmltopdf --version | grep -E "^wkhtmltopdf [.0-9]+\s+\(.+patched.+\)" \ && symfony -V | grep -Ei 'version\s*.*v[0-9][.0-9]+' \
&& wp --allow-root --version | grep -E '[.0-9]+' \ && wkhtmltopdf --version | grep -E "^wkhtmltopdf [0-9][.0-9]+\s+\(.+patched.+\)" \
&& wp --allow-root --version | grep -E '[0-9][.0-9]+' \
\ \
# -------------------- Composer -------------------- # -------------------- Composer --------------------
&& codecept --version 2>/dev/null | grep -E '^Codeception(\sversion)?\s[.0-9]+$' \ && codecept --version 2>/dev/null | grep -E '^Codeception(\sversion)?\s[0-9][.0-9]+$' \
\ \
# -------------------- PIP -------------------- # -------------------- PIP --------------------
&& ansible --version | grep -E '^ansible [.0-9]+$' \ && ansible --version | grep -E '^ansible [0-9][.0-9]+$' \
&& yamllint --version 2>&1 | grep -E '[.0-9]+' \ && yamllint --version 2>&1 | grep -E '[0-9][.0-9]+' \
&& yq --version 2>&1 | grep -E '^yq\s+[.0-9]+$' \ && yq --version 2>&1 | grep -E '^yq\s+[0-9][.0-9]+$' \
\ \
# -------------------- NPM -------------------- # -------------------- NPM --------------------
&& ng version 2>&1 | grep -iE 'Angular CLI:\s*[.0-9]+' \ && ng version 2>&1 | grep -iE 'Angular CLI:\s*[0-9][.0-9]+' \
&& eslint -v | grep -E '[.0-9]+' \ && eslint -v | grep -E '[0-9][.0-9]+' \
&& grunt --version | grep -E '[.0-9]+' \ && grunt --version | grep -E '[0-9][.0-9]+' \
&& gulp --version | grep -E '[.0-9]+' \ && gulp --version | grep -E '[0-9][.0-9]+' \
&& jsonlint --version | grep -E '[.0-9]+' \ && jsonlint --version | grep -E '[0-9][.0-9]+' \
&& pm2 --no-daemon --version | grep -E '[.0-9]+' \ && pm2 --no-daemon --version | tail -1 | grep -E '[0-9][.0-9]+' \
&& mdlint --version | grep -E '[.0-9]+' \ && mdlint --version | grep -E '[0-9][.0-9]+' \
&& vue --version | grep -E '[.0-9]+' \ && sass --version | grep -E '[0-9][.0-9]+' \
&& webpack --version | grep -E '[.0-9]+' \ && stylelint --version | grep -E '[0-9][.0-9]+' \
&& vue --version | grep -E '[0-9][.0-9]+' \
&& webpack --version | grep -E '[0-9][.0-9]+' \
\ \
# -------------------- GEM -------------------- # -------------------- GEM --------------------
&& mdl --version | grep -E '[.0-9]+' \ && mdl --version | grep -E '[0-9][.0-9]+' \
&& sass --version | grep -E '[.0-9]+' \
\ \
# -------------------- Cleanup -------------------- # -------------------- Cleanup --------------------
&& rm -rf /home/devilbox/.cache/ \
&& rm -rf /home/devilbox/.config/ \ && rm -rf /home/devilbox/.config/ \
&& rm -rf /root/.ansible \ && rm -rf /root/.ansible \
&& rm -rf /root/.console \ && rm -rf /root/.console \

View File

@@ -41,15 +41,15 @@ RUN set -eux \
\ \
&& echo 'Acquire::Check-Valid-Until no;' > /etc/apt/apt.conf.d/99no-check-valid-until \ && echo 'Acquire::Check-Valid-Until no;' > /etc/apt/apt.conf.d/99no-check-valid-until \
&& echo "deb http://archive.debian.org/debian jessie-backports main" > /etc/apt/sources.list.d/backports.list \ && echo "deb http://archive.debian.org/debian jessie-backports main" > /etc/apt/sources.list.d/backports.list \
&& curl -sS "https://packages.blackfire.io/gpg.key" 2>/dev/null | APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key add - \ && curl -sS -L --fail "https://packages.blackfire.io/gpg.key" 2>/dev/null | APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key add - \
&& echo "deb http://packages.blackfire.io/debian any main" > /etc/apt/sources.list.d/blackfire.list \ && echo "deb http://packages.blackfire.io/debian any main" > /etc/apt/sources.list.d/blackfire.list \
&& APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv A1715D88E1DF1F24 \ && APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv A1715D88E1DF1F24 \
&& echo "deb http://ppa.launchpad.net/git-core/ppa/ubuntu wily main" > /etc/apt/sources.list.d/git.list \ && echo "deb http://ppa.launchpad.net/git-core/ppa/ubuntu wily main" > /etc/apt/sources.list.d/git.list \
&& APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 2930ADAE8CAF5059EE73BB4B58712A2291FA4AD5 \ && APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 2930ADAE8CAF5059EE73BB4B58712A2291FA4AD5 \
&& echo "deb http://repo.mongodb.org/apt/debian jessie/mongodb-org/3.6 main" > /etc/apt/sources.list.d/mongo.list \ && echo "deb http://repo.mongodb.org/apt/debian jessie/mongodb-org/3.6 main" > /etc/apt/sources.list.d/mongo.list \
&& curl -sS https://www.postgresql.org/media/keys/ACCC4CF8.asc 2>/dev/null | APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key add - \ && curl -sS -L --fail https://www.postgresql.org/media/keys/ACCC4CF8.asc 2>/dev/null | APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key add - \
&& echo "deb http://apt.postgresql.org/pub/repos/apt/ jessie-pgdg main" > /etc/apt/sources.list.d/pgsql.list \ && echo "deb http://apt.postgresql.org/pub/repos/apt/ jessie-pgdg main" > /etc/apt/sources.list.d/pgsql.list \
&& curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg 2>/dev/null | APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key add - \ && curl -sS -L --fail https://dl.yarnpkg.com/debian/pubkey.gpg 2>/dev/null | APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key add - \
&& echo "deb http://dl.yarnpkg.com/debian/ stable main" > /etc/apt/sources.list.d/yarn.list \ && echo "deb http://dl.yarnpkg.com/debian/ stable main" > /etc/apt/sources.list.d/yarn.list \
\ \
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \ && DEBIAN_FRONTEND=noninteractive apt-get update -qq \
@@ -74,6 +74,7 @@ RUN set -eux \
git-svn \ git-svn \
ghostscript \ ghostscript \
graphviz \ graphviz \
gsfonts \
hostname \ hostname \
htop \ htop \
imagemagick \ imagemagick \
@@ -89,6 +90,8 @@ RUN set -eux \
mongodb-org-tools \ mongodb-org-tools \
moreutils \ moreutils \
mysql-client \ mysql-client \
mupdf \
mupdf-tools \
nano \ nano \
net-tools \ net-tools \
netcat \ netcat \
@@ -129,7 +132,7 @@ RUN set -eux \
### ###
RUN set -eux \ RUN set -eux \
# -------------------- composer -------------------- # -------------------- composer --------------------
&& curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer \ && curl -sS -L --fail https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer \
\ \
# -------------------- pip -------------------- # -------------------- pip --------------------
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \ && DEBIAN_FRONTEND=noninteractive apt-get update -qq \
@@ -138,7 +141,7 @@ RUN set -eux \
&& DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \ && DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \
&& rm -rf /var/lib/apt/lists/* \ && rm -rf /var/lib/apt/lists/* \
\ \
&& curl -sS https://bootstrap.pypa.io/get-pip.py | python \ && curl -sS -L --fail https://bootstrap.pypa.io/get-pip.py | python \
\ \
\ \
# -------------------- nvm -------------------- # -------------------- nvm --------------------
@@ -170,7 +173,7 @@ RUN set -eux \
\ \
\ \
# -------------------- deployer -------------------- # -------------------- deployer --------------------
&& curl -sS https://deployer.org/releases/v4.3.4/deployer.phar -L -o /usr/local/bin/dep \ && curl -sS -L --fail https://deployer.org/releases/v4.3.4/deployer.phar -L -o /usr/local/bin/dep \
&& chmod +x /usr/local/bin/dep \ && chmod +x /usr/local/bin/dep \
\ \
# -------------------- drush7 -------------------- # -------------------- drush7 --------------------
@@ -179,7 +182,7 @@ RUN set -eux \
&& git checkout 7.4.0 \ && git checkout 7.4.0 \
\ \
&& chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/drush7 \ && chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/drush7 \
&& su - ${MY_USER} -c 'PATH=/usr/local/bin:$PATH; cd /usr/local/src/drush7 && composer install --no-interaction --no-progress --no-dev' \ && su - ${MY_USER} -c 'PATH=/usr/local/bin:$PATH; cd /usr/local/src/drush7 && COMPOSER_MEMORY_LIMIT=-1 /usr/local/bin/composer install --no-interaction --no-progress --no-dev' \
&& ln -s /usr/local/src/drush7/drush /usr/local/bin/drush7 \ && ln -s /usr/local/src/drush7/drush /usr/local/bin/drush7 \
&& rm -rf /usr/local/src/drush7/.git \ && rm -rf /usr/local/src/drush7/.git \
&& rm -rf /usr/local/src/drush7/docs \ && rm -rf /usr/local/src/drush7/docs \
@@ -193,7 +196,7 @@ RUN set -eux \
&& git checkout $( git for-each-ref --format='%(*creatordate:raw)%(creatordate:raw) %(refname)' refs/tags | sort -n | grep -E 'tags/8[.0-9]+$' | tail -1 | sed 's|.*/||g' ) \ && git checkout $( git for-each-ref --format='%(*creatordate:raw)%(creatordate:raw) %(refname)' refs/tags | sort -n | grep -E 'tags/8[.0-9]+$' | tail -1 | sed 's|.*/||g' ) \
\ \
&& chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/drush8 \ && chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/drush8 \
&& su - ${MY_USER} -c 'PATH=/usr/local/bin:$PATH; cd /usr/local/src/drush8 && composer install --no-interaction --no-progress --no-dev' \ && su - ${MY_USER} -c 'PATH=/usr/local/bin:$PATH; cd /usr/local/src/drush8 && COMPOSER_MEMORY_LIMIT=-1 /usr/local/bin/composer install --no-interaction --no-progress --no-dev' \
&& ln -s /usr/local/src/drush8/drush /usr/local/bin/drush8 \ && ln -s /usr/local/src/drush8/drush /usr/local/bin/drush8 \
&& rm -rf /usr/local/src/drush8/.git \ && rm -rf /usr/local/src/drush8/.git \
&& rm -rf /usr/local/src/drush8/docs \ && rm -rf /usr/local/src/drush8/docs \
@@ -202,7 +205,8 @@ RUN set -eux \
\ \
\ \
# -------------------- drupalconsole -------------------- # -------------------- drupalconsole --------------------
&& curl https://drupalconsole.com/installer -L -o /usr/local/bin/drupal \ && DURL="https://github.com$(curl -sS 'https://github.com/hechoendrupal/drupal-console-launcher/releases' | grep -Eo 'href="/.+drupal.phar"' | head -1 | sed 's/^href="//g' | sed 's/"$//g')" \
&& curl -sS -L --fail "${DURL}" -L -o /usr/local/bin/drupal \
&& chmod +x /usr/local/bin/drupal \ && chmod +x /usr/local/bin/drupal \
\ \
# -------------------- gitflow -------------------- # -------------------- gitflow --------------------
@@ -218,13 +222,13 @@ RUN set -eux \
&& git checkout v2.0.0 \ && git checkout v2.0.0 \
\ \
&& chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/laravel-installer \ && chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/laravel-installer \
&& su - ${MY_USER} -c 'PATH=/usr/local/bin:$PATH; cd /usr/local/src/laravel-installer && composer install --no-interaction --no-progress --no-dev' \ && su - ${MY_USER} -c 'PATH=/usr/local/bin:$PATH; cd /usr/local/src/laravel-installer && COMPOSER_MEMORY_LIMIT=-1 /usr/local/bin/composer install --no-interaction --no-progress --no-dev' \
&& rm -rf /usr/local/src/laravel-installer/laravel/.git \ && rm -rf /usr/local/src/laravel-installer/laravel/.git \
\ \
&& ln -s /usr/local/src/laravel-installer/laravel /usr/local/bin/laravel \ && ln -s /usr/local/src/laravel-installer/laravel /usr/local/bin/laravel \
\ \
# -------------------- linkcheck -------------------- # -------------------- linkcheck --------------------
&& curl https://raw.githubusercontent.com/cytopia/linkcheck/master/linkcheck > /usr/local/bin/linkcheck \ && curl -sS -L --fail https://raw.githubusercontent.com/cytopia/linkcheck/master/linkcheck > /usr/local/bin/linkcheck \
&& chmod +x /usr/local/bin/linkcheck \ && chmod +x /usr/local/bin/linkcheck \
\ \
\ \
@@ -241,7 +245,7 @@ RUN set -eux \
\ \
\ \
# -------------------- mhsendmail -------------------- # -------------------- mhsendmail --------------------
&& wget https://github.com/mailhog/mhsendmail/releases/download/v0.2.0/mhsendmail_linux_amd64 \ && curl -sS -L --fail https://github.com/devilbox/mhsendmail/releases/download/v0.3.0/mhsendmail_linux_amd64 > mhsendmail_linux_amd64 \
&& chmod +x mhsendmail_linux_amd64 \ && chmod +x mhsendmail_linux_amd64 \
&& mv mhsendmail_linux_amd64 /usr/local/bin/mhsendmail \ && mv mhsendmail_linux_amd64 /usr/local/bin/mhsendmail \
\ \
@@ -272,46 +276,53 @@ RUN set -eux \
# -------------------- phalcon -------------------- # -------------------- phalcon --------------------
&& git clone https://github.com/phalcon/phalcon-devtools /usr/local/src/phalcon-devtools \ && git clone https://github.com/phalcon/phalcon-devtools /usr/local/src/phalcon-devtools \
&& cd /usr/local/src/phalcon-devtools \ && cd /usr/local/src/phalcon-devtools \
&& git checkout $(git describe --abbrev=0 --tags) \ && git checkout v3.4.11 \
\ \
&& chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/phalcon-devtools \ && chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/phalcon-devtools \
&& su - ${MY_USER} -c 'cd /usr/local/src/phalcon-devtools && ./phalcon.sh' \ && su - ${MY_USER} -c 'cd /usr/local/src/phalcon-devtools && ./phalcon.sh' \
&& ln -sf /usr/local/src/phalcon-devtools/phalcon /usr/local/bin/phalcon \ && ln -sf /usr/local/src/phalcon-devtools/phalcon /usr/local/bin/phalcon \
&& chmod +x phalcon \ && chmod +x /usr/local/bin/phalcon \
&& cd / \ && cd / \
&& rm -rf /usr/local/src/phalcon-devtools/.git \ && rm -rf /usr/local/src/phalcon-devtools/.git \
\ \
\ \
# -------------------- phpcs -------------------- # -------------------- phpcs --------------------
&& curl -sS -L https://squizlabs.github.io/PHP_CodeSniffer/phpcs.phar > /usr/local/bin/phpcs 2>/dev/null \ && curl -sS -L --fail https://squizlabs.github.io/PHP_CodeSniffer/phpcs.phar > /usr/local/bin/phpcs 2>/dev/null \
&& chmod +x /usr/local/bin/phpcs \ && chmod +x /usr/local/bin/phpcs \
\ \
\ \
# -------------------- phpcbf -------------------- # -------------------- phpcbf --------------------
&& curl -sS -L https://squizlabs.github.io/PHP_CodeSniffer/phpcbf.phar > /usr/local/bin/phpcbf 2>/dev/null \ && curl -sS -L --fail https://squizlabs.github.io/PHP_CodeSniffer/phpcbf.phar > /usr/local/bin/phpcbf 2>/dev/null \
&& chmod +x /usr/local/bin/phpcbf \ && chmod +x /usr/local/bin/phpcbf \
\ \
\ \
# -------------------- php-cs-fixer -------------------- # -------------------- php-cs-fixer --------------------
&& curl -sS -L https://github.com/FriendsOfPHP/PHP-CS-Fixer/releases/download/v2.2.19/php-cs-fixer.phar > /usr/local/bin/php-cs-fixer 2>/dev/null \ && curl -sS -L --fail https://github.com/FriendsOfPHP/PHP-CS-Fixer/releases/download/v2.2.19/php-cs-fixer.phar > /usr/local/bin/php-cs-fixer 2>/dev/null \
&& chmod +x /usr/local/bin/php-cs-fixer \ && chmod +x /usr/local/bin/php-cs-fixer \
\ \
\ \
# -------------------- phpmd --------------------
&& curl -sS -L --fail https://phpmd.org/static/latest/phpmd.phar > phpmd.phar \
&& mv phpmd.phar /usr/local/bin/phpmd \
&& chmod +x /usr/local/bin/phpmd \
\
\
# -------------------- phpunit -------------------- # -------------------- phpunit --------------------
&& curl -qL https://phar.phpunit.de/phpunit-4.phar > /usr/local/bin/phpunit 2>/dev/null \ && curl -sS -L --fail https://phar.phpunit.de/phpunit-4.phar > /usr/local/bin/phpunit 2>/dev/null \
&& chmod +x /usr/local/bin/phpunit \ && chmod +x /usr/local/bin/phpunit \
\ \
\ \
# -------------------- symfony -------------------- # -------------------- symfony --------------------
&& curl https://symfony.com/installer -L -o /usr/local/bin/symfony \ && SYMFONY_VERSION="$( curl -sS -L --fail https://get.symfony.com/cli/LATEST )" \
&& curl -sS -L --fail "https://github.com/symfony/cli/releases/download/v${SYMFONY_VERSION}/symfony_linux_amd64" > /usr/local/bin/symfony \
&& chmod +x /usr/local/bin/symfony \ && chmod +x /usr/local/bin/symfony \
\ \
# -------------------- wkhtmltopdf -------------------- # -------------------- wkhtmltopdf --------------------
&& VERSION="$( curl -sSL https://github.com/wkhtmltopdf/wkhtmltopdf/releases | grep -Eo '/wkhtmltopdf/.+jessie_amd64\.deb' | head -1 )" \ && VERSION="$( curl -sSL -L --fail https://github.com/wkhtmltopdf/wkhtmltopdf/releases | grep -Eo '/wkhtmltopdf/.+jessie_amd64\.deb' | head -1 )" \
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \ && DEBIAN_FRONTEND=noninteractive apt-get update -qq \
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \ && DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
libfontenc1 libxfont1 xfonts-75dpi xfonts-base xfonts-encodings xfonts-utils \ libfontenc1 libxfont1 xfonts-75dpi xfonts-base xfonts-encodings xfonts-utils \
&& curl -sS -L -o /tmp/wkhtmltopdf.deb https://github.com/${VERSION} \ && curl -sS -L --fail -o /tmp/wkhtmltopdf.deb https://github.com/${VERSION} \
&& dpkg -i /tmp/wkhtmltopdf.deb \ && dpkg -i /tmp/wkhtmltopdf.deb \
&& rm -f /tmp/wkhtmltopdf.deb \ && rm -f /tmp/wkhtmltopdf.deb \
\ \
@@ -320,7 +331,7 @@ RUN set -eux \
\ \
\ \
# -------------------- wpcli -------------------- # -------------------- wpcli --------------------
&& curl https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar -L -o /usr/local/bin/wp \ && curl -sS -L --fail https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar -L -o /usr/local/bin/wp \
&& chmod +x /usr/local/bin/wp \ && chmod +x /usr/local/bin/wp \
\ \
# -------------------- cleanup -------------------- # -------------------- cleanup --------------------
@@ -366,23 +377,23 @@ RUN set -eux \
### ###
RUN set -eux \ RUN set -eux \
# -------------------- asgardcms -------------------- # -------------------- asgardcms --------------------
&& COMPOSER_HOME="/usr/local/src/composer" composer global require asgardcms/asgardcms-installer \ && COMPOSER_HOME="/usr/local/src/composer" COMPOSER_MEMORY_LIMIT=-1 /usr/local/bin/composer global require asgardcms/asgardcms-installer \
&& ln -s /usr/local/src/composer/vendor/asgardcms/asgardcms-installer/asgardcms /usr/local/bin/ \ && ln -s /usr/local/src/composer/vendor/asgardcms/asgardcms-installer/asgardcms /usr/local/bin/ \
\ \
# -------------------- codeception -------------------- # -------------------- codeception --------------------
&& COMPOSER_HOME="/usr/local/src/composer" composer global require codeception/codeception \ && COMPOSER_HOME="/usr/local/src/composer" COMPOSER_MEMORY_LIMIT=-1 /usr/local/bin/composer global require codeception/codeception \
&& ln -s /usr/local/src/composer/vendor/codeception/codeception/codecept /usr/local/bin/ \ && ln -s /usr/local/src/composer/vendor/codeception/codeception/codecept /usr/local/bin/ \
\ \
# -------------------- lumen -------------------- # -------------------- lumen --------------------
&& COMPOSER_HOME="/usr/local/src/composer" composer global require laravel/lumen-installer \ && COMPOSER_HOME="/usr/local/src/composer" COMPOSER_MEMORY_LIMIT=-1 /usr/local/bin/composer global require laravel/lumen-installer \
&& ln -s /usr/local/src/composer/vendor/laravel/lumen-installer/lumen /usr/local/bin/ \ && ln -s /usr/local/src/composer/vendor/laravel/lumen-installer/lumen /usr/local/bin/ \
\ \
# -------------------- photon -------------------- # -------------------- photon --------------------
&& COMPOSER_HOME="/usr/local/src/composer" composer global require photoncms/installer \ && COMPOSER_HOME="/usr/local/src/composer" COMPOSER_MEMORY_LIMIT=-1 /usr/local/bin/composer global require photoncms/installer \
&& ln -s /usr/local/src/composer/vendor/photoncms/installer/photon /usr/local/bin/ \ && ln -s /usr/local/src/composer/vendor/photoncms/installer/photon /usr/local/bin/ \
\ \
# -------------------- prestissimo -------------------- # -------------------- prestissimo --------------------
&& COMPOSER_HOME="/usr/local/src/composer" composer global require hirak/prestissimo \ && COMPOSER_HOME="/usr/local/src/composer" COMPOSER_MEMORY_LIMIT=-1 /usr/local/bin/composer global require hirak/prestissimo \
\ \
\ \
&& rm -rf /tmp/* \ && rm -rf /tmp/* \
@@ -398,40 +409,46 @@ RUN set -eux \
### ###
RUN set -eux \ RUN set -eux \
# -------------------- angular_cli -------------------- # -------------------- angular_cli --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g @angular/cli' devilbox \ && su -c '. /opt/nvm/nvm.sh; npm install -g --force @angular/cli' devilbox \
\ \
# -------------------- eslint -------------------- # -------------------- eslint --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g eslint' devilbox \ && su -c '. /opt/nvm/nvm.sh; npm install -g --force eslint' devilbox \
\ \
# -------------------- grunt -------------------- # -------------------- grunt --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g grunt' devilbox \ && su -c '. /opt/nvm/nvm.sh; npm install -g --force grunt' devilbox \
\ \
# -------------------- grunt_cli -------------------- # -------------------- grunt_cli --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g grunt-cli' devilbox \ && su -c '. /opt/nvm/nvm.sh; npm install -g --force grunt-cli' devilbox \
\ \
# -------------------- gulp -------------------- # -------------------- gulp --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g gulp' devilbox \ && su -c '. /opt/nvm/nvm.sh; npm install -g --force gulp' devilbox \
\ \
# -------------------- jsonlint -------------------- # -------------------- jsonlint --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g jsonlint' devilbox \ && su -c '. /opt/nvm/nvm.sh; npm install -g --force jsonlint' devilbox \
\ \
# -------------------- pm2 -------------------- # -------------------- pm2 --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g pm2' devilbox \ && su -c '. /opt/nvm/nvm.sh; npm install -g --force pm2' devilbox \
\ \
# -------------------- mdlint -------------------- # -------------------- mdlint --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g mdlint' devilbox \ && su -c '. /opt/nvm/nvm.sh; npm install -g --force mdlint' devilbox \
\
# -------------------- sass --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force sass' devilbox \
\
# -------------------- stylelint --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force stylelint' devilbox \
\ \
# -------------------- vue_cli -------------------- # -------------------- vue_cli --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g @vue/cli' devilbox \ && su -c '. /opt/nvm/nvm.sh; npm install -g --force @vue/cli' devilbox \
\ \
# -------------------- vue_cli_service_global -------------------- # -------------------- vue_cli_service_global --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g @vue/cli-service-global' devilbox \ && su -c '. /opt/nvm/nvm.sh; npm install -g --force @vue/cli-service-global' devilbox \
\ \
# -------------------- webpack -------------------- # -------------------- webpack --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g webpack' devilbox \ && su -c '. /opt/nvm/nvm.sh; npm install -g --force webpack' devilbox \
\ \
# -------------------- webpack_cli -------------------- # -------------------- webpack_cli --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g webpack-cli' devilbox \ && su -c '. /opt/nvm/nvm.sh; npm install -g --force webpack-cli' devilbox \
\ \
\ \
&& ln -sf $(dirname $(su -c '. /opt/nvm/nvm.sh; nvm which current' devilbox))/* /usr/local/bin/ \ && ln -sf $(dirname $(su -c '. /opt/nvm/nvm.sh; nvm which current' devilbox))/* /usr/local/bin/ \
@@ -439,6 +456,7 @@ RUN set -eux \
&& su -c '. /opt/nvm/nvm.sh; npm cache clear --force' devilbox \ && su -c '. /opt/nvm/nvm.sh; npm cache clear --force' devilbox \
&& su -c '. /opt/nvm/nvm.sh; nvm cache clear --force' devilbox \ && su -c '. /opt/nvm/nvm.sh; nvm cache clear --force' devilbox \
&& rm -rf /home/devilbox/.npm \ && rm -rf /home/devilbox/.npm \
&& rm -rf /home/devilbox/.cache \
&& rm -rf /home/devilbox/.config \ && rm -rf /home/devilbox/.config \
&& rm -rf /tmp/* \ && rm -rf /tmp/* \
&& (rm -rf /tmp/.* || true) \ && (rm -rf /tmp/.* || true) \
@@ -453,18 +471,15 @@ RUN set -eux \
# -------------------- mixlib_config -------------------- # -------------------- mixlib_config --------------------
&& gem install mixlib-config -v 2.2.4 \ && gem install mixlib-config -v 2.2.4 \
\ \
# -------------------- ffi --------------------
&& gem install ffi -v 1.12.2 \
\
# -------------------- rb_inotify -------------------- # -------------------- rb_inotify --------------------
&& gem install rb-inotify -v 0.9.10 \ && gem install rb-inotify -v 0.9.10 \
\ \
# -------------------- mdl -------------------- # -------------------- mdl --------------------
&& gem install mdl -v 0.5.0 \ && gem install mdl -v 0.5.0 \
\ \
# -------------------- scss_lint --------------------
&& gem install scss_lint -v 0.57.1 \
\
# -------------------- sass --------------------
&& gem install sass \
\
\ \
&& rm -rf /root/.gem \ && rm -rf /root/.gem \
&& rm -rf /tmp/* \ && rm -rf /tmp/* \
@@ -480,13 +495,13 @@ RUN set -eux \
### ###
RUN set -eux \ RUN set -eux \
# -------------------- ansible -------------------- # -------------------- ansible --------------------
&& pip install --no-cache-dir --force-reinstall ansible \ && pip install --no-cache-dir --force-reinstall ansible || true \
\ \
# -------------------- yamllint -------------------- # -------------------- yamllint --------------------
&& pip install --no-cache-dir --force-reinstall yamllint \ && pip install --no-cache-dir --force-reinstall yamllint || true \
\ \
# -------------------- yq -------------------- # -------------------- yq --------------------
&& pip install --no-cache-dir --force-reinstall yq \ && pip install --no-cache-dir --force-reinstall yq || true \
\ \
\ \
&& rm -rf /root/.cache/pip \ && rm -rf /root/.cache/pip \
@@ -539,54 +554,57 @@ RUN set -eux \
RUN set -eux \ RUN set -eux \
# -------------------- Software -------------------- # -------------------- Software --------------------
&& composer --version 2>/dev/null | grep -E 'version\s*[.0-9]+' \ && composer --version 2>/dev/null | grep -E 'version\s*[0-9][.0-9]+' \
&& su -c '. /opt/nvm/nvm.sh; nvm --version' devilbox | grep -E '^[.0-9]+' \ && su -c '. /opt/nvm/nvm.sh; nvm --version' devilbox | grep -E '^[0-9][.0-9]+' \
&& regex-grep --version | grep -E '[.0-9]+' \ && regex-grep --version | grep -E '[0-9][.0-9]+' \
&& dep --version 2>/dev/null | grep -Ei 'deployer\s*(version\s*)?[.0-9]+' \ && dep --version 2>/dev/null | grep -Ei 'deployer\s*(version\s*)?[0-9][.0-9]+' \
&& drush7 --version | grep -E '7[.0-9]+\s*$' \ && drush7 --version | grep -E '7[.0-9]+\s*$' \
&& drush8 --version | grep -E '8[.0-9]+\s*$' \ && drush8 --version | grep -E '8[.0-9]+\s*$' \
&& drupal --version | grep -E 'Drupal Console Launcher\s*[.0-9]' \ && drupal --version | grep -E 'Drupal Console Launcher\s*[0-9][.0-9]' \
&& git-flow version | grep -E '[.0-9]+' \ && git-flow version | grep -E '[0-9][.0-9]+' \
&& laravel --version | grep -E '(Installer|version)\s*[.0-9]+' \ && laravel --version | grep -E '(Installer|version)\s*[0-9][.0-9]+' \
&& linkcheck --version | grep -E '^linkcheck\sv[.0-9]+' \ && linkcheck --version | grep -E '^linkcheck\sv[0-9][.0-9]+' \
&& su - ${MY_USER} -c '/usr/local/src/linuxbrew/bin/brew --version' | grep -E 'Homebrew\s*[.0-9]+' \ && su - ${MY_USER} -c '/usr/local/src/linuxbrew/bin/brew --version' | grep -E 'Homebrew\s*[0-9][.0-9]+' \
&& mysqldump-secure --version | grep -E 'Version:\s*[.0-9]+' \ && mysqldump-secure --version | grep -E 'Version:\s*[0-9][.0-9]+' \
&& phalcon commands | grep -E '[.0-9]+' \ && phalcon commands | grep -E '[0-9][.0-9]+' \
&& phpcs --version | grep -E 'version [.0-9]+' \ && phpcs --version | grep -E 'version [0-9][.0-9]+' \
&& phpcbf --version | grep -E 'version [.0-9]+' \ && phpcbf --version | grep -E 'version [0-9][.0-9]+' \
&& php-cs-fixer --version 2>&1 | grep -E 'Fixer\s+(version\s*)?[-_.0-9]+\s+' \ && php-cs-fixer --version 2>&1 | grep -E 'Fixer\s+(version\s*)?[-_.0-9]+\s+' \
&& phpunit --version | grep -iE '^PHPUnit\s[.0-9]+' \ && phpmd --version | grep -E '^PHPMD [0-9][.0-9]+' \
&& symfony --version | grep -E 'version\s*[.0-9]+' \ && phpunit --version | grep -iE '^PHPUnit\s[0-9][.0-9]+' \
&& wkhtmltopdf --version | grep -E "^wkhtmltopdf [.0-9]+\s+\(.+patched.+\)" \ && symfony -V | grep -Ei 'version\s*.*v[0-9][.0-9]+' \
&& wp --allow-root --version | grep -E '[.0-9]+' \ && wkhtmltopdf --version | grep -E "^wkhtmltopdf [0-9][.0-9]+\s+\(.+patched.+\)" \
&& wp --allow-root --version | grep -E '[0-9][.0-9]+' \
\ \
# -------------------- Composer -------------------- # -------------------- Composer --------------------
&& asgardcms --version 2>/dev/null | grep -Ei 'AsgardCMS\sInstaller\s[.0-9]+' \ && asgardcms --version 2>/dev/null | grep -Ei 'AsgardCMS\sInstaller\s[0-9][.0-9]+' \
&& codecept --version 2>/dev/null | grep -E '^Codeception(\sversion)?\s[.0-9]+$' \ && codecept --version 2>/dev/null | grep -E '^Codeception(\sversion)?\s[0-9][.0-9]+$' \
&& lumen --version 2>/dev/null | grep -E '^Lumen Installer\s[.0-9]+$' \ && lumen --version 2>/dev/null | grep -E '^Lumen Installer\s[0-9][.0-9]+$' \
&& photon --version | grep -E 'Installer [.0-9]+' \ && photon --version | grep -E 'Installer [0-9][.0-9]+' \
\ \
# -------------------- PIP -------------------- # -------------------- PIP --------------------
&& ansible --version | grep -E '^ansible [.0-9]+$' \ && ansible --version | grep -E '^ansible [0-9][.0-9]+$' \
&& yamllint --version 2>&1 | grep -E '[.0-9]+' \ && yamllint --version 2>&1 | grep -E '[0-9][.0-9]+' \
&& yq --version 2>&1 | grep -E '^yq\s+[.0-9]+$' \ && yq --version 2>&1 | grep -E '^yq\s+[0-9][.0-9]+$' \
\ \
# -------------------- NPM -------------------- # -------------------- NPM --------------------
&& ng version 2>&1 | grep -iE 'Angular CLI:\s*[.0-9]+' \ && ng version 2>&1 | grep -iE 'Angular CLI:\s*[0-9][.0-9]+' \
&& eslint -v | grep -E '[.0-9]+' \ && eslint -v | grep -E '[0-9][.0-9]+' \
&& grunt --version | grep -E '[.0-9]+' \ && grunt --version | grep -E '[0-9][.0-9]+' \
&& gulp --version | grep -E '[.0-9]+' \ && gulp --version | grep -E '[0-9][.0-9]+' \
&& jsonlint --version | grep -E '[.0-9]+' \ && jsonlint --version | grep -E '[0-9][.0-9]+' \
&& pm2 --no-daemon --version | grep -E '[.0-9]+' \ && pm2 --no-daemon --version | tail -1 | grep -E '[0-9][.0-9]+' \
&& mdlint --version | grep -E '[.0-9]+' \ && mdlint --version | grep -E '[0-9][.0-9]+' \
&& vue --version | grep -E '[.0-9]+' \ && sass --version | grep -E '[0-9][.0-9]+' \
&& webpack --version | grep -E '[.0-9]+' \ && stylelint --version | grep -E '[0-9][.0-9]+' \
&& vue --version | grep -E '[0-9][.0-9]+' \
&& webpack --version | grep -E '[0-9][.0-9]+' \
\ \
# -------------------- GEM -------------------- # -------------------- GEM --------------------
&& mdl --version | grep -E '[.0-9]+' \ && mdl --version | grep -E '[0-9][.0-9]+' \
&& sass --version | grep -E '[.0-9]+' \
\ \
# -------------------- Cleanup -------------------- # -------------------- Cleanup --------------------
&& rm -rf /home/devilbox/.cache/ \
&& rm -rf /home/devilbox/.config/ \ && rm -rf /home/devilbox/.config/ \
&& rm -rf /root/.ansible \ && rm -rf /root/.ansible \
&& rm -rf /root/.console \ && rm -rf /root/.console \

View File

@@ -40,15 +40,15 @@ RUN set -eux \
gnupg \ gnupg \
\ \
&& echo "deb http://ftp.debian.org/debian stretch-backports main" > /etc/apt/sources.list.d/backports.list \ && echo "deb http://ftp.debian.org/debian stretch-backports main" > /etc/apt/sources.list.d/backports.list \
&& curl -sS "https://packages.blackfire.io/gpg.key" 2>/dev/null | APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key add - \ && curl -sS -L --fail "https://packages.blackfire.io/gpg.key" 2>/dev/null | APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key add - \
&& echo "deb http://packages.blackfire.io/debian any main" > /etc/apt/sources.list.d/blackfire.list \ && echo "deb http://packages.blackfire.io/debian any main" > /etc/apt/sources.list.d/blackfire.list \
&& APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv A1715D88E1DF1F24 \ && APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv A1715D88E1DF1F24 \
&& echo "deb http://ppa.launchpad.net/git-core/ppa/ubuntu wily main" > /etc/apt/sources.list.d/git.list \ && echo "deb http://ppa.launchpad.net/git-core/ppa/ubuntu wily main" > /etc/apt/sources.list.d/git.list \
&& APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 9DA31620334BD75D9DCB49F368818C72E52529D4 \ && APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 9DA31620334BD75D9DCB49F368818C72E52529D4 \
&& echo "deb http://repo.mongodb.org/apt/debian stretch/mongodb-org/4.0 main" > /etc/apt/sources.list.d/mongo.list \ && echo "deb http://repo.mongodb.org/apt/debian stretch/mongodb-org/4.0 main" > /etc/apt/sources.list.d/mongo.list \
&& curl -sS https://www.postgresql.org/media/keys/ACCC4CF8.asc 2>/dev/null | APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key add - \ && curl -sS -L --fail https://www.postgresql.org/media/keys/ACCC4CF8.asc 2>/dev/null | APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key add - \
&& echo "deb http://apt.postgresql.org/pub/repos/apt/ stretch-pgdg main" > /etc/apt/sources.list.d/pgsql.list \ && echo "deb http://apt.postgresql.org/pub/repos/apt/ stretch-pgdg main" > /etc/apt/sources.list.d/pgsql.list \
&& curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg 2>/dev/null | APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key add - \ && curl -sS -L --fail https://dl.yarnpkg.com/debian/pubkey.gpg 2>/dev/null | APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key add - \
&& echo "deb http://dl.yarnpkg.com/debian/ stable main" > /etc/apt/sources.list.d/yarn.list \ && echo "deb http://dl.yarnpkg.com/debian/ stable main" > /etc/apt/sources.list.d/yarn.list \
\ \
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \ && DEBIAN_FRONTEND=noninteractive apt-get update -qq \
@@ -62,6 +62,7 @@ RUN set -eux \
blackfire-agent \ blackfire-agent \
build-essential \ build-essential \
bzip2 \ bzip2 \
certbot \
coreutils \ coreutils \
dnsutils \ dnsutils \
dos2unix \ dos2unix \
@@ -73,6 +74,7 @@ RUN set -eux \
git-svn \ git-svn \
ghostscript \ ghostscript \
graphviz \ graphviz \
gsfonts \
hostname \ hostname \
htop \ htop \
imagemagick \ imagemagick \
@@ -88,6 +90,8 @@ RUN set -eux \
mongodb-org-tools \ mongodb-org-tools \
moreutils \ moreutils \
mysql-client \ mysql-client \
mupdf \
mupdf-tools \
nano \ nano \
net-tools \ net-tools \
netcat \ netcat \
@@ -128,7 +132,7 @@ RUN set -eux \
### ###
RUN set -eux \ RUN set -eux \
# -------------------- composer -------------------- # -------------------- composer --------------------
&& curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer \ && curl -sS -L --fail https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer \
\ \
# -------------------- pip -------------------- # -------------------- pip --------------------
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \ && DEBIAN_FRONTEND=noninteractive apt-get update -qq \
@@ -137,7 +141,7 @@ RUN set -eux \
&& DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \ && DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \
&& rm -rf /var/lib/apt/lists/* \ && rm -rf /var/lib/apt/lists/* \
\ \
&& curl -sS https://bootstrap.pypa.io/get-pip.py | python \ && curl -sS -L --fail https://bootstrap.pypa.io/get-pip.py | python \
\ \
\ \
# -------------------- nvm -------------------- # -------------------- nvm --------------------
@@ -169,7 +173,7 @@ RUN set -eux \
\ \
\ \
# -------------------- deployer -------------------- # -------------------- deployer --------------------
&& curl -sS https://deployer.org/releases/v4.3.4/deployer.phar -L -o /usr/local/bin/dep \ && curl -sS -L --fail https://deployer.org/releases/v4.3.4/deployer.phar -L -o /usr/local/bin/dep \
&& chmod +x /usr/local/bin/dep \ && chmod +x /usr/local/bin/dep \
\ \
# -------------------- drush7 -------------------- # -------------------- drush7 --------------------
@@ -178,7 +182,7 @@ RUN set -eux \
&& git checkout 7.4.0 \ && git checkout 7.4.0 \
\ \
&& chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/drush7 \ && chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/drush7 \
&& su - ${MY_USER} -c 'PATH=/usr/local/bin:$PATH; cd /usr/local/src/drush7 && composer install --no-interaction --no-progress --no-dev' \ && su - ${MY_USER} -c 'PATH=/usr/local/bin:$PATH; cd /usr/local/src/drush7 && COMPOSER_MEMORY_LIMIT=-1 /usr/local/bin/composer install --no-interaction --no-progress --no-dev' \
&& ln -s /usr/local/src/drush7/drush /usr/local/bin/drush7 \ && ln -s /usr/local/src/drush7/drush /usr/local/bin/drush7 \
&& rm -rf /usr/local/src/drush7/.git \ && rm -rf /usr/local/src/drush7/.git \
&& rm -rf /usr/local/src/drush7/docs \ && rm -rf /usr/local/src/drush7/docs \
@@ -192,7 +196,7 @@ RUN set -eux \
&& git checkout $( git for-each-ref --format='%(*creatordate:raw)%(creatordate:raw) %(refname)' refs/tags | sort -n | grep -E 'tags/8[.0-9]+$' | tail -1 | sed 's|.*/||g' ) \ && git checkout $( git for-each-ref --format='%(*creatordate:raw)%(creatordate:raw) %(refname)' refs/tags | sort -n | grep -E 'tags/8[.0-9]+$' | tail -1 | sed 's|.*/||g' ) \
\ \
&& chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/drush8 \ && chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/drush8 \
&& su - ${MY_USER} -c 'PATH=/usr/local/bin:$PATH; cd /usr/local/src/drush8 && composer install --no-interaction --no-progress --no-dev' \ && su - ${MY_USER} -c 'PATH=/usr/local/bin:$PATH; cd /usr/local/src/drush8 && COMPOSER_MEMORY_LIMIT=-1 /usr/local/bin/composer install --no-interaction --no-progress --no-dev' \
&& ln -s /usr/local/src/drush8/drush /usr/local/bin/drush8 \ && ln -s /usr/local/src/drush8/drush /usr/local/bin/drush8 \
&& rm -rf /usr/local/src/drush8/.git \ && rm -rf /usr/local/src/drush8/.git \
&& rm -rf /usr/local/src/drush8/docs \ && rm -rf /usr/local/src/drush8/docs \
@@ -206,7 +210,7 @@ RUN set -eux \
&& git checkout $( git for-each-ref --format='%(*creatordate:raw)%(creatordate:raw) %(refname)' refs/tags | sort -n | grep -E 'tags/9[.0-9]+$' | tail -1 | sed 's|.*/||g' ) \ && git checkout $( git for-each-ref --format='%(*creatordate:raw)%(creatordate:raw) %(refname)' refs/tags | sort -n | grep -E 'tags/9[.0-9]+$' | tail -1 | sed 's|.*/||g' ) \
\ \
&& chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/drush9 \ && chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/drush9 \
&& su - ${MY_USER} -c 'PATH=/usr/local/bin:$PATH; cd /usr/local/src/drush9 && php -d memory_limit=-1 `which composer` install --no-interaction --no-progress' \ && su - ${MY_USER} -c 'PATH=/usr/local/bin:$PATH; cd /usr/local/src/drush9 && COMPOSER_MEMORY_LIMIT=-1 /usr/local/bin/composer install --no-interaction --no-progress' \
&& ln -s /usr/local/src/drush9/drush /usr/local/bin/drush9 \ && ln -s /usr/local/src/drush9/drush /usr/local/bin/drush9 \
&& rm -rf /usr/local/src/drush9/.git \ && rm -rf /usr/local/src/drush9/.git \
&& rm -rf /usr/local/src/drush9/docs \ && rm -rf /usr/local/src/drush9/docs \
@@ -215,7 +219,8 @@ RUN set -eux \
\ \
\ \
# -------------------- drupalconsole -------------------- # -------------------- drupalconsole --------------------
&& curl https://drupalconsole.com/installer -L -o /usr/local/bin/drupal \ && DURL="https://github.com$(curl -sS 'https://github.com/hechoendrupal/drupal-console-launcher/releases' | grep -Eo 'href="/.+drupal.phar"' | head -1 | sed 's/^href="//g' | sed 's/"$//g')" \
&& curl -sS -L --fail "${DURL}" -L -o /usr/local/bin/drupal \
&& chmod +x /usr/local/bin/drupal \ && chmod +x /usr/local/bin/drupal \
\ \
# -------------------- gitflow -------------------- # -------------------- gitflow --------------------
@@ -231,13 +236,13 @@ RUN set -eux \
&& git checkout v2.0.0 \ && git checkout v2.0.0 \
\ \
&& chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/laravel-installer \ && chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/laravel-installer \
&& su - ${MY_USER} -c 'PATH=/usr/local/bin:$PATH; cd /usr/local/src/laravel-installer && composer install --no-interaction --no-progress --no-dev' \ && su - ${MY_USER} -c 'PATH=/usr/local/bin:$PATH; cd /usr/local/src/laravel-installer && COMPOSER_MEMORY_LIMIT=-1 /usr/local/bin/composer install --no-interaction --no-progress --no-dev' \
&& rm -rf /usr/local/src/laravel-installer/laravel/.git \ && rm -rf /usr/local/src/laravel-installer/laravel/.git \
\ \
&& ln -s /usr/local/src/laravel-installer/laravel /usr/local/bin/laravel \ && ln -s /usr/local/src/laravel-installer/laravel /usr/local/bin/laravel \
\ \
# -------------------- linkcheck -------------------- # -------------------- linkcheck --------------------
&& curl https://raw.githubusercontent.com/cytopia/linkcheck/master/linkcheck > /usr/local/bin/linkcheck \ && curl -sS -L --fail https://raw.githubusercontent.com/cytopia/linkcheck/master/linkcheck > /usr/local/bin/linkcheck \
&& chmod +x /usr/local/bin/linkcheck \ && chmod +x /usr/local/bin/linkcheck \
\ \
\ \
@@ -254,7 +259,7 @@ RUN set -eux \
\ \
\ \
# -------------------- mhsendmail -------------------- # -------------------- mhsendmail --------------------
&& wget https://github.com/mailhog/mhsendmail/releases/download/v0.2.0/mhsendmail_linux_amd64 \ && curl -sS -L --fail https://github.com/devilbox/mhsendmail/releases/download/v0.3.0/mhsendmail_linux_amd64 > mhsendmail_linux_amd64 \
&& chmod +x mhsendmail_linux_amd64 \ && chmod +x mhsendmail_linux_amd64 \
&& mv mhsendmail_linux_amd64 /usr/local/bin/mhsendmail \ && mv mhsendmail_linux_amd64 /usr/local/bin/mhsendmail \
\ \
@@ -285,46 +290,53 @@ RUN set -eux \
# -------------------- phalcon -------------------- # -------------------- phalcon --------------------
&& git clone https://github.com/phalcon/phalcon-devtools /usr/local/src/phalcon-devtools \ && git clone https://github.com/phalcon/phalcon-devtools /usr/local/src/phalcon-devtools \
&& cd /usr/local/src/phalcon-devtools \ && cd /usr/local/src/phalcon-devtools \
&& git checkout $(git describe --abbrev=0 --tags) \ && git checkout v3.4.11 \
\ \
&& chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/phalcon-devtools \ && chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/phalcon-devtools \
&& su - ${MY_USER} -c 'cd /usr/local/src/phalcon-devtools && ./phalcon.sh' \ && su - ${MY_USER} -c 'cd /usr/local/src/phalcon-devtools && ./phalcon.sh' \
&& ln -sf /usr/local/src/phalcon-devtools/phalcon /usr/local/bin/phalcon \ && ln -sf /usr/local/src/phalcon-devtools/phalcon /usr/local/bin/phalcon \
&& chmod +x phalcon \ && chmod +x /usr/local/bin/phalcon \
&& cd / \ && cd / \
&& rm -rf /usr/local/src/phalcon-devtools/.git \ && rm -rf /usr/local/src/phalcon-devtools/.git \
\ \
\ \
# -------------------- phpcs -------------------- # -------------------- phpcs --------------------
&& curl -sS -L https://squizlabs.github.io/PHP_CodeSniffer/phpcs.phar > /usr/local/bin/phpcs 2>/dev/null \ && curl -sS -L --fail https://squizlabs.github.io/PHP_CodeSniffer/phpcs.phar > /usr/local/bin/phpcs 2>/dev/null \
&& chmod +x /usr/local/bin/phpcs \ && chmod +x /usr/local/bin/phpcs \
\ \
\ \
# -------------------- phpcbf -------------------- # -------------------- phpcbf --------------------
&& curl -sS -L https://squizlabs.github.io/PHP_CodeSniffer/phpcbf.phar > /usr/local/bin/phpcbf 2>/dev/null \ && curl -sS -L --fail https://squizlabs.github.io/PHP_CodeSniffer/phpcbf.phar > /usr/local/bin/phpcbf 2>/dev/null \
&& chmod +x /usr/local/bin/phpcbf \ && chmod +x /usr/local/bin/phpcbf \
\ \
\ \
# -------------------- php-cs-fixer -------------------- # -------------------- php-cs-fixer --------------------
&& curl -sS -L https://cs.symfony.com/download/php-cs-fixer-v2.phar > /usr/local/bin/php-cs-fixer 2>/dev/null \ && curl -sS -L --fail https://cs.symfony.com/download/php-cs-fixer-v2.phar > /usr/local/bin/php-cs-fixer 2>/dev/null \
&& chmod +x /usr/local/bin/php-cs-fixer \ && chmod +x /usr/local/bin/php-cs-fixer \
\ \
\ \
# -------------------- phpmd --------------------
&& curl -sS -L --fail https://phpmd.org/static/latest/phpmd.phar > phpmd.phar \
&& mv phpmd.phar /usr/local/bin/phpmd \
&& chmod +x /usr/local/bin/phpmd \
\
\
# -------------------- phpunit -------------------- # -------------------- phpunit --------------------
&& curl -qL https://phar.phpunit.de/phpunit-5.phar > /usr/local/bin/phpunit 2>/dev/null \ && curl -sS -L --fail https://phar.phpunit.de/phpunit-5.phar > /usr/local/bin/phpunit 2>/dev/null \
&& chmod +x /usr/local/bin/phpunit \ && chmod +x /usr/local/bin/phpunit \
\ \
\ \
# -------------------- symfony -------------------- # -------------------- symfony --------------------
&& curl https://symfony.com/installer -L -o /usr/local/bin/symfony \ && SYMFONY_VERSION="$( curl -sS -L --fail https://get.symfony.com/cli/LATEST )" \
&& curl -sS -L --fail "https://github.com/symfony/cli/releases/download/v${SYMFONY_VERSION}/symfony_linux_amd64" > /usr/local/bin/symfony \
&& chmod +x /usr/local/bin/symfony \ && chmod +x /usr/local/bin/symfony \
\ \
# -------------------- wkhtmltopdf -------------------- # -------------------- wkhtmltopdf --------------------
&& VERSION="$( curl -sSL https://github.com/wkhtmltopdf/wkhtmltopdf/releases | grep -Eo '/wkhtmltopdf/.+stretch_amd64\.deb' | head -1 )" \ && VERSION="$( curl -sSL -L --fail https://github.com/wkhtmltopdf/wkhtmltopdf/releases | grep -Eo '/wkhtmltopdf/.+stretch_amd64\.deb' | head -1 )" \
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \ && DEBIAN_FRONTEND=noninteractive apt-get update -qq \
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \ && DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
libfontenc1 libxfont1 xfonts-75dpi xfonts-base xfonts-encodings xfonts-utils \ libfontenc1 libxfont1 xfonts-75dpi xfonts-base xfonts-encodings xfonts-utils \
&& curl -sS -L -o /tmp/wkhtmltopdf.deb https://github.com/${VERSION} \ && curl -sS -L --fail -o /tmp/wkhtmltopdf.deb https://github.com/${VERSION} \
&& dpkg -i /tmp/wkhtmltopdf.deb \ && dpkg -i /tmp/wkhtmltopdf.deb \
&& rm -f /tmp/wkhtmltopdf.deb \ && rm -f /tmp/wkhtmltopdf.deb \
\ \
@@ -333,7 +345,7 @@ RUN set -eux \
\ \
\ \
# -------------------- wpcli -------------------- # -------------------- wpcli --------------------
&& curl https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar -L -o /usr/local/bin/wp \ && curl -sS -L --fail https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar -L -o /usr/local/bin/wp \
&& chmod +x /usr/local/bin/wp \ && chmod +x /usr/local/bin/wp \
\ \
# -------------------- cleanup -------------------- # -------------------- cleanup --------------------
@@ -379,23 +391,23 @@ RUN set -eux \
### ###
RUN set -eux \ RUN set -eux \
# -------------------- asgardcms -------------------- # -------------------- asgardcms --------------------
&& COMPOSER_HOME="/usr/local/src/composer" composer global require asgardcms/asgardcms-installer \ && COMPOSER_HOME="/usr/local/src/composer" COMPOSER_MEMORY_LIMIT=-1 /usr/local/bin/composer global require asgardcms/asgardcms-installer \
&& ln -s /usr/local/src/composer/vendor/asgardcms/asgardcms-installer/asgardcms /usr/local/bin/ \ && ln -s /usr/local/src/composer/vendor/asgardcms/asgardcms-installer/asgardcms /usr/local/bin/ \
\ \
# -------------------- codeception -------------------- # -------------------- codeception --------------------
&& COMPOSER_HOME="/usr/local/src/composer" composer global require codeception/codeception \ && COMPOSER_HOME="/usr/local/src/composer" COMPOSER_MEMORY_LIMIT=-1 /usr/local/bin/composer global require codeception/codeception \
&& ln -s /usr/local/src/composer/vendor/codeception/codeception/codecept /usr/local/bin/ \ && ln -s /usr/local/src/composer/vendor/codeception/codeception/codecept /usr/local/bin/ \
\ \
# -------------------- lumen -------------------- # -------------------- lumen --------------------
&& COMPOSER_HOME="/usr/local/src/composer" composer global require laravel/lumen-installer \ && COMPOSER_HOME="/usr/local/src/composer" COMPOSER_MEMORY_LIMIT=-1 /usr/local/bin/composer global require laravel/lumen-installer \
&& ln -s /usr/local/src/composer/vendor/laravel/lumen-installer/lumen /usr/local/bin/ \ && ln -s /usr/local/src/composer/vendor/laravel/lumen-installer/lumen /usr/local/bin/ \
\ \
# -------------------- photon -------------------- # -------------------- photon --------------------
&& COMPOSER_HOME="/usr/local/src/composer" composer global require photoncms/installer \ && COMPOSER_HOME="/usr/local/src/composer" COMPOSER_MEMORY_LIMIT=-1 /usr/local/bin/composer global require photoncms/installer \
&& ln -s /usr/local/src/composer/vendor/photoncms/installer/photon /usr/local/bin/ \ && ln -s /usr/local/src/composer/vendor/photoncms/installer/photon /usr/local/bin/ \
\ \
# -------------------- prestissimo -------------------- # -------------------- prestissimo --------------------
&& COMPOSER_HOME="/usr/local/src/composer" composer global require hirak/prestissimo \ && COMPOSER_HOME="/usr/local/src/composer" COMPOSER_MEMORY_LIMIT=-1 /usr/local/bin/composer global require hirak/prestissimo \
\ \
\ \
&& rm -rf /tmp/* \ && rm -rf /tmp/* \
@@ -411,40 +423,46 @@ RUN set -eux \
### ###
RUN set -eux \ RUN set -eux \
# -------------------- angular_cli -------------------- # -------------------- angular_cli --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g @angular/cli' devilbox \ && su -c '. /opt/nvm/nvm.sh; npm install -g --force @angular/cli' devilbox \
\ \
# -------------------- eslint -------------------- # -------------------- eslint --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g eslint' devilbox \ && su -c '. /opt/nvm/nvm.sh; npm install -g --force eslint' devilbox \
\ \
# -------------------- grunt -------------------- # -------------------- grunt --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g grunt' devilbox \ && su -c '. /opt/nvm/nvm.sh; npm install -g --force grunt' devilbox \
\ \
# -------------------- grunt_cli -------------------- # -------------------- grunt_cli --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g grunt-cli' devilbox \ && su -c '. /opt/nvm/nvm.sh; npm install -g --force grunt-cli' devilbox \
\ \
# -------------------- gulp -------------------- # -------------------- gulp --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g gulp' devilbox \ && su -c '. /opt/nvm/nvm.sh; npm install -g --force gulp' devilbox \
\ \
# -------------------- jsonlint -------------------- # -------------------- jsonlint --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g jsonlint' devilbox \ && su -c '. /opt/nvm/nvm.sh; npm install -g --force jsonlint' devilbox \
\ \
# -------------------- pm2 -------------------- # -------------------- pm2 --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g pm2' devilbox \ && su -c '. /opt/nvm/nvm.sh; npm install -g --force pm2' devilbox \
\ \
# -------------------- mdlint -------------------- # -------------------- mdlint --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g mdlint' devilbox \ && su -c '. /opt/nvm/nvm.sh; npm install -g --force mdlint' devilbox \
\
# -------------------- sass --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force sass' devilbox \
\
# -------------------- stylelint --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force stylelint' devilbox \
\ \
# -------------------- vue_cli -------------------- # -------------------- vue_cli --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g @vue/cli' devilbox \ && su -c '. /opt/nvm/nvm.sh; npm install -g --force @vue/cli' devilbox \
\ \
# -------------------- vue_cli_service_global -------------------- # -------------------- vue_cli_service_global --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g @vue/cli-service-global' devilbox \ && su -c '. /opt/nvm/nvm.sh; npm install -g --force @vue/cli-service-global' devilbox \
\ \
# -------------------- webpack -------------------- # -------------------- webpack --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g webpack' devilbox \ && su -c '. /opt/nvm/nvm.sh; npm install -g --force webpack' devilbox \
\ \
# -------------------- webpack_cli -------------------- # -------------------- webpack_cli --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g webpack-cli' devilbox \ && su -c '. /opt/nvm/nvm.sh; npm install -g --force webpack-cli' devilbox \
\ \
\ \
&& ln -sf $(dirname $(su -c '. /opt/nvm/nvm.sh; nvm which current' devilbox))/* /usr/local/bin/ \ && ln -sf $(dirname $(su -c '. /opt/nvm/nvm.sh; nvm which current' devilbox))/* /usr/local/bin/ \
@@ -452,6 +470,7 @@ RUN set -eux \
&& su -c '. /opt/nvm/nvm.sh; npm cache clear --force' devilbox \ && su -c '. /opt/nvm/nvm.sh; npm cache clear --force' devilbox \
&& su -c '. /opt/nvm/nvm.sh; nvm cache clear --force' devilbox \ && su -c '. /opt/nvm/nvm.sh; nvm cache clear --force' devilbox \
&& rm -rf /home/devilbox/.npm \ && rm -rf /home/devilbox/.npm \
&& rm -rf /home/devilbox/.cache \
&& rm -rf /home/devilbox/.config \ && rm -rf /home/devilbox/.config \
&& rm -rf /tmp/* \ && rm -rf /tmp/* \
&& (rm -rf /tmp/.* || true) \ && (rm -rf /tmp/.* || true) \
@@ -472,12 +491,6 @@ RUN set -eux \
# -------------------- mdl -------------------- # -------------------- mdl --------------------
&& gem install mdl -v 0.5.0 \ && gem install mdl -v 0.5.0 \
\ \
# -------------------- scss_lint --------------------
&& gem install scss_lint -v 0.57.1 \
\
# -------------------- sass --------------------
&& gem install sass \
\
\ \
&& rm -rf /root/.gem \ && rm -rf /root/.gem \
&& rm -rf /tmp/* \ && rm -rf /tmp/* \
@@ -493,13 +506,13 @@ RUN set -eux \
### ###
RUN set -eux \ RUN set -eux \
# -------------------- ansible -------------------- # -------------------- ansible --------------------
&& pip install --no-cache-dir --force-reinstall ansible \ && pip install --no-cache-dir --force-reinstall ansible || true \
\ \
# -------------------- yamllint -------------------- # -------------------- yamllint --------------------
&& pip install --no-cache-dir --force-reinstall yamllint \ && pip install --no-cache-dir --force-reinstall yamllint || true \
\ \
# -------------------- yq -------------------- # -------------------- yq --------------------
&& pip install --no-cache-dir --force-reinstall yq \ && pip install --no-cache-dir --force-reinstall yq || true \
\ \
\ \
&& rm -rf /root/.cache/pip \ && rm -rf /root/.cache/pip \
@@ -552,55 +565,58 @@ RUN set -eux \
RUN set -eux \ RUN set -eux \
# -------------------- Software -------------------- # -------------------- Software --------------------
&& composer --version 2>/dev/null | grep -E 'version\s*[.0-9]+' \ && composer --version 2>/dev/null | grep -E 'version\s*[0-9][.0-9]+' \
&& su -c '. /opt/nvm/nvm.sh; nvm --version' devilbox | grep -E '^[.0-9]+' \ && su -c '. /opt/nvm/nvm.sh; nvm --version' devilbox | grep -E '^[0-9][.0-9]+' \
&& regex-grep --version | grep -E '[.0-9]+' \ && regex-grep --version | grep -E '[0-9][.0-9]+' \
&& dep --version 2>/dev/null | grep -Ei 'deployer\s*(version\s*)?[.0-9]+' \ && dep --version 2>/dev/null | grep -Ei 'deployer\s*(version\s*)?[0-9][.0-9]+' \
&& drush7 --version | grep -E '7[.0-9]+\s*$' \ && drush7 --version | grep -E '7[.0-9]+\s*$' \
&& drush8 --version | grep -E '8[.0-9]+\s*$' \ && drush8 --version | grep -E '8[.0-9]+\s*$' \
&& drush9 --version | grep -E '9[.0-9]+\s*$' \ && drush9 --version | grep -E '9[.0-9]+\s*$' \
&& drupal --version | grep -E 'Drupal Console Launcher\s*[.0-9]' \ && drupal --version | grep -E 'Drupal Console Launcher\s*[0-9][.0-9]' \
&& git-flow version | grep -E '[.0-9]+' \ && git-flow version | grep -E '[0-9][.0-9]+' \
&& laravel --version | grep -E '(Installer|version)\s*[.0-9]+' \ && laravel --version | grep -E '(Installer|version)\s*[0-9][.0-9]+' \
&& linkcheck --version | grep -E '^linkcheck\sv[.0-9]+' \ && linkcheck --version | grep -E '^linkcheck\sv[0-9][.0-9]+' \
&& su - ${MY_USER} -c '/usr/local/src/linuxbrew/bin/brew --version' | grep -E 'Homebrew\s*[.0-9]+' \ && su - ${MY_USER} -c '/usr/local/src/linuxbrew/bin/brew --version' | grep -E 'Homebrew\s*[0-9][.0-9]+' \
&& mysqldump-secure --version | grep -E 'Version:\s*[.0-9]+' \ && mysqldump-secure --version | grep -E 'Version:\s*[0-9][.0-9]+' \
&& phalcon commands | grep -E '[.0-9]+' \ && phalcon commands | grep -E '[0-9][.0-9]+' \
&& phpcs --version | grep -E 'version [.0-9]+' \ && phpcs --version | grep -E 'version [0-9][.0-9]+' \
&& phpcbf --version | grep -E 'version [.0-9]+' \ && phpcbf --version | grep -E 'version [0-9][.0-9]+' \
&& php-cs-fixer --version 2>&1 | grep -E 'Fixer\s+(version\s*)?[-_.0-9]+\s+' \ && php-cs-fixer --version 2>&1 | grep -E 'Fixer\s+(version\s*)?[-_.0-9]+\s+' \
&& phpunit --version | grep -iE '^PHPUnit\s[.0-9]+' \ && phpmd --version | grep -E '^PHPMD [0-9][.0-9]+' \
&& symfony --version | grep -E 'version\s*[.0-9]+' \ && phpunit --version | grep -iE '^PHPUnit\s[0-9][.0-9]+' \
&& wkhtmltopdf --version | grep -E "^wkhtmltopdf [.0-9]+\s+\(.+patched.+\)" \ && symfony -V | grep -Ei 'version\s*.*v[0-9][.0-9]+' \
&& wp --allow-root --version | grep -E '[.0-9]+' \ && wkhtmltopdf --version | grep -E "^wkhtmltopdf [0-9][.0-9]+\s+\(.+patched.+\)" \
&& wp --allow-root --version | grep -E '[0-9][.0-9]+' \
\ \
# -------------------- Composer -------------------- # -------------------- Composer --------------------
&& asgardcms --version 2>/dev/null | grep -Ei 'AsgardCMS\sInstaller\s[.0-9]+' \ && asgardcms --version 2>/dev/null | grep -Ei 'AsgardCMS\sInstaller\s[0-9][.0-9]+' \
&& codecept --version 2>/dev/null | grep -E '^Codeception(\sversion)?\s[.0-9]+$' \ && codecept --version 2>/dev/null | grep -E '^Codeception(\sversion)?\s[0-9][.0-9]+$' \
&& lumen --version 2>/dev/null | grep -E '^Lumen Installer\s[.0-9]+$' \ && lumen --version 2>/dev/null | grep -E '^Lumen Installer\s[0-9][.0-9]+$' \
&& photon --version | grep -E 'Installer [.0-9]+' \ && photon --version | grep -E 'Installer [0-9][.0-9]+' \
\ \
# -------------------- PIP -------------------- # -------------------- PIP --------------------
&& ansible --version | grep -E '^ansible [.0-9]+$' \ && ansible --version | grep -E '^ansible [0-9][.0-9]+$' \
&& yamllint --version 2>&1 | grep -E '[.0-9]+' \ && yamllint --version 2>&1 | grep -E '[0-9][.0-9]+' \
&& yq --version 2>&1 | grep -E '^yq\s+[.0-9]+$' \ && yq --version 2>&1 | grep -E '^yq\s+[0-9][.0-9]+$' \
\ \
# -------------------- NPM -------------------- # -------------------- NPM --------------------
&& ng version 2>&1 | grep -iE 'Angular CLI:\s*[.0-9]+' \ && ng version 2>&1 | grep -iE 'Angular CLI:\s*[0-9][.0-9]+' \
&& eslint -v | grep -E '[.0-9]+' \ && eslint -v | grep -E '[0-9][.0-9]+' \
&& grunt --version | grep -E '[.0-9]+' \ && grunt --version | grep -E '[0-9][.0-9]+' \
&& gulp --version | grep -E '[.0-9]+' \ && gulp --version | grep -E '[0-9][.0-9]+' \
&& jsonlint --version | grep -E '[.0-9]+' \ && jsonlint --version | grep -E '[0-9][.0-9]+' \
&& pm2 --no-daemon --version | grep -E '[.0-9]+' \ && pm2 --no-daemon --version | tail -1 | grep -E '[0-9][.0-9]+' \
&& mdlint --version | grep -E '[.0-9]+' \ && mdlint --version | grep -E '[0-9][.0-9]+' \
&& vue --version | grep -E '[.0-9]+' \ && sass --version | grep -E '[0-9][.0-9]+' \
&& webpack --version | grep -E '[.0-9]+' \ && stylelint --version | grep -E '[0-9][.0-9]+' \
&& vue --version | grep -E '[0-9][.0-9]+' \
&& webpack --version | grep -E '[0-9][.0-9]+' \
\ \
# -------------------- GEM -------------------- # -------------------- GEM --------------------
&& mdl --version | grep -E '[.0-9]+' \ && mdl --version | grep -E '[0-9][.0-9]+' \
&& sass --version | grep -E '[.0-9]+' \
\ \
# -------------------- Cleanup -------------------- # -------------------- Cleanup --------------------
&& rm -rf /home/devilbox/.cache/ \
&& rm -rf /home/devilbox/.config/ \ && rm -rf /home/devilbox/.config/ \
&& rm -rf /root/.ansible \ && rm -rf /root/.ansible \
&& rm -rf /root/.console \ && rm -rf /root/.console \

View File

@@ -40,15 +40,15 @@ RUN set -eux \
gnupg \ gnupg \
\ \
&& echo "deb http://ftp.debian.org/debian stretch-backports main" > /etc/apt/sources.list.d/backports.list \ && echo "deb http://ftp.debian.org/debian stretch-backports main" > /etc/apt/sources.list.d/backports.list \
&& curl -sS "https://packages.blackfire.io/gpg.key" 2>/dev/null | APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key add - \ && curl -sS -L --fail "https://packages.blackfire.io/gpg.key" 2>/dev/null | APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key add - \
&& echo "deb http://packages.blackfire.io/debian any main" > /etc/apt/sources.list.d/blackfire.list \ && echo "deb http://packages.blackfire.io/debian any main" > /etc/apt/sources.list.d/blackfire.list \
&& APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv A1715D88E1DF1F24 \ && APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv A1715D88E1DF1F24 \
&& echo "deb http://ppa.launchpad.net/git-core/ppa/ubuntu wily main" > /etc/apt/sources.list.d/git.list \ && echo "deb http://ppa.launchpad.net/git-core/ppa/ubuntu wily main" > /etc/apt/sources.list.d/git.list \
&& APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 9DA31620334BD75D9DCB49F368818C72E52529D4 \ && APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 9DA31620334BD75D9DCB49F368818C72E52529D4 \
&& echo "deb http://repo.mongodb.org/apt/debian stretch/mongodb-org/4.0 main" > /etc/apt/sources.list.d/mongo.list \ && echo "deb http://repo.mongodb.org/apt/debian stretch/mongodb-org/4.0 main" > /etc/apt/sources.list.d/mongo.list \
&& curl -sS https://www.postgresql.org/media/keys/ACCC4CF8.asc 2>/dev/null | APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key add - \ && curl -sS -L --fail https://www.postgresql.org/media/keys/ACCC4CF8.asc 2>/dev/null | APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key add - \
&& echo "deb http://apt.postgresql.org/pub/repos/apt/ stretch-pgdg main" > /etc/apt/sources.list.d/pgsql.list \ && echo "deb http://apt.postgresql.org/pub/repos/apt/ stretch-pgdg main" > /etc/apt/sources.list.d/pgsql.list \
&& curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg 2>/dev/null | APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key add - \ && curl -sS -L --fail https://dl.yarnpkg.com/debian/pubkey.gpg 2>/dev/null | APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key add - \
&& echo "deb http://dl.yarnpkg.com/debian/ stable main" > /etc/apt/sources.list.d/yarn.list \ && echo "deb http://dl.yarnpkg.com/debian/ stable main" > /etc/apt/sources.list.d/yarn.list \
\ \
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \ && DEBIAN_FRONTEND=noninteractive apt-get update -qq \
@@ -62,6 +62,7 @@ RUN set -eux \
blackfire-agent \ blackfire-agent \
build-essential \ build-essential \
bzip2 \ bzip2 \
certbot \
coreutils \ coreutils \
dnsutils \ dnsutils \
dos2unix \ dos2unix \
@@ -73,6 +74,7 @@ RUN set -eux \
git-svn \ git-svn \
ghostscript \ ghostscript \
graphviz \ graphviz \
gsfonts \
hostname \ hostname \
htop \ htop \
imagemagick \ imagemagick \
@@ -88,6 +90,8 @@ RUN set -eux \
mongodb-org-tools \ mongodb-org-tools \
moreutils \ moreutils \
mysql-client \ mysql-client \
mupdf \
mupdf-tools \
nano \ nano \
net-tools \ net-tools \
netcat \ netcat \
@@ -128,7 +132,7 @@ RUN set -eux \
### ###
RUN set -eux \ RUN set -eux \
# -------------------- composer -------------------- # -------------------- composer --------------------
&& curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer \ && curl -sS -L --fail https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer \
\ \
# -------------------- pip -------------------- # -------------------- pip --------------------
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \ && DEBIAN_FRONTEND=noninteractive apt-get update -qq \
@@ -137,7 +141,7 @@ RUN set -eux \
&& DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \ && DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \
&& rm -rf /var/lib/apt/lists/* \ && rm -rf /var/lib/apt/lists/* \
\ \
&& curl -sS https://bootstrap.pypa.io/get-pip.py | python \ && curl -sS -L --fail https://bootstrap.pypa.io/get-pip.py | python \
\ \
\ \
# -------------------- nvm -------------------- # -------------------- nvm --------------------
@@ -169,7 +173,7 @@ RUN set -eux \
\ \
\ \
# -------------------- deployer -------------------- # -------------------- deployer --------------------
&& curl -sS https://deployer.org/deployer.phar -L -o /usr/local/bin/dep \ && curl -sS -L --fail https://deployer.org/releases/v6.7.0/deployer.phar -L -o /usr/local/bin/dep \
&& chmod +x /usr/local/bin/dep \ && chmod +x /usr/local/bin/dep \
\ \
# -------------------- drush7 -------------------- # -------------------- drush7 --------------------
@@ -178,7 +182,7 @@ RUN set -eux \
&& git checkout 7.4.0 \ && git checkout 7.4.0 \
\ \
&& chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/drush7 \ && chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/drush7 \
&& su - ${MY_USER} -c 'PATH=/usr/local/bin:$PATH; cd /usr/local/src/drush7 && composer install --no-interaction --no-progress --no-dev' \ && su - ${MY_USER} -c 'PATH=/usr/local/bin:$PATH; cd /usr/local/src/drush7 && COMPOSER_MEMORY_LIMIT=-1 /usr/local/bin/composer install --no-interaction --no-progress --no-dev' \
&& ln -s /usr/local/src/drush7/drush /usr/local/bin/drush7 \ && ln -s /usr/local/src/drush7/drush /usr/local/bin/drush7 \
&& rm -rf /usr/local/src/drush7/.git \ && rm -rf /usr/local/src/drush7/.git \
&& rm -rf /usr/local/src/drush7/docs \ && rm -rf /usr/local/src/drush7/docs \
@@ -192,7 +196,7 @@ RUN set -eux \
&& git checkout $( git for-each-ref --format='%(*creatordate:raw)%(creatordate:raw) %(refname)' refs/tags | sort -n | grep -E 'tags/8[.0-9]+$' | tail -1 | sed 's|.*/||g' ) \ && git checkout $( git for-each-ref --format='%(*creatordate:raw)%(creatordate:raw) %(refname)' refs/tags | sort -n | grep -E 'tags/8[.0-9]+$' | tail -1 | sed 's|.*/||g' ) \
\ \
&& chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/drush8 \ && chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/drush8 \
&& su - ${MY_USER} -c 'PATH=/usr/local/bin:$PATH; cd /usr/local/src/drush8 && composer install --no-interaction --no-progress --no-dev' \ && su - ${MY_USER} -c 'PATH=/usr/local/bin:$PATH; cd /usr/local/src/drush8 && COMPOSER_MEMORY_LIMIT=-1 /usr/local/bin/composer install --no-interaction --no-progress --no-dev' \
&& ln -s /usr/local/src/drush8/drush /usr/local/bin/drush8 \ && ln -s /usr/local/src/drush8/drush /usr/local/bin/drush8 \
&& rm -rf /usr/local/src/drush8/.git \ && rm -rf /usr/local/src/drush8/.git \
&& rm -rf /usr/local/src/drush8/docs \ && rm -rf /usr/local/src/drush8/docs \
@@ -206,7 +210,7 @@ RUN set -eux \
&& git checkout $( git for-each-ref --format='%(*creatordate:raw)%(creatordate:raw) %(refname)' refs/tags | sort -n | grep -E 'tags/9[.0-9]+$' | tail -1 | sed 's|.*/||g' ) \ && git checkout $( git for-each-ref --format='%(*creatordate:raw)%(creatordate:raw) %(refname)' refs/tags | sort -n | grep -E 'tags/9[.0-9]+$' | tail -1 | sed 's|.*/||g' ) \
\ \
&& chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/drush9 \ && chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/drush9 \
&& su - ${MY_USER} -c 'PATH=/usr/local/bin:$PATH; cd /usr/local/src/drush9 && php -d memory_limit=-1 `which composer` install --no-interaction --no-progress' \ && su - ${MY_USER} -c 'PATH=/usr/local/bin:$PATH; cd /usr/local/src/drush9 && COMPOSER_MEMORY_LIMIT=-1 /usr/local/bin/composer install --no-interaction --no-progress' \
&& ln -s /usr/local/src/drush9/drush /usr/local/bin/drush9 \ && ln -s /usr/local/src/drush9/drush /usr/local/bin/drush9 \
&& rm -rf /usr/local/src/drush9/.git \ && rm -rf /usr/local/src/drush9/.git \
&& rm -rf /usr/local/src/drush9/docs \ && rm -rf /usr/local/src/drush9/docs \
@@ -215,7 +219,8 @@ RUN set -eux \
\ \
\ \
# -------------------- drupalconsole -------------------- # -------------------- drupalconsole --------------------
&& curl https://drupalconsole.com/installer -L -o /usr/local/bin/drupal \ && DURL="https://github.com$(curl -sS 'https://github.com/hechoendrupal/drupal-console-launcher/releases' | grep -Eo 'href="/.+drupal.phar"' | head -1 | sed 's/^href="//g' | sed 's/"$//g')" \
&& curl -sS -L --fail "${DURL}" -L -o /usr/local/bin/drupal \
&& chmod +x /usr/local/bin/drupal \ && chmod +x /usr/local/bin/drupal \
\ \
# -------------------- gitflow -------------------- # -------------------- gitflow --------------------
@@ -231,13 +236,13 @@ RUN set -eux \
&& git checkout v2.0.0 \ && git checkout v2.0.0 \
\ \
&& chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/laravel-installer \ && chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/laravel-installer \
&& su - ${MY_USER} -c 'PATH=/usr/local/bin:$PATH; cd /usr/local/src/laravel-installer && composer install --no-interaction --no-progress --no-dev' \ && su - ${MY_USER} -c 'PATH=/usr/local/bin:$PATH; cd /usr/local/src/laravel-installer && COMPOSER_MEMORY_LIMIT=-1 /usr/local/bin/composer install --no-interaction --no-progress --no-dev' \
&& rm -rf /usr/local/src/laravel-installer/laravel/.git \ && rm -rf /usr/local/src/laravel-installer/laravel/.git \
\ \
&& ln -s /usr/local/src/laravel-installer/laravel /usr/local/bin/laravel \ && ln -s /usr/local/src/laravel-installer/laravel /usr/local/bin/laravel \
\ \
# -------------------- linkcheck -------------------- # -------------------- linkcheck --------------------
&& curl https://raw.githubusercontent.com/cytopia/linkcheck/master/linkcheck > /usr/local/bin/linkcheck \ && curl -sS -L --fail https://raw.githubusercontent.com/cytopia/linkcheck/master/linkcheck > /usr/local/bin/linkcheck \
&& chmod +x /usr/local/bin/linkcheck \ && chmod +x /usr/local/bin/linkcheck \
\ \
\ \
@@ -254,7 +259,7 @@ RUN set -eux \
\ \
\ \
# -------------------- mhsendmail -------------------- # -------------------- mhsendmail --------------------
&& wget https://github.com/mailhog/mhsendmail/releases/download/v0.2.0/mhsendmail_linux_amd64 \ && curl -sS -L --fail https://github.com/devilbox/mhsendmail/releases/download/v0.3.0/mhsendmail_linux_amd64 > mhsendmail_linux_amd64 \
&& chmod +x mhsendmail_linux_amd64 \ && chmod +x mhsendmail_linux_amd64 \
&& mv mhsendmail_linux_amd64 /usr/local/bin/mhsendmail \ && mv mhsendmail_linux_amd64 /usr/local/bin/mhsendmail \
\ \
@@ -285,46 +290,53 @@ RUN set -eux \
# -------------------- phalcon -------------------- # -------------------- phalcon --------------------
&& git clone https://github.com/phalcon/phalcon-devtools /usr/local/src/phalcon-devtools \ && git clone https://github.com/phalcon/phalcon-devtools /usr/local/src/phalcon-devtools \
&& cd /usr/local/src/phalcon-devtools \ && cd /usr/local/src/phalcon-devtools \
&& git checkout $(git describe --abbrev=0 --tags) \ && git checkout v3.4.11 \
\ \
&& chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/phalcon-devtools \ && chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/phalcon-devtools \
&& su - ${MY_USER} -c 'cd /usr/local/src/phalcon-devtools && ./phalcon.sh' \ && su - ${MY_USER} -c 'cd /usr/local/src/phalcon-devtools && ./phalcon.sh' \
&& ln -sf /usr/local/src/phalcon-devtools/phalcon /usr/local/bin/phalcon \ && ln -sf /usr/local/src/phalcon-devtools/phalcon /usr/local/bin/phalcon \
&& chmod +x phalcon \ && chmod +x /usr/local/bin/phalcon \
&& cd / \ && cd / \
&& rm -rf /usr/local/src/phalcon-devtools/.git \ && rm -rf /usr/local/src/phalcon-devtools/.git \
\ \
\ \
# -------------------- phpcs -------------------- # -------------------- phpcs --------------------
&& curl -sS -L https://squizlabs.github.io/PHP_CodeSniffer/phpcs.phar > /usr/local/bin/phpcs 2>/dev/null \ && curl -sS -L --fail https://squizlabs.github.io/PHP_CodeSniffer/phpcs.phar > /usr/local/bin/phpcs 2>/dev/null \
&& chmod +x /usr/local/bin/phpcs \ && chmod +x /usr/local/bin/phpcs \
\ \
\ \
# -------------------- phpcbf -------------------- # -------------------- phpcbf --------------------
&& curl -sS -L https://squizlabs.github.io/PHP_CodeSniffer/phpcbf.phar > /usr/local/bin/phpcbf 2>/dev/null \ && curl -sS -L --fail https://squizlabs.github.io/PHP_CodeSniffer/phpcbf.phar > /usr/local/bin/phpcbf 2>/dev/null \
&& chmod +x /usr/local/bin/phpcbf \ && chmod +x /usr/local/bin/phpcbf \
\ \
\ \
# -------------------- php-cs-fixer -------------------- # -------------------- php-cs-fixer --------------------
&& curl -sS -L https://cs.symfony.com/download/php-cs-fixer-v2.phar > /usr/local/bin/php-cs-fixer 2>/dev/null \ && curl -sS -L --fail https://cs.symfony.com/download/php-cs-fixer-v2.phar > /usr/local/bin/php-cs-fixer 2>/dev/null \
&& chmod +x /usr/local/bin/php-cs-fixer \ && chmod +x /usr/local/bin/php-cs-fixer \
\ \
\ \
# -------------------- phpmd --------------------
&& curl -sS -L --fail https://phpmd.org/static/latest/phpmd.phar > phpmd.phar \
&& mv phpmd.phar /usr/local/bin/phpmd \
&& chmod +x /usr/local/bin/phpmd \
\
\
# -------------------- phpunit -------------------- # -------------------- phpunit --------------------
&& curl -qL https://phar.phpunit.de/phpunit-6.phar > /usr/local/bin/phpunit 2>/dev/null \ && curl -sS -L --fail https://phar.phpunit.de/phpunit-6.phar > /usr/local/bin/phpunit 2>/dev/null \
&& chmod +x /usr/local/bin/phpunit \ && chmod +x /usr/local/bin/phpunit \
\ \
\ \
# -------------------- symfony -------------------- # -------------------- symfony --------------------
&& curl https://symfony.com/installer -L -o /usr/local/bin/symfony \ && SYMFONY_VERSION="$( curl -sS -L --fail https://get.symfony.com/cli/LATEST )" \
&& curl -sS -L --fail "https://github.com/symfony/cli/releases/download/v${SYMFONY_VERSION}/symfony_linux_amd64" > /usr/local/bin/symfony \
&& chmod +x /usr/local/bin/symfony \ && chmod +x /usr/local/bin/symfony \
\ \
# -------------------- wkhtmltopdf -------------------- # -------------------- wkhtmltopdf --------------------
&& VERSION="$( curl -sSL https://github.com/wkhtmltopdf/wkhtmltopdf/releases | grep -Eo '/wkhtmltopdf/.+stretch_amd64\.deb' | head -1 )" \ && VERSION="$( curl -sSL -L --fail https://github.com/wkhtmltopdf/wkhtmltopdf/releases | grep -Eo '/wkhtmltopdf/.+stretch_amd64\.deb' | head -1 )" \
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \ && DEBIAN_FRONTEND=noninteractive apt-get update -qq \
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \ && DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
libfontenc1 libxfont1 xfonts-75dpi xfonts-base xfonts-encodings xfonts-utils \ libfontenc1 libxfont1 xfonts-75dpi xfonts-base xfonts-encodings xfonts-utils \
&& curl -sS -L -o /tmp/wkhtmltopdf.deb https://github.com/${VERSION} \ && curl -sS -L --fail -o /tmp/wkhtmltopdf.deb https://github.com/${VERSION} \
&& dpkg -i /tmp/wkhtmltopdf.deb \ && dpkg -i /tmp/wkhtmltopdf.deb \
&& rm -f /tmp/wkhtmltopdf.deb \ && rm -f /tmp/wkhtmltopdf.deb \
\ \
@@ -333,7 +345,7 @@ RUN set -eux \
\ \
\ \
# -------------------- wpcli -------------------- # -------------------- wpcli --------------------
&& curl https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar -L -o /usr/local/bin/wp \ && curl -sS -L --fail https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar -L -o /usr/local/bin/wp \
&& chmod +x /usr/local/bin/wp \ && chmod +x /usr/local/bin/wp \
\ \
# -------------------- cleanup -------------------- # -------------------- cleanup --------------------
@@ -379,23 +391,23 @@ RUN set -eux \
### ###
RUN set -eux \ RUN set -eux \
# -------------------- asgardcms -------------------- # -------------------- asgardcms --------------------
&& COMPOSER_HOME="/usr/local/src/composer" composer global require asgardcms/asgardcms-installer \ && COMPOSER_HOME="/usr/local/src/composer" COMPOSER_MEMORY_LIMIT=-1 /usr/local/bin/composer global require asgardcms/asgardcms-installer \
&& ln -s /usr/local/src/composer/vendor/asgardcms/asgardcms-installer/asgardcms /usr/local/bin/ \ && ln -s /usr/local/src/composer/vendor/asgardcms/asgardcms-installer/asgardcms /usr/local/bin/ \
\ \
# -------------------- codeception -------------------- # -------------------- codeception --------------------
&& COMPOSER_HOME="/usr/local/src/composer" composer global require codeception/codeception \ && COMPOSER_HOME="/usr/local/src/composer" COMPOSER_MEMORY_LIMIT=-1 /usr/local/bin/composer global require codeception/codeception \
&& ln -s /usr/local/src/composer/vendor/codeception/codeception/codecept /usr/local/bin/ \ && ln -s /usr/local/src/composer/vendor/codeception/codeception/codecept /usr/local/bin/ \
\ \
# -------------------- lumen -------------------- # -------------------- lumen --------------------
&& COMPOSER_HOME="/usr/local/src/composer" composer global require laravel/lumen-installer \ && COMPOSER_HOME="/usr/local/src/composer" COMPOSER_MEMORY_LIMIT=-1 /usr/local/bin/composer global require laravel/lumen-installer \
&& ln -s /usr/local/src/composer/vendor/laravel/lumen-installer/lumen /usr/local/bin/ \ && ln -s /usr/local/src/composer/vendor/laravel/lumen-installer/lumen /usr/local/bin/ \
\ \
# -------------------- photon -------------------- # -------------------- photon --------------------
&& COMPOSER_HOME="/usr/local/src/composer" composer global require photoncms/installer \ && COMPOSER_HOME="/usr/local/src/composer" COMPOSER_MEMORY_LIMIT=-1 /usr/local/bin/composer global require photoncms/installer \
&& ln -s /usr/local/src/composer/vendor/photoncms/installer/photon /usr/local/bin/ \ && ln -s /usr/local/src/composer/vendor/photoncms/installer/photon /usr/local/bin/ \
\ \
# -------------------- prestissimo -------------------- # -------------------- prestissimo --------------------
&& COMPOSER_HOME="/usr/local/src/composer" composer global require hirak/prestissimo \ && COMPOSER_HOME="/usr/local/src/composer" COMPOSER_MEMORY_LIMIT=-1 /usr/local/bin/composer global require hirak/prestissimo \
\ \
\ \
&& rm -rf /tmp/* \ && rm -rf /tmp/* \
@@ -411,40 +423,46 @@ RUN set -eux \
### ###
RUN set -eux \ RUN set -eux \
# -------------------- angular_cli -------------------- # -------------------- angular_cli --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g @angular/cli' devilbox \ && su -c '. /opt/nvm/nvm.sh; npm install -g --force @angular/cli' devilbox \
\ \
# -------------------- eslint -------------------- # -------------------- eslint --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g eslint' devilbox \ && su -c '. /opt/nvm/nvm.sh; npm install -g --force eslint' devilbox \
\ \
# -------------------- grunt -------------------- # -------------------- grunt --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g grunt' devilbox \ && su -c '. /opt/nvm/nvm.sh; npm install -g --force grunt' devilbox \
\ \
# -------------------- grunt_cli -------------------- # -------------------- grunt_cli --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g grunt-cli' devilbox \ && su -c '. /opt/nvm/nvm.sh; npm install -g --force grunt-cli' devilbox \
\ \
# -------------------- gulp -------------------- # -------------------- gulp --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g gulp' devilbox \ && su -c '. /opt/nvm/nvm.sh; npm install -g --force gulp' devilbox \
\ \
# -------------------- jsonlint -------------------- # -------------------- jsonlint --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g jsonlint' devilbox \ && su -c '. /opt/nvm/nvm.sh; npm install -g --force jsonlint' devilbox \
\ \
# -------------------- pm2 -------------------- # -------------------- pm2 --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g pm2' devilbox \ && su -c '. /opt/nvm/nvm.sh; npm install -g --force pm2' devilbox \
\ \
# -------------------- mdlint -------------------- # -------------------- mdlint --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g mdlint' devilbox \ && su -c '. /opt/nvm/nvm.sh; npm install -g --force mdlint' devilbox \
\
# -------------------- sass --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force sass' devilbox \
\
# -------------------- stylelint --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force stylelint' devilbox \
\ \
# -------------------- vue_cli -------------------- # -------------------- vue_cli --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g @vue/cli' devilbox \ && su -c '. /opt/nvm/nvm.sh; npm install -g --force @vue/cli' devilbox \
\ \
# -------------------- vue_cli_service_global -------------------- # -------------------- vue_cli_service_global --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g @vue/cli-service-global' devilbox \ && su -c '. /opt/nvm/nvm.sh; npm install -g --force @vue/cli-service-global' devilbox \
\ \
# -------------------- webpack -------------------- # -------------------- webpack --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g webpack' devilbox \ && su -c '. /opt/nvm/nvm.sh; npm install -g --force webpack' devilbox \
\ \
# -------------------- webpack_cli -------------------- # -------------------- webpack_cli --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g webpack-cli' devilbox \ && su -c '. /opt/nvm/nvm.sh; npm install -g --force webpack-cli' devilbox \
\ \
\ \
&& ln -sf $(dirname $(su -c '. /opt/nvm/nvm.sh; nvm which current' devilbox))/* /usr/local/bin/ \ && ln -sf $(dirname $(su -c '. /opt/nvm/nvm.sh; nvm which current' devilbox))/* /usr/local/bin/ \
@@ -452,6 +470,7 @@ RUN set -eux \
&& su -c '. /opt/nvm/nvm.sh; npm cache clear --force' devilbox \ && su -c '. /opt/nvm/nvm.sh; npm cache clear --force' devilbox \
&& su -c '. /opt/nvm/nvm.sh; nvm cache clear --force' devilbox \ && su -c '. /opt/nvm/nvm.sh; nvm cache clear --force' devilbox \
&& rm -rf /home/devilbox/.npm \ && rm -rf /home/devilbox/.npm \
&& rm -rf /home/devilbox/.cache \
&& rm -rf /home/devilbox/.config \ && rm -rf /home/devilbox/.config \
&& rm -rf /tmp/* \ && rm -rf /tmp/* \
&& (rm -rf /tmp/.* || true) \ && (rm -rf /tmp/.* || true) \
@@ -472,12 +491,6 @@ RUN set -eux \
# -------------------- mdl -------------------- # -------------------- mdl --------------------
&& gem install mdl -v 0.5.0 \ && gem install mdl -v 0.5.0 \
\ \
# -------------------- scss_lint --------------------
&& gem install scss_lint -v 0.57.1 \
\
# -------------------- sass --------------------
&& gem install sass \
\
\ \
&& rm -rf /root/.gem \ && rm -rf /root/.gem \
&& rm -rf /tmp/* \ && rm -rf /tmp/* \
@@ -493,13 +506,13 @@ RUN set -eux \
### ###
RUN set -eux \ RUN set -eux \
# -------------------- ansible -------------------- # -------------------- ansible --------------------
&& pip install --no-cache-dir --force-reinstall ansible \ && pip install --no-cache-dir --force-reinstall ansible || true \
\ \
# -------------------- yamllint -------------------- # -------------------- yamllint --------------------
&& pip install --no-cache-dir --force-reinstall yamllint \ && pip install --no-cache-dir --force-reinstall yamllint || true \
\ \
# -------------------- yq -------------------- # -------------------- yq --------------------
&& pip install --no-cache-dir --force-reinstall yq \ && pip install --no-cache-dir --force-reinstall yq || true \
\ \
\ \
&& rm -rf /root/.cache/pip \ && rm -rf /root/.cache/pip \
@@ -552,55 +565,58 @@ RUN set -eux \
RUN set -eux \ RUN set -eux \
# -------------------- Software -------------------- # -------------------- Software --------------------
&& composer --version 2>/dev/null | grep -E 'version\s*[.0-9]+' \ && composer --version 2>/dev/null | grep -E 'version\s*[0-9][.0-9]+' \
&& su -c '. /opt/nvm/nvm.sh; nvm --version' devilbox | grep -E '^[.0-9]+' \ && su -c '. /opt/nvm/nvm.sh; nvm --version' devilbox | grep -E '^[0-9][.0-9]+' \
&& regex-grep --version | grep -E '[.0-9]+' \ && regex-grep --version | grep -E '[0-9][.0-9]+' \
&& dep --version 2>/dev/null | grep -Ei 'deployer\s*(version\s*)?[.0-9]+' \ && dep --version 2>/dev/null | grep -Ei 'deployer\s*(version\s*)?[0-9][.0-9]+' \
&& drush7 --version | grep -E '7[.0-9]+\s*$' \ && drush7 --version | grep -E '7[.0-9]+\s*$' \
&& drush8 --version | grep -E '8[.0-9]+\s*$' \ && drush8 --version | grep -E '8[.0-9]+\s*$' \
&& drush9 --version | grep -E '9[.0-9]+\s*$' \ && drush9 --version | grep -E '9[.0-9]+\s*$' \
&& drupal --version | grep -E 'Drupal Console Launcher\s*[.0-9]' \ && drupal --version | grep -E 'Drupal Console Launcher\s*[0-9][.0-9]' \
&& git-flow version | grep -E '[.0-9]+' \ && git-flow version | grep -E '[0-9][.0-9]+' \
&& laravel --version | grep -E '(Installer|version)\s*[.0-9]+' \ && laravel --version | grep -E '(Installer|version)\s*[0-9][.0-9]+' \
&& linkcheck --version | grep -E '^linkcheck\sv[.0-9]+' \ && linkcheck --version | grep -E '^linkcheck\sv[0-9][.0-9]+' \
&& su - ${MY_USER} -c '/usr/local/src/linuxbrew/bin/brew --version' | grep -E 'Homebrew\s*[.0-9]+' \ && su - ${MY_USER} -c '/usr/local/src/linuxbrew/bin/brew --version' | grep -E 'Homebrew\s*[0-9][.0-9]+' \
&& mysqldump-secure --version | grep -E 'Version:\s*[.0-9]+' \ && mysqldump-secure --version | grep -E 'Version:\s*[0-9][.0-9]+' \
&& phalcon commands | grep -E '[.0-9]+' \ && phalcon commands | grep -E '[0-9][.0-9]+' \
&& phpcs --version | grep -E 'version [.0-9]+' \ && phpcs --version | grep -E 'version [0-9][.0-9]+' \
&& phpcbf --version | grep -E 'version [.0-9]+' \ && phpcbf --version | grep -E 'version [0-9][.0-9]+' \
&& php-cs-fixer --version 2>&1 | grep -E 'Fixer\s+(version\s*)?[-_.0-9]+\s+' \ && php-cs-fixer --version 2>&1 | grep -E 'Fixer\s+(version\s*)?[-_.0-9]+\s+' \
&& phpunit --version | grep -iE '^PHPUnit\s[.0-9]+' \ && phpmd --version | grep -E '^PHPMD [0-9][.0-9]+' \
&& symfony --version | grep -E 'version\s*[.0-9]+' \ && phpunit --version | grep -iE '^PHPUnit\s[0-9][.0-9]+' \
&& wkhtmltopdf --version | grep -E "^wkhtmltopdf [.0-9]+\s+\(.+patched.+\)" \ && symfony -V | grep -Ei 'version\s*.*v[0-9][.0-9]+' \
&& wp --allow-root --version | grep -E '[.0-9]+' \ && wkhtmltopdf --version | grep -E "^wkhtmltopdf [0-9][.0-9]+\s+\(.+patched.+\)" \
&& wp --allow-root --version | grep -E '[0-9][.0-9]+' \
\ \
# -------------------- Composer -------------------- # -------------------- Composer --------------------
&& asgardcms --version 2>/dev/null | grep -Ei 'AsgardCMS\sInstaller\s[.0-9]+' \ && asgardcms --version 2>/dev/null | grep -Ei 'AsgardCMS\sInstaller\s[0-9][.0-9]+' \
&& codecept --version 2>/dev/null | grep -E '^Codeception(\sversion)?\s[.0-9]+$' \ && codecept --version 2>/dev/null | grep -E '^Codeception(\sversion)?\s[0-9][.0-9]+$' \
&& lumen --version 2>/dev/null | grep -E '^Lumen Installer\s[.0-9]+$' \ && lumen --version 2>/dev/null | grep -E '^Lumen Installer\s[0-9][.0-9]+$' \
&& photon --version | grep -E 'Installer [.0-9]+' \ && photon --version | grep -E 'Installer [0-9][.0-9]+' \
\ \
# -------------------- PIP -------------------- # -------------------- PIP --------------------
&& ansible --version | grep -E '^ansible [.0-9]+$' \ && ansible --version | grep -E '^ansible [0-9][.0-9]+$' \
&& yamllint --version 2>&1 | grep -E '[.0-9]+' \ && yamllint --version 2>&1 | grep -E '[0-9][.0-9]+' \
&& yq --version 2>&1 | grep -E '^yq\s+[.0-9]+$' \ && yq --version 2>&1 | grep -E '^yq\s+[0-9][.0-9]+$' \
\ \
# -------------------- NPM -------------------- # -------------------- NPM --------------------
&& ng version 2>&1 | grep -iE 'Angular CLI:\s*[.0-9]+' \ && ng version 2>&1 | grep -iE 'Angular CLI:\s*[0-9][.0-9]+' \
&& eslint -v | grep -E '[.0-9]+' \ && eslint -v | grep -E '[0-9][.0-9]+' \
&& grunt --version | grep -E '[.0-9]+' \ && grunt --version | grep -E '[0-9][.0-9]+' \
&& gulp --version | grep -E '[.0-9]+' \ && gulp --version | grep -E '[0-9][.0-9]+' \
&& jsonlint --version | grep -E '[.0-9]+' \ && jsonlint --version | grep -E '[0-9][.0-9]+' \
&& pm2 --no-daemon --version | grep -E '[.0-9]+' \ && pm2 --no-daemon --version | tail -1 | grep -E '[0-9][.0-9]+' \
&& mdlint --version | grep -E '[.0-9]+' \ && mdlint --version | grep -E '[0-9][.0-9]+' \
&& vue --version | grep -E '[.0-9]+' \ && sass --version | grep -E '[0-9][.0-9]+' \
&& webpack --version | grep -E '[.0-9]+' \ && stylelint --version | grep -E '[0-9][.0-9]+' \
&& vue --version | grep -E '[0-9][.0-9]+' \
&& webpack --version | grep -E '[0-9][.0-9]+' \
\ \
# -------------------- GEM -------------------- # -------------------- GEM --------------------
&& mdl --version | grep -E '[.0-9]+' \ && mdl --version | grep -E '[0-9][.0-9]+' \
&& sass --version | grep -E '[.0-9]+' \
\ \
# -------------------- Cleanup -------------------- # -------------------- Cleanup --------------------
&& rm -rf /home/devilbox/.cache/ \
&& rm -rf /home/devilbox/.config/ \ && rm -rf /home/devilbox/.config/ \
&& rm -rf /root/.ansible \ && rm -rf /root/.ansible \
&& rm -rf /root/.console \ && rm -rf /root/.console \

View File

@@ -40,15 +40,15 @@ RUN set -eux \
gnupg \ gnupg \
\ \
&& echo "deb http://ftp.debian.org/debian stretch-backports main" > /etc/apt/sources.list.d/backports.list \ && echo "deb http://ftp.debian.org/debian stretch-backports main" > /etc/apt/sources.list.d/backports.list \
&& curl -sS "https://packages.blackfire.io/gpg.key" 2>/dev/null | APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key add - \ && curl -sS -L --fail "https://packages.blackfire.io/gpg.key" 2>/dev/null | APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key add - \
&& echo "deb http://packages.blackfire.io/debian any main" > /etc/apt/sources.list.d/blackfire.list \ && echo "deb http://packages.blackfire.io/debian any main" > /etc/apt/sources.list.d/blackfire.list \
&& APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv A1715D88E1DF1F24 \ && APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv A1715D88E1DF1F24 \
&& echo "deb http://ppa.launchpad.net/git-core/ppa/ubuntu wily main" > /etc/apt/sources.list.d/git.list \ && echo "deb http://ppa.launchpad.net/git-core/ppa/ubuntu wily main" > /etc/apt/sources.list.d/git.list \
&& APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 9DA31620334BD75D9DCB49F368818C72E52529D4 \ && APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 9DA31620334BD75D9DCB49F368818C72E52529D4 \
&& echo "deb http://repo.mongodb.org/apt/debian stretch/mongodb-org/4.0 main" > /etc/apt/sources.list.d/mongo.list \ && echo "deb http://repo.mongodb.org/apt/debian stretch/mongodb-org/4.0 main" > /etc/apt/sources.list.d/mongo.list \
&& curl -sS https://www.postgresql.org/media/keys/ACCC4CF8.asc 2>/dev/null | APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key add - \ && curl -sS -L --fail https://www.postgresql.org/media/keys/ACCC4CF8.asc 2>/dev/null | APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key add - \
&& echo "deb http://apt.postgresql.org/pub/repos/apt/ stretch-pgdg main" > /etc/apt/sources.list.d/pgsql.list \ && echo "deb http://apt.postgresql.org/pub/repos/apt/ stretch-pgdg main" > /etc/apt/sources.list.d/pgsql.list \
&& curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg 2>/dev/null | APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key add - \ && curl -sS -L --fail https://dl.yarnpkg.com/debian/pubkey.gpg 2>/dev/null | APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key add - \
&& echo "deb http://dl.yarnpkg.com/debian/ stable main" > /etc/apt/sources.list.d/yarn.list \ && echo "deb http://dl.yarnpkg.com/debian/ stable main" > /etc/apt/sources.list.d/yarn.list \
\ \
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \ && DEBIAN_FRONTEND=noninteractive apt-get update -qq \
@@ -62,6 +62,7 @@ RUN set -eux \
blackfire-agent \ blackfire-agent \
build-essential \ build-essential \
bzip2 \ bzip2 \
certbot \
coreutils \ coreutils \
dnsutils \ dnsutils \
dos2unix \ dos2unix \
@@ -73,6 +74,7 @@ RUN set -eux \
git-svn \ git-svn \
ghostscript \ ghostscript \
graphviz \ graphviz \
gsfonts \
hostname \ hostname \
htop \ htop \
imagemagick \ imagemagick \
@@ -88,6 +90,8 @@ RUN set -eux \
mongodb-org-tools \ mongodb-org-tools \
moreutils \ moreutils \
mariadb-client \ mariadb-client \
mupdf \
mupdf-tools \
nano \ nano \
net-tools \ net-tools \
netcat \ netcat \
@@ -128,7 +132,7 @@ RUN set -eux \
### ###
RUN set -eux \ RUN set -eux \
# -------------------- composer -------------------- # -------------------- composer --------------------
&& curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer \ && curl -sS -L --fail https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer \
\ \
# -------------------- pip -------------------- # -------------------- pip --------------------
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \ && DEBIAN_FRONTEND=noninteractive apt-get update -qq \
@@ -137,7 +141,7 @@ RUN set -eux \
&& DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \ && DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \
&& rm -rf /var/lib/apt/lists/* \ && rm -rf /var/lib/apt/lists/* \
\ \
&& curl -sS https://bootstrap.pypa.io/get-pip.py | python \ && curl -sS -L --fail https://bootstrap.pypa.io/get-pip.py | python \
\ \
\ \
# -------------------- nvm -------------------- # -------------------- nvm --------------------
@@ -169,7 +173,7 @@ RUN set -eux \
\ \
\ \
# -------------------- deployer -------------------- # -------------------- deployer --------------------
&& curl -sS https://deployer.org/deployer.phar -L -o /usr/local/bin/dep \ && curl -sS -L --fail https://deployer.org/releases/v6.7.0/deployer.phar -L -o /usr/local/bin/dep \
&& chmod +x /usr/local/bin/dep \ && chmod +x /usr/local/bin/dep \
\ \
# -------------------- drush7 -------------------- # -------------------- drush7 --------------------
@@ -178,7 +182,7 @@ RUN set -eux \
&& git checkout 7.4.0 \ && git checkout 7.4.0 \
\ \
&& chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/drush7 \ && chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/drush7 \
&& su - ${MY_USER} -c 'PATH=/usr/local/bin:$PATH; cd /usr/local/src/drush7 && composer install --no-interaction --no-progress --no-dev' \ && su - ${MY_USER} -c 'PATH=/usr/local/bin:$PATH; cd /usr/local/src/drush7 && COMPOSER_MEMORY_LIMIT=-1 /usr/local/bin/composer install --no-interaction --no-progress --no-dev' \
&& ln -s /usr/local/src/drush7/drush /usr/local/bin/drush7 \ && ln -s /usr/local/src/drush7/drush /usr/local/bin/drush7 \
&& rm -rf /usr/local/src/drush7/.git \ && rm -rf /usr/local/src/drush7/.git \
&& rm -rf /usr/local/src/drush7/docs \ && rm -rf /usr/local/src/drush7/docs \
@@ -192,7 +196,7 @@ RUN set -eux \
&& git checkout $( git for-each-ref --format='%(*creatordate:raw)%(creatordate:raw) %(refname)' refs/tags | sort -n | grep -E 'tags/8[.0-9]+$' | tail -1 | sed 's|.*/||g' ) \ && git checkout $( git for-each-ref --format='%(*creatordate:raw)%(creatordate:raw) %(refname)' refs/tags | sort -n | grep -E 'tags/8[.0-9]+$' | tail -1 | sed 's|.*/||g' ) \
\ \
&& chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/drush8 \ && chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/drush8 \
&& su - ${MY_USER} -c 'PATH=/usr/local/bin:$PATH; cd /usr/local/src/drush8 && composer install --no-interaction --no-progress --no-dev' \ && su - ${MY_USER} -c 'PATH=/usr/local/bin:$PATH; cd /usr/local/src/drush8 && COMPOSER_MEMORY_LIMIT=-1 /usr/local/bin/composer install --no-interaction --no-progress --no-dev' \
&& ln -s /usr/local/src/drush8/drush /usr/local/bin/drush8 \ && ln -s /usr/local/src/drush8/drush /usr/local/bin/drush8 \
&& rm -rf /usr/local/src/drush8/.git \ && rm -rf /usr/local/src/drush8/.git \
&& rm -rf /usr/local/src/drush8/docs \ && rm -rf /usr/local/src/drush8/docs \
@@ -206,7 +210,7 @@ RUN set -eux \
&& git checkout $( git for-each-ref --format='%(*creatordate:raw)%(creatordate:raw) %(refname)' refs/tags | sort -n | grep -E 'tags/9[.0-9]+$' | tail -1 | sed 's|.*/||g' ) \ && git checkout $( git for-each-ref --format='%(*creatordate:raw)%(creatordate:raw) %(refname)' refs/tags | sort -n | grep -E 'tags/9[.0-9]+$' | tail -1 | sed 's|.*/||g' ) \
\ \
&& chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/drush9 \ && chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/drush9 \
&& su - ${MY_USER} -c 'PATH=/usr/local/bin:$PATH; cd /usr/local/src/drush9 && php -d memory_limit=-1 `which composer` install --no-interaction --no-progress' \ && su - ${MY_USER} -c 'PATH=/usr/local/bin:$PATH; cd /usr/local/src/drush9 && COMPOSER_MEMORY_LIMIT=-1 /usr/local/bin/composer install --no-interaction --no-progress' \
&& ln -s /usr/local/src/drush9/drush /usr/local/bin/drush9 \ && ln -s /usr/local/src/drush9/drush /usr/local/bin/drush9 \
&& rm -rf /usr/local/src/drush9/.git \ && rm -rf /usr/local/src/drush9/.git \
&& rm -rf /usr/local/src/drush9/docs \ && rm -rf /usr/local/src/drush9/docs \
@@ -215,7 +219,8 @@ RUN set -eux \
\ \
\ \
# -------------------- drupalconsole -------------------- # -------------------- drupalconsole --------------------
&& curl https://drupalconsole.com/installer -L -o /usr/local/bin/drupal \ && DURL="https://github.com$(curl -sS 'https://github.com/hechoendrupal/drupal-console-launcher/releases' | grep -Eo 'href="/.+drupal.phar"' | head -1 | sed 's/^href="//g' | sed 's/"$//g')" \
&& curl -sS -L --fail "${DURL}" -L -o /usr/local/bin/drupal \
&& chmod +x /usr/local/bin/drupal \ && chmod +x /usr/local/bin/drupal \
\ \
# -------------------- gitflow -------------------- # -------------------- gitflow --------------------
@@ -231,13 +236,13 @@ RUN set -eux \
&& git checkout $(git tag | grep '^v2\.3\.' | sort -u | tail -1) \ && git checkout $(git tag | grep '^v2\.3\.' | sort -u | tail -1) \
\ \
&& chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/laravel-installer \ && chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/laravel-installer \
&& su - ${MY_USER} -c 'PATH=/usr/local/bin:$PATH; cd /usr/local/src/laravel-installer && composer install --no-interaction --no-progress --no-dev' \ && su - ${MY_USER} -c 'PATH=/usr/local/bin:$PATH; cd /usr/local/src/laravel-installer && COMPOSER_MEMORY_LIMIT=-1 /usr/local/bin/composer install --no-interaction --no-progress --no-dev' \
&& rm -rf /usr/local/src/laravel-installer/laravel/.git \ && rm -rf /usr/local/src/laravel-installer/laravel/.git \
\ \
&& ln -s /usr/local/src/laravel-installer/laravel /usr/local/bin/laravel \ && ln -s /usr/local/src/laravel-installer/laravel /usr/local/bin/laravel \
\ \
# -------------------- linkcheck -------------------- # -------------------- linkcheck --------------------
&& curl https://raw.githubusercontent.com/cytopia/linkcheck/master/linkcheck > /usr/local/bin/linkcheck \ && curl -sS -L --fail https://raw.githubusercontent.com/cytopia/linkcheck/master/linkcheck > /usr/local/bin/linkcheck \
&& chmod +x /usr/local/bin/linkcheck \ && chmod +x /usr/local/bin/linkcheck \
\ \
\ \
@@ -254,7 +259,7 @@ RUN set -eux \
\ \
\ \
# -------------------- mhsendmail -------------------- # -------------------- mhsendmail --------------------
&& wget https://github.com/mailhog/mhsendmail/releases/download/v0.2.0/mhsendmail_linux_amd64 \ && curl -sS -L --fail https://github.com/devilbox/mhsendmail/releases/download/v0.3.0/mhsendmail_linux_amd64 > mhsendmail_linux_amd64 \
&& chmod +x mhsendmail_linux_amd64 \ && chmod +x mhsendmail_linux_amd64 \
&& mv mhsendmail_linux_amd64 /usr/local/bin/mhsendmail \ && mv mhsendmail_linux_amd64 /usr/local/bin/mhsendmail \
\ \
@@ -285,46 +290,53 @@ RUN set -eux \
# -------------------- phalcon -------------------- # -------------------- phalcon --------------------
&& git clone https://github.com/phalcon/phalcon-devtools /usr/local/src/phalcon-devtools \ && git clone https://github.com/phalcon/phalcon-devtools /usr/local/src/phalcon-devtools \
&& cd /usr/local/src/phalcon-devtools \ && cd /usr/local/src/phalcon-devtools \
&& git checkout $(git describe --abbrev=0 --tags) \ && git checkout v3.4.11 \
\ \
&& chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/phalcon-devtools \ && chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/phalcon-devtools \
&& su - ${MY_USER} -c 'cd /usr/local/src/phalcon-devtools && ./phalcon.sh' \ && su - ${MY_USER} -c 'cd /usr/local/src/phalcon-devtools && ./phalcon.sh' \
&& ln -sf /usr/local/src/phalcon-devtools/phalcon /usr/local/bin/phalcon \ && ln -sf /usr/local/src/phalcon-devtools/phalcon /usr/local/bin/phalcon \
&& chmod +x phalcon \ && chmod +x /usr/local/bin/phalcon \
&& cd / \ && cd / \
&& rm -rf /usr/local/src/phalcon-devtools/.git \ && rm -rf /usr/local/src/phalcon-devtools/.git \
\ \
\ \
# -------------------- phpcs -------------------- # -------------------- phpcs --------------------
&& curl -sS -L https://squizlabs.github.io/PHP_CodeSniffer/phpcs.phar > /usr/local/bin/phpcs 2>/dev/null \ && curl -sS -L --fail https://squizlabs.github.io/PHP_CodeSniffer/phpcs.phar > /usr/local/bin/phpcs 2>/dev/null \
&& chmod +x /usr/local/bin/phpcs \ && chmod +x /usr/local/bin/phpcs \
\ \
\ \
# -------------------- phpcbf -------------------- # -------------------- phpcbf --------------------
&& curl -sS -L https://squizlabs.github.io/PHP_CodeSniffer/phpcbf.phar > /usr/local/bin/phpcbf 2>/dev/null \ && curl -sS -L --fail https://squizlabs.github.io/PHP_CodeSniffer/phpcbf.phar > /usr/local/bin/phpcbf 2>/dev/null \
&& chmod +x /usr/local/bin/phpcbf \ && chmod +x /usr/local/bin/phpcbf \
\ \
\ \
# -------------------- php-cs-fixer -------------------- # -------------------- php-cs-fixer --------------------
&& curl -sS -L https://cs.symfony.com/download/php-cs-fixer-v2.phar > /usr/local/bin/php-cs-fixer 2>/dev/null \ && curl -sS -L --fail https://cs.symfony.com/download/php-cs-fixer-v2.phar > /usr/local/bin/php-cs-fixer 2>/dev/null \
&& chmod +x /usr/local/bin/php-cs-fixer \ && chmod +x /usr/local/bin/php-cs-fixer \
\ \
\ \
# -------------------- phpmd --------------------
&& curl -sS -L --fail https://phpmd.org/static/latest/phpmd.phar > phpmd.phar \
&& mv phpmd.phar /usr/local/bin/phpmd \
&& chmod +x /usr/local/bin/phpmd \
\
\
# -------------------- phpunit -------------------- # -------------------- phpunit --------------------
&& curl -qL https://phar.phpunit.de/phpunit-7.phar > /usr/local/bin/phpunit 2>/dev/null \ && curl -sS -L --fail https://phar.phpunit.de/phpunit-7.phar > /usr/local/bin/phpunit 2>/dev/null \
&& chmod +x /usr/local/bin/phpunit \ && chmod +x /usr/local/bin/phpunit \
\ \
\ \
# -------------------- symfony -------------------- # -------------------- symfony --------------------
&& curl https://symfony.com/installer -L -o /usr/local/bin/symfony \ && SYMFONY_VERSION="$( curl -sS -L --fail https://get.symfony.com/cli/LATEST )" \
&& curl -sS -L --fail "https://github.com/symfony/cli/releases/download/v${SYMFONY_VERSION}/symfony_linux_amd64" > /usr/local/bin/symfony \
&& chmod +x /usr/local/bin/symfony \ && chmod +x /usr/local/bin/symfony \
\ \
# -------------------- wkhtmltopdf -------------------- # -------------------- wkhtmltopdf --------------------
&& VERSION="$( curl -sSL https://github.com/wkhtmltopdf/wkhtmltopdf/releases | grep -Eo '/wkhtmltopdf/.+stretch_amd64\.deb' | head -1 )" \ && VERSION="$( curl -sSL -L --fail https://github.com/wkhtmltopdf/wkhtmltopdf/releases | grep -Eo '/wkhtmltopdf/.+stretch_amd64\.deb' | head -1 )" \
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \ && DEBIAN_FRONTEND=noninteractive apt-get update -qq \
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \ && DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
libfontenc1 libxfont2 xfonts-75dpi xfonts-base xfonts-encodings xfonts-utils \ libfontenc1 libxfont2 xfonts-75dpi xfonts-base xfonts-encodings xfonts-utils \
&& curl -sS -L -o /tmp/wkhtmltopdf.deb https://github.com/${VERSION} \ && curl -sS -L --fail -o /tmp/wkhtmltopdf.deb https://github.com/${VERSION} \
&& dpkg -i /tmp/wkhtmltopdf.deb \ && dpkg -i /tmp/wkhtmltopdf.deb \
&& rm -f /tmp/wkhtmltopdf.deb \ && rm -f /tmp/wkhtmltopdf.deb \
\ \
@@ -333,7 +345,7 @@ RUN set -eux \
\ \
\ \
# -------------------- wpcli -------------------- # -------------------- wpcli --------------------
&& curl https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar -L -o /usr/local/bin/wp \ && curl -sS -L --fail https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar -L -o /usr/local/bin/wp \
&& chmod +x /usr/local/bin/wp \ && chmod +x /usr/local/bin/wp \
\ \
# -------------------- cleanup -------------------- # -------------------- cleanup --------------------
@@ -379,23 +391,23 @@ RUN set -eux \
### ###
RUN set -eux \ RUN set -eux \
# -------------------- asgardcms -------------------- # -------------------- asgardcms --------------------
&& COMPOSER_HOME="/usr/local/src/composer" composer global require asgardcms/asgardcms-installer \ && COMPOSER_HOME="/usr/local/src/composer" COMPOSER_MEMORY_LIMIT=-1 /usr/local/bin/composer global require asgardcms/asgardcms-installer \
&& ln -s /usr/local/src/composer/vendor/asgardcms/asgardcms-installer/asgardcms /usr/local/bin/ \ && ln -s /usr/local/src/composer/vendor/asgardcms/asgardcms-installer/asgardcms /usr/local/bin/ \
\ \
# -------------------- codeception -------------------- # -------------------- codeception --------------------
&& COMPOSER_HOME="/usr/local/src/composer" composer global require codeception/codeception \ && COMPOSER_HOME="/usr/local/src/composer" COMPOSER_MEMORY_LIMIT=-1 /usr/local/bin/composer global require codeception/codeception \
&& ln -s /usr/local/src/composer/vendor/codeception/codeception/codecept /usr/local/bin/ \ && ln -s /usr/local/src/composer/vendor/codeception/codeception/codecept /usr/local/bin/ \
\ \
# -------------------- lumen -------------------- # -------------------- lumen --------------------
&& COMPOSER_HOME="/usr/local/src/composer" composer global require laravel/lumen-installer \ && COMPOSER_HOME="/usr/local/src/composer" COMPOSER_MEMORY_LIMIT=-1 /usr/local/bin/composer global require laravel/lumen-installer \
&& ln -s /usr/local/src/composer/vendor/laravel/lumen-installer/lumen /usr/local/bin/ \ && ln -s /usr/local/src/composer/vendor/laravel/lumen-installer/lumen /usr/local/bin/ \
\ \
# -------------------- photon -------------------- # -------------------- photon --------------------
&& COMPOSER_HOME="/usr/local/src/composer" composer global require photoncms/installer \ && COMPOSER_HOME="/usr/local/src/composer" COMPOSER_MEMORY_LIMIT=-1 /usr/local/bin/composer global require photoncms/installer \
&& ln -s /usr/local/src/composer/vendor/photoncms/installer/photon /usr/local/bin/ \ && ln -s /usr/local/src/composer/vendor/photoncms/installer/photon /usr/local/bin/ \
\ \
# -------------------- prestissimo -------------------- # -------------------- prestissimo --------------------
&& COMPOSER_HOME="/usr/local/src/composer" composer global require hirak/prestissimo \ && COMPOSER_HOME="/usr/local/src/composer" COMPOSER_MEMORY_LIMIT=-1 /usr/local/bin/composer global require hirak/prestissimo \
\ \
\ \
&& rm -rf /tmp/* \ && rm -rf /tmp/* \
@@ -411,40 +423,46 @@ RUN set -eux \
### ###
RUN set -eux \ RUN set -eux \
# -------------------- angular_cli -------------------- # -------------------- angular_cli --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g @angular/cli' devilbox \ && su -c '. /opt/nvm/nvm.sh; npm install -g --force @angular/cli' devilbox \
\ \
# -------------------- eslint -------------------- # -------------------- eslint --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g eslint' devilbox \ && su -c '. /opt/nvm/nvm.sh; npm install -g --force eslint' devilbox \
\ \
# -------------------- grunt -------------------- # -------------------- grunt --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g grunt' devilbox \ && su -c '. /opt/nvm/nvm.sh; npm install -g --force grunt' devilbox \
\ \
# -------------------- grunt_cli -------------------- # -------------------- grunt_cli --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g grunt-cli' devilbox \ && su -c '. /opt/nvm/nvm.sh; npm install -g --force grunt-cli' devilbox \
\ \
# -------------------- gulp -------------------- # -------------------- gulp --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g gulp' devilbox \ && su -c '. /opt/nvm/nvm.sh; npm install -g --force gulp' devilbox \
\ \
# -------------------- jsonlint -------------------- # -------------------- jsonlint --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g jsonlint' devilbox \ && su -c '. /opt/nvm/nvm.sh; npm install -g --force jsonlint' devilbox \
\ \
# -------------------- pm2 -------------------- # -------------------- pm2 --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g pm2' devilbox \ && su -c '. /opt/nvm/nvm.sh; npm install -g --force pm2' devilbox \
\ \
# -------------------- mdlint -------------------- # -------------------- mdlint --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g mdlint' devilbox \ && su -c '. /opt/nvm/nvm.sh; npm install -g --force mdlint' devilbox \
\
# -------------------- sass --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force sass' devilbox \
\
# -------------------- stylelint --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force stylelint' devilbox \
\ \
# -------------------- vue_cli -------------------- # -------------------- vue_cli --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g @vue/cli' devilbox \ && su -c '. /opt/nvm/nvm.sh; npm install -g --force @vue/cli' devilbox \
\ \
# -------------------- vue_cli_service_global -------------------- # -------------------- vue_cli_service_global --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g @vue/cli-service-global' devilbox \ && su -c '. /opt/nvm/nvm.sh; npm install -g --force @vue/cli-service-global' devilbox \
\ \
# -------------------- webpack -------------------- # -------------------- webpack --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g webpack' devilbox \ && su -c '. /opt/nvm/nvm.sh; npm install -g --force webpack' devilbox \
\ \
# -------------------- webpack_cli -------------------- # -------------------- webpack_cli --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g webpack-cli' devilbox \ && su -c '. /opt/nvm/nvm.sh; npm install -g --force webpack-cli' devilbox \
\ \
\ \
&& ln -sf $(dirname $(su -c '. /opt/nvm/nvm.sh; nvm which current' devilbox))/* /usr/local/bin/ \ && ln -sf $(dirname $(su -c '. /opt/nvm/nvm.sh; nvm which current' devilbox))/* /usr/local/bin/ \
@@ -452,6 +470,7 @@ RUN set -eux \
&& su -c '. /opt/nvm/nvm.sh; npm cache clear --force' devilbox \ && su -c '. /opt/nvm/nvm.sh; npm cache clear --force' devilbox \
&& su -c '. /opt/nvm/nvm.sh; nvm cache clear --force' devilbox \ && su -c '. /opt/nvm/nvm.sh; nvm cache clear --force' devilbox \
&& rm -rf /home/devilbox/.npm \ && rm -rf /home/devilbox/.npm \
&& rm -rf /home/devilbox/.cache \
&& rm -rf /home/devilbox/.config \ && rm -rf /home/devilbox/.config \
&& rm -rf /tmp/* \ && rm -rf /tmp/* \
&& (rm -rf /tmp/.* || true) \ && (rm -rf /tmp/.* || true) \
@@ -472,12 +491,6 @@ RUN set -eux \
# -------------------- mdl -------------------- # -------------------- mdl --------------------
&& gem install mdl \ && gem install mdl \
\ \
# -------------------- scss_lint --------------------
&& gem install scss_lint -v 0.57.1 \
\
# -------------------- sass --------------------
&& gem install sass \
\
\ \
&& rm -rf /root/.gem \ && rm -rf /root/.gem \
&& rm -rf /tmp/* \ && rm -rf /tmp/* \
@@ -493,13 +506,13 @@ RUN set -eux \
### ###
RUN set -eux \ RUN set -eux \
# -------------------- ansible -------------------- # -------------------- ansible --------------------
&& pip install --no-cache-dir --force-reinstall ansible \ && pip install --no-cache-dir --force-reinstall ansible || true \
\ \
# -------------------- yamllint -------------------- # -------------------- yamllint --------------------
&& pip install --no-cache-dir --force-reinstall yamllint \ && pip install --no-cache-dir --force-reinstall yamllint || true \
\ \
# -------------------- yq -------------------- # -------------------- yq --------------------
&& pip install --no-cache-dir --force-reinstall yq \ && pip install --no-cache-dir --force-reinstall yq || true \
\ \
\ \
&& rm -rf /root/.cache/pip \ && rm -rf /root/.cache/pip \
@@ -552,55 +565,58 @@ RUN set -eux \
RUN set -eux \ RUN set -eux \
# -------------------- Software -------------------- # -------------------- Software --------------------
&& composer --version 2>/dev/null | grep -E 'version\s*[.0-9]+' \ && composer --version 2>/dev/null | grep -E 'version\s*[0-9][.0-9]+' \
&& su -c '. /opt/nvm/nvm.sh; nvm --version' devilbox | grep -E '^[.0-9]+' \ && su -c '. /opt/nvm/nvm.sh; nvm --version' devilbox | grep -E '^[0-9][.0-9]+' \
&& regex-grep --version | grep -E '[.0-9]+' \ && regex-grep --version | grep -E '[0-9][.0-9]+' \
&& dep --version 2>/dev/null | grep -Ei 'deployer\s*(version\s*)?[.0-9]+' \ && dep --version 2>/dev/null | grep -Ei 'deployer\s*(version\s*)?[0-9][.0-9]+' \
&& drush7 --version | grep -E '7[.0-9]+\s*$' \ && drush7 --version | grep -E '7[.0-9]+\s*$' \
&& drush8 --version | grep -E '8[.0-9]+\s*$' \ && drush8 --version | grep -E '8[.0-9]+\s*$' \
&& drush9 --version | grep -E '9[.0-9]+\s*$' \ && drush9 --version | grep -E '9[.0-9]+\s*$' \
&& drupal --version | grep -E 'Drupal Console Launcher\s*[.0-9]' \ && drupal --version | grep -E 'Drupal Console Launcher\s*[0-9][.0-9]' \
&& git-flow version | grep -E '[.0-9]+' \ && git-flow version | grep -E '[0-9][.0-9]+' \
&& laravel --version | grep -E '(Installer|version)\s*[.0-9]+' \ && laravel --version | grep -E '(Installer|version)\s*[0-9][.0-9]+' \
&& linkcheck --version | grep -E '^linkcheck\sv[.0-9]+' \ && linkcheck --version | grep -E '^linkcheck\sv[0-9][.0-9]+' \
&& su - ${MY_USER} -c '/usr/local/src/linuxbrew/bin/brew --version' | grep -E 'Homebrew\s*[.0-9]+' \ && su - ${MY_USER} -c '/usr/local/src/linuxbrew/bin/brew --version' | grep -E 'Homebrew\s*[0-9][.0-9]+' \
&& mysqldump-secure --version | grep -E 'Version:\s*[.0-9]+' \ && mysqldump-secure --version | grep -E 'Version:\s*[0-9][.0-9]+' \
&& phalcon commands | grep -E '[.0-9]+' \ && phalcon commands | grep -E '[0-9][.0-9]+' \
&& phpcs --version | grep -E 'version [.0-9]+' \ && phpcs --version | grep -E 'version [0-9][.0-9]+' \
&& phpcbf --version | grep -E 'version [.0-9]+' \ && phpcbf --version | grep -E 'version [0-9][.0-9]+' \
&& php-cs-fixer --version 2>&1 | grep -E 'Fixer\s+(version\s*)?[-_.0-9]+\s+' \ && php-cs-fixer --version 2>&1 | grep -E 'Fixer\s+(version\s*)?[-_.0-9]+\s+' \
&& phpunit --version | grep -iE '^PHPUnit\s[.0-9]+' \ && phpmd --version | grep -E '^PHPMD [0-9][.0-9]+' \
&& symfony --version | grep -E 'version\s*[.0-9]+' \ && phpunit --version | grep -iE '^PHPUnit\s[0-9][.0-9]+' \
&& wkhtmltopdf --version | grep -E "^wkhtmltopdf [.0-9]+\s+\(.+patched.+\)" \ && symfony -V | grep -Ei 'version\s*.*v[0-9][.0-9]+' \
&& wp --allow-root --version | grep -E '[.0-9]+' \ && wkhtmltopdf --version | grep -E "^wkhtmltopdf [0-9][.0-9]+\s+\(.+patched.+\)" \
&& wp --allow-root --version | grep -E '[0-9][.0-9]+' \
\ \
# -------------------- Composer -------------------- # -------------------- Composer --------------------
&& asgardcms --version 2>/dev/null | grep -Ei 'AsgardCMS\sInstaller\s[.0-9]+' \ && asgardcms --version 2>/dev/null | grep -Ei 'AsgardCMS\sInstaller\s[0-9][.0-9]+' \
&& codecept --version 2>/dev/null | grep -E '^Codeception(\sversion)?\s[.0-9]+$' \ && codecept --version 2>/dev/null | grep -E '^Codeception(\sversion)?\s[0-9][.0-9]+$' \
&& lumen --version 2>/dev/null | grep -E '^Lumen Installer\s[.0-9]+$' \ && lumen --version 2>/dev/null | grep -E '^Lumen Installer\s[0-9][.0-9]+$' \
&& photon --version | grep -E 'Installer [.0-9]+' \ && photon --version | grep -E 'Installer [0-9][.0-9]+' \
\ \
# -------------------- PIP -------------------- # -------------------- PIP --------------------
&& ansible --version | grep -E '^ansible [.0-9]+$' \ && ansible --version | grep -E '^ansible [0-9][.0-9]+$' \
&& yamllint --version 2>&1 | grep -E '[.0-9]+' \ && yamllint --version 2>&1 | grep -E '[0-9][.0-9]+' \
&& yq --version 2>&1 | grep -E '^yq\s+[.0-9]+$' \ && yq --version 2>&1 | grep -E '^yq\s+[0-9][.0-9]+$' \
\ \
# -------------------- NPM -------------------- # -------------------- NPM --------------------
&& ng version 2>&1 | grep -iE 'Angular CLI:\s*[.0-9]+' \ && ng version 2>&1 | grep -iE 'Angular CLI:\s*[0-9][.0-9]+' \
&& eslint -v | grep -E '[.0-9]+' \ && eslint -v | grep -E '[0-9][.0-9]+' \
&& grunt --version | grep -E '[.0-9]+' \ && grunt --version | grep -E '[0-9][.0-9]+' \
&& gulp --version | grep -E '[.0-9]+' \ && gulp --version | grep -E '[0-9][.0-9]+' \
&& jsonlint --version | grep -E '[.0-9]+' \ && jsonlint --version | grep -E '[0-9][.0-9]+' \
&& pm2 --no-daemon --version | grep -E '[.0-9]+' \ && pm2 --no-daemon --version | tail -1 | grep -E '[0-9][.0-9]+' \
&& mdlint --version | grep -E '[.0-9]+' \ && mdlint --version | grep -E '[0-9][.0-9]+' \
&& vue --version | grep -E '[.0-9]+' \ && sass --version | grep -E '[0-9][.0-9]+' \
&& webpack --version | grep -E '[.0-9]+' \ && stylelint --version | grep -E '[0-9][.0-9]+' \
&& vue --version | grep -E '[0-9][.0-9]+' \
&& webpack --version | grep -E '[0-9][.0-9]+' \
\ \
# -------------------- GEM -------------------- # -------------------- GEM --------------------
&& mdl --version | grep -E '[.0-9]+' \ && mdl --version | grep -E '[0-9][.0-9]+' \
&& sass --version | grep -E '[.0-9]+' \
\ \
# -------------------- Cleanup -------------------- # -------------------- Cleanup --------------------
&& rm -rf /home/devilbox/.cache/ \
&& rm -rf /home/devilbox/.config/ \ && rm -rf /home/devilbox/.config/ \
&& rm -rf /root/.ansible \ && rm -rf /root/.ansible \
&& rm -rf /root/.console \ && rm -rf /root/.console \

View File

@@ -40,15 +40,15 @@ RUN set -eux \
gnupg \ gnupg \
\ \
&& echo "deb http://ftp.debian.org/debian stretch-backports main" > /etc/apt/sources.list.d/backports.list \ && echo "deb http://ftp.debian.org/debian stretch-backports main" > /etc/apt/sources.list.d/backports.list \
&& curl -sS "https://packages.blackfire.io/gpg.key" 2>/dev/null | APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key add - \ && curl -sS -L --fail "https://packages.blackfire.io/gpg.key" 2>/dev/null | APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key add - \
&& echo "deb http://packages.blackfire.io/debian any main" > /etc/apt/sources.list.d/blackfire.list \ && echo "deb http://packages.blackfire.io/debian any main" > /etc/apt/sources.list.d/blackfire.list \
&& APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv A1715D88E1DF1F24 \ && APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv A1715D88E1DF1F24 \
&& echo "deb http://ppa.launchpad.net/git-core/ppa/ubuntu artful main" > /etc/apt/sources.list.d/git.list \ && echo "deb http://ppa.launchpad.net/git-core/ppa/ubuntu artful main" > /etc/apt/sources.list.d/git.list \
&& APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 9DA31620334BD75D9DCB49F368818C72E52529D4 \ && APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 9DA31620334BD75D9DCB49F368818C72E52529D4 \
&& echo "deb http://repo.mongodb.org/apt/debian stretch/mongodb-org/4.0 main" > /etc/apt/sources.list.d/mongo.list \ && echo "deb http://repo.mongodb.org/apt/debian stretch/mongodb-org/4.0 main" > /etc/apt/sources.list.d/mongo.list \
&& curl -sS https://www.postgresql.org/media/keys/ACCC4CF8.asc 2>/dev/null | APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key add - \ && curl -sS -L --fail https://www.postgresql.org/media/keys/ACCC4CF8.asc 2>/dev/null | APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key add - \
&& echo "deb http://apt.postgresql.org/pub/repos/apt/ stretch-pgdg main" > /etc/apt/sources.list.d/pgsql.list \ && echo "deb http://apt.postgresql.org/pub/repos/apt/ stretch-pgdg main" > /etc/apt/sources.list.d/pgsql.list \
&& curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg 2>/dev/null | APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key add - \ && curl -sS -L --fail https://dl.yarnpkg.com/debian/pubkey.gpg 2>/dev/null | APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key add - \
&& echo "deb http://dl.yarnpkg.com/debian/ stable main" > /etc/apt/sources.list.d/yarn.list \ && echo "deb http://dl.yarnpkg.com/debian/ stable main" > /etc/apt/sources.list.d/yarn.list \
\ \
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \ && DEBIAN_FRONTEND=noninteractive apt-get update -qq \
@@ -62,6 +62,7 @@ RUN set -eux \
blackfire-agent \ blackfire-agent \
build-essential \ build-essential \
bzip2 \ bzip2 \
certbot \
coreutils \ coreutils \
dnsutils \ dnsutils \
dos2unix \ dos2unix \
@@ -73,6 +74,7 @@ RUN set -eux \
git-svn \ git-svn \
ghostscript \ ghostscript \
graphviz \ graphviz \
gsfonts \
hostname \ hostname \
htop \ htop \
imagemagick \ imagemagick \
@@ -88,6 +90,8 @@ RUN set -eux \
mongodb-org-tools \ mongodb-org-tools \
moreutils \ moreutils \
mariadb-client \ mariadb-client \
mupdf \
mupdf-tools \
nano \ nano \
net-tools \ net-tools \
netcat \ netcat \
@@ -128,7 +132,7 @@ RUN set -eux \
### ###
RUN set -eux \ RUN set -eux \
# -------------------- composer -------------------- # -------------------- composer --------------------
&& curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer \ && curl -sS -L --fail https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer \
\ \
# -------------------- pip -------------------- # -------------------- pip --------------------
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \ && DEBIAN_FRONTEND=noninteractive apt-get update -qq \
@@ -137,7 +141,7 @@ RUN set -eux \
&& DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \ && DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \
&& rm -rf /var/lib/apt/lists/* \ && rm -rf /var/lib/apt/lists/* \
\ \
&& curl -sS https://bootstrap.pypa.io/get-pip.py | python \ && curl -sS -L --fail https://bootstrap.pypa.io/get-pip.py | python \
\ \
\ \
# -------------------- nvm -------------------- # -------------------- nvm --------------------
@@ -169,7 +173,7 @@ RUN set -eux \
\ \
\ \
# -------------------- deployer -------------------- # -------------------- deployer --------------------
&& curl -sS https://deployer.org/deployer.phar -L -o /usr/local/bin/dep \ && curl -sS -L --fail https://deployer.org/deployer.phar -L -o /usr/local/bin/dep \
&& chmod +x /usr/local/bin/dep \ && chmod +x /usr/local/bin/dep \
\ \
# -------------------- drush7 -------------------- # -------------------- drush7 --------------------
@@ -178,7 +182,7 @@ RUN set -eux \
&& git checkout 7.4.0 \ && git checkout 7.4.0 \
\ \
&& chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/drush7 \ && chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/drush7 \
&& su - ${MY_USER} -c 'PATH=/usr/local/bin:$PATH; cd /usr/local/src/drush7 && composer install --no-interaction --no-progress --no-dev' \ && su - ${MY_USER} -c 'PATH=/usr/local/bin:$PATH; cd /usr/local/src/drush7 && COMPOSER_MEMORY_LIMIT=-1 /usr/local/bin/composer install --no-interaction --no-progress --no-dev' \
&& ln -s /usr/local/src/drush7/drush /usr/local/bin/drush7 \ && ln -s /usr/local/src/drush7/drush /usr/local/bin/drush7 \
&& rm -rf /usr/local/src/drush7/.git \ && rm -rf /usr/local/src/drush7/.git \
&& rm -rf /usr/local/src/drush7/docs \ && rm -rf /usr/local/src/drush7/docs \
@@ -192,7 +196,7 @@ RUN set -eux \
&& git checkout $( git for-each-ref --format='%(*creatordate:raw)%(creatordate:raw) %(refname)' refs/tags | sort -n | grep -E 'tags/8[.0-9]+$' | tail -1 | sed 's|.*/||g' ) \ && git checkout $( git for-each-ref --format='%(*creatordate:raw)%(creatordate:raw) %(refname)' refs/tags | sort -n | grep -E 'tags/8[.0-9]+$' | tail -1 | sed 's|.*/||g' ) \
\ \
&& chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/drush8 \ && chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/drush8 \
&& su - ${MY_USER} -c 'PATH=/usr/local/bin:$PATH; cd /usr/local/src/drush8 && composer install --no-interaction --no-progress --no-dev' \ && su - ${MY_USER} -c 'PATH=/usr/local/bin:$PATH; cd /usr/local/src/drush8 && COMPOSER_MEMORY_LIMIT=-1 /usr/local/bin/composer install --no-interaction --no-progress --no-dev' \
&& ln -s /usr/local/src/drush8/drush /usr/local/bin/drush8 \ && ln -s /usr/local/src/drush8/drush /usr/local/bin/drush8 \
&& rm -rf /usr/local/src/drush8/.git \ && rm -rf /usr/local/src/drush8/.git \
&& rm -rf /usr/local/src/drush8/docs \ && rm -rf /usr/local/src/drush8/docs \
@@ -206,7 +210,7 @@ RUN set -eux \
&& git checkout $( git for-each-ref --format='%(*creatordate:raw)%(creatordate:raw) %(refname)' refs/tags | sort -n | grep -E 'tags/9[.0-9]+$' | tail -1 | sed 's|.*/||g' ) \ && git checkout $( git for-each-ref --format='%(*creatordate:raw)%(creatordate:raw) %(refname)' refs/tags | sort -n | grep -E 'tags/9[.0-9]+$' | tail -1 | sed 's|.*/||g' ) \
\ \
&& chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/drush9 \ && chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/drush9 \
&& su - ${MY_USER} -c 'PATH=/usr/local/bin:$PATH; cd /usr/local/src/drush9 && php -d memory_limit=-1 `which composer` install --no-interaction --no-progress' \ && su - ${MY_USER} -c 'PATH=/usr/local/bin:$PATH; cd /usr/local/src/drush9 && COMPOSER_MEMORY_LIMIT=-1 /usr/local/bin/composer install --no-interaction --no-progress' \
&& ln -s /usr/local/src/drush9/drush /usr/local/bin/drush9 \ && ln -s /usr/local/src/drush9/drush /usr/local/bin/drush9 \
&& rm -rf /usr/local/src/drush9/.git \ && rm -rf /usr/local/src/drush9/.git \
&& rm -rf /usr/local/src/drush9/docs \ && rm -rf /usr/local/src/drush9/docs \
@@ -215,7 +219,8 @@ RUN set -eux \
\ \
\ \
# -------------------- drupalconsole -------------------- # -------------------- drupalconsole --------------------
&& curl https://drupalconsole.com/installer -L -o /usr/local/bin/drupal \ && DURL="https://github.com$(curl -sS 'https://github.com/hechoendrupal/drupal-console-launcher/releases' | grep -Eo 'href="/.+drupal.phar"' | head -1 | sed 's/^href="//g' | sed 's/"$//g')" \
&& curl -sS -L --fail "${DURL}" -L -o /usr/local/bin/drupal \
&& chmod +x /usr/local/bin/drupal \ && chmod +x /usr/local/bin/drupal \
\ \
# -------------------- gitflow -------------------- # -------------------- gitflow --------------------
@@ -228,16 +233,16 @@ RUN set -eux \
# -------------------- laravel -------------------- # -------------------- laravel --------------------
&& git clone https://github.com/laravel/installer /usr/local/src/laravel-installer \ && git clone https://github.com/laravel/installer /usr/local/src/laravel-installer \
&& cd /usr/local/src/laravel-installer \ && cd /usr/local/src/laravel-installer \
&& git checkout $(git describe --abbrev=0 --tags) \ && git checkout v4.0.0 \
\ \
&& chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/laravel-installer \ && chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/laravel-installer \
&& su - ${MY_USER} -c 'PATH=/usr/local/bin:$PATH; cd /usr/local/src/laravel-installer && composer install --no-interaction --no-progress --no-dev' \ && su - ${MY_USER} -c 'PATH=/usr/local/bin:$PATH; cd /usr/local/src/laravel-installer && COMPOSER_MEMORY_LIMIT=-1 /usr/local/bin/composer install --no-interaction --no-progress --no-dev' \
&& rm -rf /usr/local/src/laravel-installer/laravel/.git \ && rm -rf /usr/local/src/laravel-installer/laravel/.git \
\ \
&& ln -s /usr/local/src/laravel-installer/bin/laravel /usr/local/bin/laravel \ && ln -s /usr/local/src/laravel-installer/bin/laravel /usr/local/bin/laravel \
\ \
# -------------------- linkcheck -------------------- # -------------------- linkcheck --------------------
&& curl https://raw.githubusercontent.com/cytopia/linkcheck/master/linkcheck > /usr/local/bin/linkcheck \ && curl -sS -L --fail https://raw.githubusercontent.com/cytopia/linkcheck/master/linkcheck > /usr/local/bin/linkcheck \
&& chmod +x /usr/local/bin/linkcheck \ && chmod +x /usr/local/bin/linkcheck \
\ \
\ \
@@ -254,7 +259,7 @@ RUN set -eux \
\ \
\ \
# -------------------- mhsendmail -------------------- # -------------------- mhsendmail --------------------
&& wget https://github.com/mailhog/mhsendmail/releases/download/v0.2.0/mhsendmail_linux_amd64 \ && curl -sS -L --fail https://github.com/devilbox/mhsendmail/releases/download/v0.3.0/mhsendmail_linux_amd64 > mhsendmail_linux_amd64 \
&& chmod +x mhsendmail_linux_amd64 \ && chmod +x mhsendmail_linux_amd64 \
&& mv mhsendmail_linux_amd64 /usr/local/bin/mhsendmail \ && mv mhsendmail_linux_amd64 /usr/local/bin/mhsendmail \
\ \
@@ -286,6 +291,7 @@ RUN set -eux \
&& git clone https://github.com/phalcon/phalcon-devtools /usr/local/src/phalcon-devtools \ && git clone https://github.com/phalcon/phalcon-devtools /usr/local/src/phalcon-devtools \
&& cd /usr/local/src/phalcon-devtools \ && cd /usr/local/src/phalcon-devtools \
&& git checkout $(git describe --abbrev=0 --tags) \ && git checkout $(git describe --abbrev=0 --tags) \
&& COMPOSER_MEMORY_LIMIT=-1 /usr/local/bin/composer install \
\ \
&& chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/phalcon-devtools \ && chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/phalcon-devtools \
&& su - ${MY_USER} -c 'cd /usr/local/src/phalcon-devtools && ./phalcon.sh' \ && su - ${MY_USER} -c 'cd /usr/local/src/phalcon-devtools && ./phalcon.sh' \
@@ -296,35 +302,42 @@ RUN set -eux \
\ \
\ \
# -------------------- phpcs -------------------- # -------------------- phpcs --------------------
&& curl -sS -L https://squizlabs.github.io/PHP_CodeSniffer/phpcs.phar > /usr/local/bin/phpcs 2>/dev/null \ && curl -sS -L --fail https://squizlabs.github.io/PHP_CodeSniffer/phpcs.phar > /usr/local/bin/phpcs 2>/dev/null \
&& chmod +x /usr/local/bin/phpcs \ && chmod +x /usr/local/bin/phpcs \
\ \
\ \
# -------------------- phpcbf -------------------- # -------------------- phpcbf --------------------
&& curl -sS -L https://squizlabs.github.io/PHP_CodeSniffer/phpcbf.phar > /usr/local/bin/phpcbf 2>/dev/null \ && curl -sS -L --fail https://squizlabs.github.io/PHP_CodeSniffer/phpcbf.phar > /usr/local/bin/phpcbf 2>/dev/null \
&& chmod +x /usr/local/bin/phpcbf \ && chmod +x /usr/local/bin/phpcbf \
\ \
\ \
# -------------------- php-cs-fixer -------------------- # -------------------- php-cs-fixer --------------------
&& curl -sS -L https://cs.symfony.com/download/php-cs-fixer-v2.phar > /usr/local/bin/php-cs-fixer 2>/dev/null \ && curl -sS -L --fail https://cs.symfony.com/download/php-cs-fixer-v2.phar > /usr/local/bin/php-cs-fixer 2>/dev/null \
&& chmod +x /usr/local/bin/php-cs-fixer \ && chmod +x /usr/local/bin/php-cs-fixer \
\ \
\ \
# -------------------- phpmd --------------------
&& curl -sS -L --fail https://phpmd.org/static/latest/phpmd.phar > phpmd.phar \
&& mv phpmd.phar /usr/local/bin/phpmd \
&& chmod +x /usr/local/bin/phpmd \
\
\
# -------------------- phpunit -------------------- # -------------------- phpunit --------------------
&& curl -qL https://phar.phpunit.de/phpunit-7.phar > /usr/local/bin/phpunit 2>/dev/null \ && curl -sS -L --fail https://phar.phpunit.de/phpunit-7.phar > /usr/local/bin/phpunit 2>/dev/null \
&& chmod +x /usr/local/bin/phpunit \ && chmod +x /usr/local/bin/phpunit \
\ \
\ \
# -------------------- symfony -------------------- # -------------------- symfony --------------------
&& curl https://symfony.com/installer -L -o /usr/local/bin/symfony \ && SYMFONY_VERSION="$( curl -sS -L --fail https://get.symfony.com/cli/LATEST )" \
&& curl -sS -L --fail "https://github.com/symfony/cli/releases/download/v${SYMFONY_VERSION}/symfony_linux_amd64" > /usr/local/bin/symfony \
&& chmod +x /usr/local/bin/symfony \ && chmod +x /usr/local/bin/symfony \
\ \
# -------------------- wkhtmltopdf -------------------- # -------------------- wkhtmltopdf --------------------
&& VERSION="$( curl -sSL https://github.com/wkhtmltopdf/wkhtmltopdf/releases | grep -Eo '/wkhtmltopdf/.+stretch_amd64\.deb' | head -1 )" \ && VERSION="$( curl -sSL -L --fail https://github.com/wkhtmltopdf/wkhtmltopdf/releases | grep -Eo '/wkhtmltopdf/.+stretch_amd64\.deb' | head -1 )" \
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \ && DEBIAN_FRONTEND=noninteractive apt-get update -qq \
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \ && DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
libfontenc1 libxfont2 xfonts-75dpi xfonts-base xfonts-encodings xfonts-utils \ libfontenc1 libxfont2 xfonts-75dpi xfonts-base xfonts-encodings xfonts-utils \
&& curl -sS -L -o /tmp/wkhtmltopdf.deb https://github.com/${VERSION} \ && curl -sS -L --fail -o /tmp/wkhtmltopdf.deb https://github.com/${VERSION} \
&& dpkg -i /tmp/wkhtmltopdf.deb \ && dpkg -i /tmp/wkhtmltopdf.deb \
&& rm -f /tmp/wkhtmltopdf.deb \ && rm -f /tmp/wkhtmltopdf.deb \
\ \
@@ -333,7 +346,7 @@ RUN set -eux \
\ \
\ \
# -------------------- wpcli -------------------- # -------------------- wpcli --------------------
&& curl https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar -L -o /usr/local/bin/wp \ && curl -sS -L --fail https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar -L -o /usr/local/bin/wp \
&& chmod +x /usr/local/bin/wp \ && chmod +x /usr/local/bin/wp \
\ \
# -------------------- cleanup -------------------- # -------------------- cleanup --------------------
@@ -379,23 +392,23 @@ RUN set -eux \
### ###
RUN set -eux \ RUN set -eux \
# -------------------- asgardcms -------------------- # -------------------- asgardcms --------------------
&& COMPOSER_HOME="/usr/local/src/composer" composer global require asgardcms/asgardcms-installer \ && COMPOSER_HOME="/usr/local/src/composer" COMPOSER_MEMORY_LIMIT=-1 /usr/local/bin/composer global require asgardcms/asgardcms-installer \
&& ln -s /usr/local/src/composer/vendor/asgardcms/asgardcms-installer/asgardcms /usr/local/bin/ \ && ln -s /usr/local/src/composer/vendor/asgardcms/asgardcms-installer/asgardcms /usr/local/bin/ \
\ \
# -------------------- codeception -------------------- # -------------------- codeception --------------------
&& COMPOSER_HOME="/usr/local/src/composer" composer global require codeception/codeception \ && COMPOSER_HOME="/usr/local/src/composer" COMPOSER_MEMORY_LIMIT=-1 /usr/local/bin/composer global require codeception/codeception \
&& ln -s /usr/local/src/composer/vendor/codeception/codeception/codecept /usr/local/bin/ \ && ln -s /usr/local/src/composer/vendor/codeception/codeception/codecept /usr/local/bin/ \
\ \
# -------------------- lumen -------------------- # -------------------- lumen --------------------
&& COMPOSER_HOME="/usr/local/src/composer" composer global require laravel/lumen-installer \ && COMPOSER_HOME="/usr/local/src/composer" COMPOSER_MEMORY_LIMIT=-1 /usr/local/bin/composer global require laravel/lumen-installer \
&& ln -s /usr/local/src/composer/vendor/laravel/lumen-installer/lumen /usr/local/bin/ \ && ln -s /usr/local/src/composer/vendor/laravel/lumen-installer/lumen /usr/local/bin/ \
\ \
# -------------------- photon -------------------- # -------------------- photon --------------------
&& COMPOSER_HOME="/usr/local/src/composer" composer global require photoncms/installer \ && COMPOSER_HOME="/usr/local/src/composer" COMPOSER_MEMORY_LIMIT=-1 /usr/local/bin/composer global require photoncms/installer \
&& ln -s /usr/local/src/composer/vendor/photoncms/installer/photon /usr/local/bin/ \ && ln -s /usr/local/src/composer/vendor/photoncms/installer/photon /usr/local/bin/ \
\ \
# -------------------- prestissimo -------------------- # -------------------- prestissimo --------------------
&& COMPOSER_HOME="/usr/local/src/composer" composer global require hirak/prestissimo \ && COMPOSER_HOME="/usr/local/src/composer" COMPOSER_MEMORY_LIMIT=-1 /usr/local/bin/composer global require hirak/prestissimo \
\ \
\ \
&& rm -rf /tmp/* \ && rm -rf /tmp/* \
@@ -411,40 +424,46 @@ RUN set -eux \
### ###
RUN set -eux \ RUN set -eux \
# -------------------- angular_cli -------------------- # -------------------- angular_cli --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g @angular/cli' devilbox \ && su -c '. /opt/nvm/nvm.sh; npm install -g --force @angular/cli' devilbox \
\ \
# -------------------- eslint -------------------- # -------------------- eslint --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g eslint' devilbox \ && su -c '. /opt/nvm/nvm.sh; npm install -g --force eslint' devilbox \
\ \
# -------------------- grunt -------------------- # -------------------- grunt --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g grunt' devilbox \ && su -c '. /opt/nvm/nvm.sh; npm install -g --force grunt' devilbox \
\ \
# -------------------- grunt_cli -------------------- # -------------------- grunt_cli --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g grunt-cli' devilbox \ && su -c '. /opt/nvm/nvm.sh; npm install -g --force grunt-cli' devilbox \
\ \
# -------------------- gulp -------------------- # -------------------- gulp --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g gulp' devilbox \ && su -c '. /opt/nvm/nvm.sh; npm install -g --force gulp' devilbox \
\ \
# -------------------- jsonlint -------------------- # -------------------- jsonlint --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g jsonlint' devilbox \ && su -c '. /opt/nvm/nvm.sh; npm install -g --force jsonlint' devilbox \
\ \
# -------------------- pm2 -------------------- # -------------------- pm2 --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g pm2' devilbox \ && su -c '. /opt/nvm/nvm.sh; npm install -g --force pm2' devilbox \
\ \
# -------------------- mdlint -------------------- # -------------------- mdlint --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g mdlint' devilbox \ && su -c '. /opt/nvm/nvm.sh; npm install -g --force mdlint' devilbox \
\
# -------------------- sass --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force sass' devilbox \
\
# -------------------- stylelint --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force stylelint' devilbox \
\ \
# -------------------- vue_cli -------------------- # -------------------- vue_cli --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g @vue/cli' devilbox \ && su -c '. /opt/nvm/nvm.sh; npm install -g --force @vue/cli' devilbox \
\ \
# -------------------- vue_cli_service_global -------------------- # -------------------- vue_cli_service_global --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g @vue/cli-service-global' devilbox \ && su -c '. /opt/nvm/nvm.sh; npm install -g --force @vue/cli-service-global' devilbox \
\ \
# -------------------- webpack -------------------- # -------------------- webpack --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g webpack' devilbox \ && su -c '. /opt/nvm/nvm.sh; npm install -g --force webpack' devilbox \
\ \
# -------------------- webpack_cli -------------------- # -------------------- webpack_cli --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g webpack-cli' devilbox \ && su -c '. /opt/nvm/nvm.sh; npm install -g --force webpack-cli' devilbox \
\ \
\ \
&& ln -sf $(dirname $(su -c '. /opt/nvm/nvm.sh; nvm which current' devilbox))/* /usr/local/bin/ \ && ln -sf $(dirname $(su -c '. /opt/nvm/nvm.sh; nvm which current' devilbox))/* /usr/local/bin/ \
@@ -452,6 +471,7 @@ RUN set -eux \
&& su -c '. /opt/nvm/nvm.sh; npm cache clear --force' devilbox \ && su -c '. /opt/nvm/nvm.sh; npm cache clear --force' devilbox \
&& su -c '. /opt/nvm/nvm.sh; nvm cache clear --force' devilbox \ && su -c '. /opt/nvm/nvm.sh; nvm cache clear --force' devilbox \
&& rm -rf /home/devilbox/.npm \ && rm -rf /home/devilbox/.npm \
&& rm -rf /home/devilbox/.cache \
&& rm -rf /home/devilbox/.config \ && rm -rf /home/devilbox/.config \
&& rm -rf /tmp/* \ && rm -rf /tmp/* \
&& (rm -rf /tmp/.* || true) \ && (rm -rf /tmp/.* || true) \
@@ -472,12 +492,6 @@ RUN set -eux \
# -------------------- mdl -------------------- # -------------------- mdl --------------------
&& gem install mdl \ && gem install mdl \
\ \
# -------------------- scss_lint --------------------
&& gem install scss_lint -v 0.57.1 \
\
# -------------------- sass --------------------
&& gem install sass \
\
\ \
&& rm -rf /root/.gem \ && rm -rf /root/.gem \
&& rm -rf /tmp/* \ && rm -rf /tmp/* \
@@ -493,13 +507,13 @@ RUN set -eux \
### ###
RUN set -eux \ RUN set -eux \
# -------------------- ansible -------------------- # -------------------- ansible --------------------
&& pip install --no-cache-dir --force-reinstall ansible \ && pip install --no-cache-dir --force-reinstall ansible || true \
\ \
# -------------------- yamllint -------------------- # -------------------- yamllint --------------------
&& pip install --no-cache-dir --force-reinstall yamllint \ && pip install --no-cache-dir --force-reinstall yamllint || true \
\ \
# -------------------- yq -------------------- # -------------------- yq --------------------
&& pip install --no-cache-dir --force-reinstall yq \ && pip install --no-cache-dir --force-reinstall yq || true \
\ \
\ \
&& rm -rf /root/.cache/pip \ && rm -rf /root/.cache/pip \
@@ -552,55 +566,58 @@ RUN set -eux \
RUN set -eux \ RUN set -eux \
# -------------------- Software -------------------- # -------------------- Software --------------------
&& composer --version 2>/dev/null | grep -E 'version\s*[.0-9]+' \ && composer --version 2>/dev/null | grep -E 'version\s*[0-9][.0-9]+' \
&& su -c '. /opt/nvm/nvm.sh; nvm --version' devilbox | grep -E '^[.0-9]+' \ && su -c '. /opt/nvm/nvm.sh; nvm --version' devilbox | grep -E '^[0-9][.0-9]+' \
&& regex-grep --version | grep -E '[.0-9]+' \ && regex-grep --version | grep -E '[0-9][.0-9]+' \
&& dep --version 2>/dev/null | grep -Ei 'deployer\s*(version\s*)?[.0-9]+' \ && dep --version 2>/dev/null | grep -Ei 'deployer\s*(version\s*)?[0-9][.0-9]+' \
&& drush7 --version | grep -E '7[.0-9]+\s*$' \ && drush7 --version | grep -E '7[.0-9]+\s*$' \
&& drush8 --version | grep -E '8[.0-9]+\s*$' \ && drush8 --version | grep -E '8[.0-9]+\s*$' \
&& drush9 --version | grep -E '9[.0-9]+\s*$' \ && drush9 --version | grep -E '9[.0-9]+\s*$' \
&& drupal --version | grep -E 'Drupal Console Launcher\s*[.0-9]' \ && drupal --version | grep -E 'Drupal Console Launcher\s*[0-9][.0-9]' \
&& git-flow version | grep -E '[.0-9]+' \ && git-flow version | grep -E '[0-9][.0-9]+' \
&& laravel --version | grep -E '(Installer|version)\s*[.0-9]+' \ && laravel --version | grep -E '(Installer|version)\s*[0-9][.0-9]+' \
&& linkcheck --version | grep -E '^linkcheck\sv[.0-9]+' \ && linkcheck --version | grep -E '^linkcheck\sv[0-9][.0-9]+' \
&& su - ${MY_USER} -c '/usr/local/src/linuxbrew/bin/brew --version' | grep -E 'Homebrew\s*[.0-9]+' \ && su - ${MY_USER} -c '/usr/local/src/linuxbrew/bin/brew --version' | grep -E 'Homebrew\s*[0-9][.0-9]+' \
&& mysqldump-secure --version | grep -E 'Version:\s*[.0-9]+' \ && mysqldump-secure --version | grep -E 'Version:\s*[0-9][.0-9]+' \
&& phalcon commands | grep -E '[.0-9]+' \ && phalcon commands | grep -E '[0-9][.0-9]+' \
&& phpcs --version | grep -E 'version [.0-9]+' \ && phpcs --version | grep -E 'version [0-9][.0-9]+' \
&& phpcbf --version | grep -E 'version [.0-9]+' \ && phpcbf --version | grep -E 'version [0-9][.0-9]+' \
&& php-cs-fixer --version 2>&1 | grep -E 'Fixer\s+(version\s*)?[-_.0-9]+\s+' \ && php-cs-fixer --version 2>&1 | grep -E 'Fixer\s+(version\s*)?[-_.0-9]+\s+' \
&& phpunit --version | grep -iE '^PHPUnit\s[.0-9]+' \ && phpmd --version | grep -E '^PHPMD [0-9][.0-9]+' \
&& symfony --version | grep -E 'version\s*[.0-9]+' \ && phpunit --version | grep -iE '^PHPUnit\s[0-9][.0-9]+' \
&& wkhtmltopdf --version | grep -E "^wkhtmltopdf [.0-9]+\s+\(.+patched.+\)" \ && symfony -V | grep -Ei 'version\s*.*v[0-9][.0-9]+' \
&& wp --allow-root --version | grep -E '[.0-9]+' \ && wkhtmltopdf --version | grep -E "^wkhtmltopdf [0-9][.0-9]+\s+\(.+patched.+\)" \
&& wp --allow-root --version | grep -E '[0-9][.0-9]+' \
\ \
# -------------------- Composer -------------------- # -------------------- Composer --------------------
&& asgardcms --version 2>/dev/null | grep -Ei 'AsgardCMS\sInstaller\s[.0-9]+' \ && asgardcms --version 2>/dev/null | grep -Ei 'AsgardCMS\sInstaller\s[0-9][.0-9]+' \
&& codecept --version 2>/dev/null | grep -E '^Codeception(\sversion)?\s[.0-9]+$' \ && codecept --version 2>/dev/null | grep -E '^Codeception(\sversion)?\s[0-9][.0-9]+$' \
&& lumen --version 2>/dev/null | grep -E '^Lumen Installer\s[.0-9]+$' \ && lumen --version 2>/dev/null | grep -E '^Lumen Installer\s[0-9][.0-9]+$' \
&& photon --version | grep -E 'Installer [.0-9]+' \ && photon --version | grep -E 'Installer [0-9][.0-9]+' \
\ \
# -------------------- PIP -------------------- # -------------------- PIP --------------------
&& ansible --version | grep -E '^ansible [.0-9]+$' \ && ansible --version | grep -E '^ansible [0-9][.0-9]+$' \
&& yamllint --version 2>&1 | grep -E '[.0-9]+' \ && yamllint --version 2>&1 | grep -E '[0-9][.0-9]+' \
&& yq --version 2>&1 | grep -E '^yq\s+[.0-9]+$' \ && yq --version 2>&1 | grep -E '^yq\s+[0-9][.0-9]+$' \
\ \
# -------------------- NPM -------------------- # -------------------- NPM --------------------
&& ng version 2>&1 | grep -iE 'Angular CLI:\s*[.0-9]+' \ && ng version 2>&1 | grep -iE 'Angular CLI:\s*[0-9][.0-9]+' \
&& eslint -v | grep -E '[.0-9]+' \ && eslint -v | grep -E '[0-9][.0-9]+' \
&& grunt --version | grep -E '[.0-9]+' \ && grunt --version | grep -E '[0-9][.0-9]+' \
&& gulp --version | grep -E '[.0-9]+' \ && gulp --version | grep -E '[0-9][.0-9]+' \
&& jsonlint --version | grep -E '[.0-9]+' \ && jsonlint --version | grep -E '[0-9][.0-9]+' \
&& pm2 --no-daemon --version | grep -E '[.0-9]+' \ && pm2 --no-daemon --version | tail -1 | grep -E '[0-9][.0-9]+' \
&& mdlint --version | grep -E '[.0-9]+' \ && mdlint --version | grep -E '[0-9][.0-9]+' \
&& vue --version | grep -E '[.0-9]+' \ && sass --version | grep -E '[0-9][.0-9]+' \
&& webpack --version | grep -E '[.0-9]+' \ && stylelint --version | grep -E '[0-9][.0-9]+' \
&& vue --version | grep -E '[0-9][.0-9]+' \
&& webpack --version | grep -E '[0-9][.0-9]+' \
\ \
# -------------------- GEM -------------------- # -------------------- GEM --------------------
&& mdl --version | grep -E '[.0-9]+' \ && mdl --version | grep -E '[0-9][.0-9]+' \
&& sass --version | grep -E '[.0-9]+' \
\ \
# -------------------- Cleanup -------------------- # -------------------- Cleanup --------------------
&& rm -rf /home/devilbox/.cache/ \
&& rm -rf /home/devilbox/.config/ \ && rm -rf /home/devilbox/.config/ \
&& rm -rf /root/.ansible \ && rm -rf /root/.ansible \
&& rm -rf /root/.console \ && rm -rf /root/.console \

View File

@@ -40,15 +40,15 @@ RUN set -eux \
gnupg \ gnupg \
\ \
&& echo "deb http://ftp.debian.org/debian stretch-backports main" > /etc/apt/sources.list.d/backports.list \ && echo "deb http://ftp.debian.org/debian stretch-backports main" > /etc/apt/sources.list.d/backports.list \
&& curl -sS "https://packages.blackfire.io/gpg.key" 2>/dev/null | APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key add - \ && curl -sS -L --fail "https://packages.blackfire.io/gpg.key" 2>/dev/null | APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key add - \
&& echo "deb http://packages.blackfire.io/debian any main" > /etc/apt/sources.list.d/blackfire.list \ && echo "deb http://packages.blackfire.io/debian any main" > /etc/apt/sources.list.d/blackfire.list \
&& APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv A1715D88E1DF1F24 \ && APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv A1715D88E1DF1F24 \
&& echo "deb http://ppa.launchpad.net/git-core/ppa/ubuntu artful main" > /etc/apt/sources.list.d/git.list \ && echo "deb http://ppa.launchpad.net/git-core/ppa/ubuntu artful main" > /etc/apt/sources.list.d/git.list \
&& APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 9DA31620334BD75D9DCB49F368818C72E52529D4 \ && APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 9DA31620334BD75D9DCB49F368818C72E52529D4 \
&& echo "deb http://repo.mongodb.org/apt/debian stretch/mongodb-org/4.0 main" > /etc/apt/sources.list.d/mongo.list \ && echo "deb http://repo.mongodb.org/apt/debian stretch/mongodb-org/4.0 main" > /etc/apt/sources.list.d/mongo.list \
&& curl -sS https://www.postgresql.org/media/keys/ACCC4CF8.asc 2>/dev/null | APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key add - \ && curl -sS -L --fail https://www.postgresql.org/media/keys/ACCC4CF8.asc 2>/dev/null | APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key add - \
&& echo "deb http://apt.postgresql.org/pub/repos/apt/ stretch-pgdg main" > /etc/apt/sources.list.d/pgsql.list \ && echo "deb http://apt.postgresql.org/pub/repos/apt/ stretch-pgdg main" > /etc/apt/sources.list.d/pgsql.list \
&& curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg 2>/dev/null | APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key add - \ && curl -sS -L --fail https://dl.yarnpkg.com/debian/pubkey.gpg 2>/dev/null | APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key add - \
&& echo "deb http://dl.yarnpkg.com/debian/ stable main" > /etc/apt/sources.list.d/yarn.list \ && echo "deb http://dl.yarnpkg.com/debian/ stable main" > /etc/apt/sources.list.d/yarn.list \
\ \
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \ && DEBIAN_FRONTEND=noninteractive apt-get update -qq \
@@ -62,6 +62,7 @@ RUN set -eux \
blackfire-agent \ blackfire-agent \
build-essential \ build-essential \
bzip2 \ bzip2 \
certbot \
coreutils \ coreutils \
dnsutils \ dnsutils \
dos2unix \ dos2unix \
@@ -73,6 +74,7 @@ RUN set -eux \
git-svn \ git-svn \
ghostscript \ ghostscript \
graphviz \ graphviz \
gsfonts \
hostname \ hostname \
htop \ htop \
imagemagick \ imagemagick \
@@ -88,6 +90,8 @@ RUN set -eux \
mongodb-org-tools \ mongodb-org-tools \
moreutils \ moreutils \
mariadb-client \ mariadb-client \
mupdf \
mupdf-tools \
nano \ nano \
net-tools \ net-tools \
netcat \ netcat \
@@ -128,7 +132,7 @@ RUN set -eux \
### ###
RUN set -eux \ RUN set -eux \
# -------------------- composer -------------------- # -------------------- composer --------------------
&& curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer \ && curl -sS -L --fail https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer \
\ \
# -------------------- pip -------------------- # -------------------- pip --------------------
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \ && DEBIAN_FRONTEND=noninteractive apt-get update -qq \
@@ -137,7 +141,7 @@ RUN set -eux \
&& DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \ && DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \
&& rm -rf /var/lib/apt/lists/* \ && rm -rf /var/lib/apt/lists/* \
\ \
&& curl -sS https://bootstrap.pypa.io/get-pip.py | python \ && curl -sS -L --fail https://bootstrap.pypa.io/get-pip.py | python \
\ \
\ \
# -------------------- nvm -------------------- # -------------------- nvm --------------------
@@ -169,7 +173,7 @@ RUN set -eux \
\ \
\ \
# -------------------- deployer -------------------- # -------------------- deployer --------------------
&& curl -sS https://deployer.org/deployer.phar -L -o /usr/local/bin/dep \ && curl -sS -L --fail https://deployer.org/deployer.phar -L -o /usr/local/bin/dep \
&& chmod +x /usr/local/bin/dep \ && chmod +x /usr/local/bin/dep \
\ \
# -------------------- drush7 -------------------- # -------------------- drush7 --------------------
@@ -178,7 +182,7 @@ RUN set -eux \
&& git checkout 7.4.0 \ && git checkout 7.4.0 \
\ \
&& chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/drush7 \ && chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/drush7 \
&& su - ${MY_USER} -c 'PATH=/usr/local/bin:$PATH; cd /usr/local/src/drush7 && composer install --no-interaction --no-progress --no-dev' \ && su - ${MY_USER} -c 'PATH=/usr/local/bin:$PATH; cd /usr/local/src/drush7 && COMPOSER_MEMORY_LIMIT=-1 /usr/local/bin/composer install --no-interaction --no-progress --no-dev' \
&& ln -s /usr/local/src/drush7/drush /usr/local/bin/drush7 \ && ln -s /usr/local/src/drush7/drush /usr/local/bin/drush7 \
&& rm -rf /usr/local/src/drush7/.git \ && rm -rf /usr/local/src/drush7/.git \
&& rm -rf /usr/local/src/drush7/docs \ && rm -rf /usr/local/src/drush7/docs \
@@ -192,7 +196,7 @@ RUN set -eux \
&& git checkout $( git for-each-ref --format='%(*creatordate:raw)%(creatordate:raw) %(refname)' refs/tags | sort -n | grep -E 'tags/8[.0-9]+$' | tail -1 | sed 's|.*/||g' ) \ && git checkout $( git for-each-ref --format='%(*creatordate:raw)%(creatordate:raw) %(refname)' refs/tags | sort -n | grep -E 'tags/8[.0-9]+$' | tail -1 | sed 's|.*/||g' ) \
\ \
&& chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/drush8 \ && chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/drush8 \
&& su - ${MY_USER} -c 'PATH=/usr/local/bin:$PATH; cd /usr/local/src/drush8 && composer install --no-interaction --no-progress --no-dev' \ && su - ${MY_USER} -c 'PATH=/usr/local/bin:$PATH; cd /usr/local/src/drush8 && COMPOSER_MEMORY_LIMIT=-1 /usr/local/bin/composer install --no-interaction --no-progress --no-dev' \
&& ln -s /usr/local/src/drush8/drush /usr/local/bin/drush8 \ && ln -s /usr/local/src/drush8/drush /usr/local/bin/drush8 \
&& rm -rf /usr/local/src/drush8/.git \ && rm -rf /usr/local/src/drush8/.git \
&& rm -rf /usr/local/src/drush8/docs \ && rm -rf /usr/local/src/drush8/docs \
@@ -206,7 +210,7 @@ RUN set -eux \
&& git checkout $( git for-each-ref --format='%(*creatordate:raw)%(creatordate:raw) %(refname)' refs/tags | sort -n | grep -E 'tags/9[.0-9]+$' | tail -1 | sed 's|.*/||g' ) \ && git checkout $( git for-each-ref --format='%(*creatordate:raw)%(creatordate:raw) %(refname)' refs/tags | sort -n | grep -E 'tags/9[.0-9]+$' | tail -1 | sed 's|.*/||g' ) \
\ \
&& chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/drush9 \ && chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/drush9 \
&& su - ${MY_USER} -c 'PATH=/usr/local/bin:$PATH; cd /usr/local/src/drush9 && php -d memory_limit=-1 `which composer` install --no-interaction --no-progress' \ && su - ${MY_USER} -c 'PATH=/usr/local/bin:$PATH; cd /usr/local/src/drush9 && COMPOSER_MEMORY_LIMIT=-1 /usr/local/bin/composer install --no-interaction --no-progress' \
&& ln -s /usr/local/src/drush9/drush /usr/local/bin/drush9 \ && ln -s /usr/local/src/drush9/drush /usr/local/bin/drush9 \
&& rm -rf /usr/local/src/drush9/.git \ && rm -rf /usr/local/src/drush9/.git \
&& rm -rf /usr/local/src/drush9/docs \ && rm -rf /usr/local/src/drush9/docs \
@@ -215,7 +219,8 @@ RUN set -eux \
\ \
\ \
# -------------------- drupalconsole -------------------- # -------------------- drupalconsole --------------------
&& curl https://drupalconsole.com/installer -L -o /usr/local/bin/drupal \ && DURL="https://github.com$(curl -sS 'https://github.com/hechoendrupal/drupal-console-launcher/releases' | grep -Eo 'href="/.+drupal.phar"' | head -1 | sed 's/^href="//g' | sed 's/"$//g')" \
&& curl -sS -L --fail "${DURL}" -L -o /usr/local/bin/drupal \
&& chmod +x /usr/local/bin/drupal \ && chmod +x /usr/local/bin/drupal \
\ \
# -------------------- gitflow -------------------- # -------------------- gitflow --------------------
@@ -231,13 +236,13 @@ RUN set -eux \
&& git checkout $(git describe --abbrev=0 --tags) \ && git checkout $(git describe --abbrev=0 --tags) \
\ \
&& chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/laravel-installer \ && chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/laravel-installer \
&& su - ${MY_USER} -c 'PATH=/usr/local/bin:$PATH; cd /usr/local/src/laravel-installer && composer install --no-interaction --no-progress --no-dev' \ && su - ${MY_USER} -c 'PATH=/usr/local/bin:$PATH; cd /usr/local/src/laravel-installer && COMPOSER_MEMORY_LIMIT=-1 /usr/local/bin/composer install --no-interaction --no-progress --no-dev' \
&& rm -rf /usr/local/src/laravel-installer/laravel/.git \ && rm -rf /usr/local/src/laravel-installer/laravel/.git \
\ \
&& ln -s /usr/local/src/laravel-installer/bin/laravel /usr/local/bin/laravel \ && ln -s /usr/local/src/laravel-installer/bin/laravel /usr/local/bin/laravel \
\ \
# -------------------- linkcheck -------------------- # -------------------- linkcheck --------------------
&& curl https://raw.githubusercontent.com/cytopia/linkcheck/master/linkcheck > /usr/local/bin/linkcheck \ && curl -sS -L --fail https://raw.githubusercontent.com/cytopia/linkcheck/master/linkcheck > /usr/local/bin/linkcheck \
&& chmod +x /usr/local/bin/linkcheck \ && chmod +x /usr/local/bin/linkcheck \
\ \
\ \
@@ -254,7 +259,7 @@ RUN set -eux \
\ \
\ \
# -------------------- mhsendmail -------------------- # -------------------- mhsendmail --------------------
&& wget https://github.com/mailhog/mhsendmail/releases/download/v0.2.0/mhsendmail_linux_amd64 \ && curl -sS -L --fail https://github.com/devilbox/mhsendmail/releases/download/v0.3.0/mhsendmail_linux_amd64 > mhsendmail_linux_amd64 \
&& chmod +x mhsendmail_linux_amd64 \ && chmod +x mhsendmail_linux_amd64 \
&& mv mhsendmail_linux_amd64 /usr/local/bin/mhsendmail \ && mv mhsendmail_linux_amd64 /usr/local/bin/mhsendmail \
\ \
@@ -282,36 +287,57 @@ RUN set -eux \
&& rm -rf /usr/local/src/mysqldump-secure \ && rm -rf /usr/local/src/mysqldump-secure \
\ \
\ \
# -------------------- phalcon --------------------
&& git clone https://github.com/phalcon/phalcon-devtools /usr/local/src/phalcon-devtools \
&& cd /usr/local/src/phalcon-devtools \
&& git checkout $(git describe --abbrev=0 --tags) \
&& COMPOSER_MEMORY_LIMIT=-1 /usr/local/bin/composer install \
\
&& chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/phalcon-devtools \
&& su - ${MY_USER} -c 'cd /usr/local/src/phalcon-devtools && ./phalcon.sh' \
&& ln -sf /usr/local/src/phalcon-devtools/phalcon /usr/local/bin/phalcon \
&& chmod +x phalcon \
&& cd / \
&& rm -rf /usr/local/src/phalcon-devtools/.git \
\
\
# -------------------- phpcs -------------------- # -------------------- phpcs --------------------
&& curl -sS -L https://squizlabs.github.io/PHP_CodeSniffer/phpcs.phar > /usr/local/bin/phpcs 2>/dev/null \ && curl -sS -L --fail https://squizlabs.github.io/PHP_CodeSniffer/phpcs.phar > /usr/local/bin/phpcs 2>/dev/null \
&& chmod +x /usr/local/bin/phpcs \ && chmod +x /usr/local/bin/phpcs \
\ \
\ \
# -------------------- phpcbf -------------------- # -------------------- phpcbf --------------------
&& curl -sS -L https://squizlabs.github.io/PHP_CodeSniffer/phpcbf.phar > /usr/local/bin/phpcbf 2>/dev/null \ && curl -sS -L --fail https://squizlabs.github.io/PHP_CodeSniffer/phpcbf.phar > /usr/local/bin/phpcbf 2>/dev/null \
&& chmod +x /usr/local/bin/phpcbf \ && chmod +x /usr/local/bin/phpcbf \
\ \
\ \
# -------------------- php-cs-fixer -------------------- # -------------------- php-cs-fixer --------------------
&& curl -sS -L https://cs.symfony.com/download/php-cs-fixer-v2.phar > /usr/local/bin/php-cs-fixer 2>/dev/null \ && curl -sS -L --fail https://cs.symfony.com/download/php-cs-fixer-v2.phar > /usr/local/bin/php-cs-fixer 2>/dev/null \
&& chmod +x /usr/local/bin/php-cs-fixer \ && chmod +x /usr/local/bin/php-cs-fixer \
\ \
\ \
# -------------------- phpmd --------------------
&& curl -sS -L --fail https://phpmd.org/static/latest/phpmd.phar > phpmd.phar \
&& mv phpmd.phar /usr/local/bin/phpmd \
&& chmod +x /usr/local/bin/phpmd \
\
\
# -------------------- phpunit -------------------- # -------------------- phpunit --------------------
&& curl -qL https://phar.phpunit.de/phpunit-7.phar > /usr/local/bin/phpunit 2>/dev/null \ && curl -sS -L --fail https://phar.phpunit.de/phpunit-7.phar > /usr/local/bin/phpunit 2>/dev/null \
&& chmod +x /usr/local/bin/phpunit \ && chmod +x /usr/local/bin/phpunit \
\ \
\ \
# -------------------- symfony -------------------- # -------------------- symfony --------------------
&& curl https://symfony.com/installer -L -o /usr/local/bin/symfony \ && SYMFONY_VERSION="$( curl -sS -L --fail https://get.symfony.com/cli/LATEST )" \
&& curl -sS -L --fail "https://github.com/symfony/cli/releases/download/v${SYMFONY_VERSION}/symfony_linux_amd64" > /usr/local/bin/symfony \
&& chmod +x /usr/local/bin/symfony \ && chmod +x /usr/local/bin/symfony \
\ \
# -------------------- wkhtmltopdf -------------------- # -------------------- wkhtmltopdf --------------------
&& VERSION="$( curl -sSL https://github.com/wkhtmltopdf/wkhtmltopdf/releases | grep -Eo '/wkhtmltopdf/.+stretch_amd64\.deb' | head -1 )" \ && VERSION="$( curl -sSL -L --fail https://github.com/wkhtmltopdf/wkhtmltopdf/releases | grep -Eo '/wkhtmltopdf/.+stretch_amd64\.deb' | head -1 )" \
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \ && DEBIAN_FRONTEND=noninteractive apt-get update -qq \
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \ && DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
libfontenc1 libxfont2 xfonts-75dpi xfonts-base xfonts-encodings xfonts-utils \ libfontenc1 libxfont2 xfonts-75dpi xfonts-base xfonts-encodings xfonts-utils \
&& curl -sS -L -o /tmp/wkhtmltopdf.deb https://github.com/${VERSION} \ && curl -sS -L --fail -o /tmp/wkhtmltopdf.deb https://github.com/${VERSION} \
&& dpkg -i /tmp/wkhtmltopdf.deb \ && dpkg -i /tmp/wkhtmltopdf.deb \
&& rm -f /tmp/wkhtmltopdf.deb \ && rm -f /tmp/wkhtmltopdf.deb \
\ \
@@ -320,7 +346,7 @@ RUN set -eux \
\ \
\ \
# -------------------- wpcli -------------------- # -------------------- wpcli --------------------
&& curl https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar -L -o /usr/local/bin/wp \ && curl -sS -L --fail https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar -L -o /usr/local/bin/wp \
&& chmod +x /usr/local/bin/wp \ && chmod +x /usr/local/bin/wp \
\ \
# -------------------- cleanup -------------------- # -------------------- cleanup --------------------
@@ -366,23 +392,23 @@ RUN set -eux \
### ###
RUN set -eux \ RUN set -eux \
# -------------------- asgardcms -------------------- # -------------------- asgardcms --------------------
&& COMPOSER_HOME="/usr/local/src/composer" composer global require asgardcms/asgardcms-installer \ && COMPOSER_HOME="/usr/local/src/composer" COMPOSER_MEMORY_LIMIT=-1 /usr/local/bin/composer global require asgardcms/asgardcms-installer \
&& ln -s /usr/local/src/composer/vendor/asgardcms/asgardcms-installer/asgardcms /usr/local/bin/ \ && ln -s /usr/local/src/composer/vendor/asgardcms/asgardcms-installer/asgardcms /usr/local/bin/ \
\ \
# -------------------- codeception -------------------- # -------------------- codeception --------------------
&& COMPOSER_HOME="/usr/local/src/composer" composer global require codeception/codeception \ && COMPOSER_HOME="/usr/local/src/composer" COMPOSER_MEMORY_LIMIT=-1 /usr/local/bin/composer global require codeception/codeception \
&& ln -s /usr/local/src/composer/vendor/codeception/codeception/codecept /usr/local/bin/ \ && ln -s /usr/local/src/composer/vendor/codeception/codeception/codecept /usr/local/bin/ \
\ \
# -------------------- lumen -------------------- # -------------------- lumen --------------------
&& COMPOSER_HOME="/usr/local/src/composer" composer global require laravel/lumen-installer \ && COMPOSER_HOME="/usr/local/src/composer" COMPOSER_MEMORY_LIMIT=-1 /usr/local/bin/composer global require laravel/lumen-installer \
&& ln -s /usr/local/src/composer/vendor/laravel/lumen-installer/lumen /usr/local/bin/ \ && ln -s /usr/local/src/composer/vendor/laravel/lumen-installer/lumen /usr/local/bin/ \
\ \
# -------------------- photon -------------------- # -------------------- photon --------------------
&& COMPOSER_HOME="/usr/local/src/composer" composer global require photoncms/installer \ && COMPOSER_HOME="/usr/local/src/composer" COMPOSER_MEMORY_LIMIT=-1 /usr/local/bin/composer global require photoncms/installer \
&& ln -s /usr/local/src/composer/vendor/photoncms/installer/photon /usr/local/bin/ \ && ln -s /usr/local/src/composer/vendor/photoncms/installer/photon /usr/local/bin/ \
\ \
# -------------------- prestissimo -------------------- # -------------------- prestissimo --------------------
&& COMPOSER_HOME="/usr/local/src/composer" composer global require hirak/prestissimo \ && COMPOSER_HOME="/usr/local/src/composer" COMPOSER_MEMORY_LIMIT=-1 /usr/local/bin/composer global require hirak/prestissimo \
\ \
\ \
&& rm -rf /tmp/* \ && rm -rf /tmp/* \
@@ -398,40 +424,46 @@ RUN set -eux \
### ###
RUN set -eux \ RUN set -eux \
# -------------------- angular_cli -------------------- # -------------------- angular_cli --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g @angular/cli' devilbox \ && su -c '. /opt/nvm/nvm.sh; npm install -g --force @angular/cli' devilbox \
\ \
# -------------------- eslint -------------------- # -------------------- eslint --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g eslint' devilbox \ && su -c '. /opt/nvm/nvm.sh; npm install -g --force eslint' devilbox \
\ \
# -------------------- grunt -------------------- # -------------------- grunt --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g grunt' devilbox \ && su -c '. /opt/nvm/nvm.sh; npm install -g --force grunt' devilbox \
\ \
# -------------------- grunt_cli -------------------- # -------------------- grunt_cli --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g grunt-cli' devilbox \ && su -c '. /opt/nvm/nvm.sh; npm install -g --force grunt-cli' devilbox \
\ \
# -------------------- gulp -------------------- # -------------------- gulp --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g gulp' devilbox \ && su -c '. /opt/nvm/nvm.sh; npm install -g --force gulp' devilbox \
\ \
# -------------------- jsonlint -------------------- # -------------------- jsonlint --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g jsonlint' devilbox \ && su -c '. /opt/nvm/nvm.sh; npm install -g --force jsonlint' devilbox \
\ \
# -------------------- pm2 -------------------- # -------------------- pm2 --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g pm2' devilbox \ && su -c '. /opt/nvm/nvm.sh; npm install -g --force pm2' devilbox \
\ \
# -------------------- mdlint -------------------- # -------------------- mdlint --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g mdlint' devilbox \ && su -c '. /opt/nvm/nvm.sh; npm install -g --force mdlint' devilbox \
\
# -------------------- sass --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force sass' devilbox \
\
# -------------------- stylelint --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force stylelint' devilbox \
\ \
# -------------------- vue_cli -------------------- # -------------------- vue_cli --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g @vue/cli' devilbox \ && su -c '. /opt/nvm/nvm.sh; npm install -g --force @vue/cli' devilbox \
\ \
# -------------------- vue_cli_service_global -------------------- # -------------------- vue_cli_service_global --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g @vue/cli-service-global' devilbox \ && su -c '. /opt/nvm/nvm.sh; npm install -g --force @vue/cli-service-global' devilbox \
\ \
# -------------------- webpack -------------------- # -------------------- webpack --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g webpack' devilbox \ && su -c '. /opt/nvm/nvm.sh; npm install -g --force webpack' devilbox \
\ \
# -------------------- webpack_cli -------------------- # -------------------- webpack_cli --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g webpack-cli' devilbox \ && su -c '. /opt/nvm/nvm.sh; npm install -g --force webpack-cli' devilbox \
\ \
\ \
&& ln -sf $(dirname $(su -c '. /opt/nvm/nvm.sh; nvm which current' devilbox))/* /usr/local/bin/ \ && ln -sf $(dirname $(su -c '. /opt/nvm/nvm.sh; nvm which current' devilbox))/* /usr/local/bin/ \
@@ -439,6 +471,7 @@ RUN set -eux \
&& su -c '. /opt/nvm/nvm.sh; npm cache clear --force' devilbox \ && su -c '. /opt/nvm/nvm.sh; npm cache clear --force' devilbox \
&& su -c '. /opt/nvm/nvm.sh; nvm cache clear --force' devilbox \ && su -c '. /opt/nvm/nvm.sh; nvm cache clear --force' devilbox \
&& rm -rf /home/devilbox/.npm \ && rm -rf /home/devilbox/.npm \
&& rm -rf /home/devilbox/.cache \
&& rm -rf /home/devilbox/.config \ && rm -rf /home/devilbox/.config \
&& rm -rf /tmp/* \ && rm -rf /tmp/* \
&& (rm -rf /tmp/.* || true) \ && (rm -rf /tmp/.* || true) \
@@ -459,12 +492,6 @@ RUN set -eux \
# -------------------- mdl -------------------- # -------------------- mdl --------------------
&& gem install mdl \ && gem install mdl \
\ \
# -------------------- scss_lint --------------------
&& gem install scss_lint -v 0.57.1 \
\
# -------------------- sass --------------------
&& gem install sass \
\
\ \
&& rm -rf /root/.gem \ && rm -rf /root/.gem \
&& rm -rf /tmp/* \ && rm -rf /tmp/* \
@@ -480,13 +507,13 @@ RUN set -eux \
### ###
RUN set -eux \ RUN set -eux \
# -------------------- ansible -------------------- # -------------------- ansible --------------------
&& pip install --no-cache-dir --force-reinstall ansible \ && pip install --no-cache-dir --force-reinstall ansible || true \
\ \
# -------------------- yamllint -------------------- # -------------------- yamllint --------------------
&& pip install --no-cache-dir --force-reinstall yamllint \ && pip install --no-cache-dir --force-reinstall yamllint || true \
\ \
# -------------------- yq -------------------- # -------------------- yq --------------------
&& pip install --no-cache-dir --force-reinstall yq \ && pip install --no-cache-dir --force-reinstall yq || true \
\ \
\ \
&& rm -rf /root/.cache/pip \ && rm -rf /root/.cache/pip \
@@ -539,54 +566,58 @@ RUN set -eux \
RUN set -eux \ RUN set -eux \
# -------------------- Software -------------------- # -------------------- Software --------------------
&& composer --version 2>/dev/null | grep -E 'version\s*[.0-9]+' \ && composer --version 2>/dev/null | grep -E 'version\s*[0-9][.0-9]+' \
&& su -c '. /opt/nvm/nvm.sh; nvm --version' devilbox | grep -E '^[.0-9]+' \ && su -c '. /opt/nvm/nvm.sh; nvm --version' devilbox | grep -E '^[0-9][.0-9]+' \
&& regex-grep --version | grep -E '[.0-9]+' \ && regex-grep --version | grep -E '[0-9][.0-9]+' \
&& dep --version 2>/dev/null | grep -Ei 'deployer\s*(version\s*)?[.0-9]+' \ && dep --version 2>/dev/null | grep -Ei 'deployer\s*(version\s*)?[0-9][.0-9]+' \
&& drush7 --version | grep -E '7[.0-9]+\s*$' \ && drush7 --version | grep -E '7[.0-9]+\s*$' \
&& drush8 --version | grep -E '8[.0-9]+\s*$' \ && drush8 --version | grep -E '8[.0-9]+\s*$' \
&& drush9 --version | grep -E '9[.0-9]+\s*$' \ && drush9 --version | grep -E '9[.0-9]+\s*$' \
&& drupal --version | grep -E 'Drupal Console Launcher\s*[.0-9]' \ && drupal --version | grep -E 'Drupal Console Launcher\s*[0-9][.0-9]' \
&& git-flow version | grep -E '[.0-9]+' \ && git-flow version | grep -E '[0-9][.0-9]+' \
&& laravel --version | grep -E '(Installer|version)\s*[.0-9]+' \ && laravel --version | grep -E '(Installer|version)\s*[0-9][.0-9]+' \
&& linkcheck --version | grep -E '^linkcheck\sv[.0-9]+' \ && linkcheck --version | grep -E '^linkcheck\sv[0-9][.0-9]+' \
&& su - ${MY_USER} -c '/usr/local/src/linuxbrew/bin/brew --version' | grep -E 'Homebrew\s*[.0-9]+' \ && su - ${MY_USER} -c '/usr/local/src/linuxbrew/bin/brew --version' | grep -E 'Homebrew\s*[0-9][.0-9]+' \
&& mysqldump-secure --version | grep -E 'Version:\s*[.0-9]+' \ && mysqldump-secure --version | grep -E 'Version:\s*[0-9][.0-9]+' \
&& phpcs --version | grep -E 'version [.0-9]+' \ && phalcon commands | grep -E '[0-9][.0-9]+' \
&& phpcbf --version | grep -E 'version [.0-9]+' \ && phpcs --version | grep -E 'version [0-9][.0-9]+' \
&& phpcbf --version | grep -E 'version [0-9][.0-9]+' \
&& php-cs-fixer --version 2>&1 | grep -E 'Fixer\s+(version\s*)?[-_.0-9]+\s+' \ && php-cs-fixer --version 2>&1 | grep -E 'Fixer\s+(version\s*)?[-_.0-9]+\s+' \
&& phpunit --version | grep -iE '^PHPUnit\s[.0-9]+' \ && phpmd --version | grep -E '^PHPMD [0-9][.0-9]+' \
&& symfony --version | grep -E 'version\s*[.0-9]+' \ && phpunit --version | grep -iE '^PHPUnit\s[0-9][.0-9]+' \
&& wkhtmltopdf --version | grep -E "^wkhtmltopdf [.0-9]+\s+\(.+patched.+\)" \ && symfony -V | grep -Ei 'version\s*.*v[0-9][.0-9]+' \
&& wp --allow-root --version | grep -E '[.0-9]+' \ && wkhtmltopdf --version | grep -E "^wkhtmltopdf [0-9][.0-9]+\s+\(.+patched.+\)" \
&& wp --allow-root --version | grep -E '[0-9][.0-9]+' \
\ \
# -------------------- Composer -------------------- # -------------------- Composer --------------------
&& asgardcms --version 2>/dev/null | grep -Ei 'AsgardCMS\sInstaller\s[.0-9]+' \ && asgardcms --version 2>/dev/null | grep -Ei 'AsgardCMS\sInstaller\s[0-9][.0-9]+' \
&& codecept --version 2>/dev/null | grep -E '^Codeception(\sversion)?\s[.0-9]+$' \ && codecept --version 2>/dev/null | grep -E '^Codeception(\sversion)?\s[0-9][.0-9]+$' \
&& lumen --version 2>/dev/null | grep -E '^Lumen Installer\s[.0-9]+$' \ && lumen --version 2>/dev/null | grep -E '^Lumen Installer\s[0-9][.0-9]+$' \
&& photon --version | grep -E 'Installer [.0-9]+' \ && photon --version | grep -E 'Installer [0-9][.0-9]+' \
\ \
# -------------------- PIP -------------------- # -------------------- PIP --------------------
&& ansible --version | grep -E '^ansible [.0-9]+$' \ && ansible --version | grep -E '^ansible [0-9][.0-9]+$' \
&& yamllint --version 2>&1 | grep -E '[.0-9]+' \ && yamllint --version 2>&1 | grep -E '[0-9][.0-9]+' \
&& yq --version 2>&1 | grep -E '^yq\s+[.0-9]+$' \ && yq --version 2>&1 | grep -E '^yq\s+[0-9][.0-9]+$' \
\ \
# -------------------- NPM -------------------- # -------------------- NPM --------------------
&& ng version 2>&1 | grep -iE 'Angular CLI:\s*[.0-9]+' \ && ng version 2>&1 | grep -iE 'Angular CLI:\s*[0-9][.0-9]+' \
&& eslint -v | grep -E '[.0-9]+' \ && eslint -v | grep -E '[0-9][.0-9]+' \
&& grunt --version | grep -E '[.0-9]+' \ && grunt --version | grep -E '[0-9][.0-9]+' \
&& gulp --version | grep -E '[.0-9]+' \ && gulp --version | grep -E '[0-9][.0-9]+' \
&& jsonlint --version | grep -E '[.0-9]+' \ && jsonlint --version | grep -E '[0-9][.0-9]+' \
&& pm2 --no-daemon --version | grep -E '[.0-9]+' \ && pm2 --no-daemon --version | tail -1 | grep -E '[0-9][.0-9]+' \
&& mdlint --version | grep -E '[.0-9]+' \ && mdlint --version | grep -E '[0-9][.0-9]+' \
&& vue --version | grep -E '[.0-9]+' \ && sass --version | grep -E '[0-9][.0-9]+' \
&& webpack --version | grep -E '[.0-9]+' \ && stylelint --version | grep -E '[0-9][.0-9]+' \
&& vue --version | grep -E '[0-9][.0-9]+' \
&& webpack --version | grep -E '[0-9][.0-9]+' \
\ \
# -------------------- GEM -------------------- # -------------------- GEM --------------------
&& mdl --version | grep -E '[.0-9]+' \ && mdl --version | grep -E '[0-9][.0-9]+' \
&& sass --version | grep -E '[.0-9]+' \
\ \
# -------------------- Cleanup -------------------- # -------------------- Cleanup --------------------
&& rm -rf /home/devilbox/.cache/ \
&& rm -rf /home/devilbox/.config/ \ && rm -rf /home/devilbox/.config/ \
&& rm -rf /root/.ansible \ && rm -rf /root/.ansible \
&& rm -rf /root/.console \ && rm -rf /root/.console \

View File

@@ -40,15 +40,15 @@ RUN set -eux \
gnupg \ gnupg \
\ \
&& echo "deb http://ftp.debian.org/debian stretch-backports main" > /etc/apt/sources.list.d/backports.list \ && echo "deb http://ftp.debian.org/debian stretch-backports main" > /etc/apt/sources.list.d/backports.list \
&& curl -sS "https://packages.blackfire.io/gpg.key" 2>/dev/null | APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key add - \ && curl -sS -L --fail "https://packages.blackfire.io/gpg.key" 2>/dev/null | APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key add - \
&& echo "deb http://packages.blackfire.io/debian any main" > /etc/apt/sources.list.d/blackfire.list \ && echo "deb http://packages.blackfire.io/debian any main" > /etc/apt/sources.list.d/blackfire.list \
&& APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv A1715D88E1DF1F24 \ && APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv A1715D88E1DF1F24 \
&& echo "deb http://ppa.launchpad.net/git-core/ppa/ubuntu artful main" > /etc/apt/sources.list.d/git.list \ && echo "deb http://ppa.launchpad.net/git-core/ppa/ubuntu artful main" > /etc/apt/sources.list.d/git.list \
&& APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 9DA31620334BD75D9DCB49F368818C72E52529D4 \ && APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 9DA31620334BD75D9DCB49F368818C72E52529D4 \
&& echo "deb http://repo.mongodb.org/apt/debian stretch/mongodb-org/4.0 main" > /etc/apt/sources.list.d/mongo.list \ && echo "deb http://repo.mongodb.org/apt/debian stretch/mongodb-org/4.0 main" > /etc/apt/sources.list.d/mongo.list \
&& curl -sS https://www.postgresql.org/media/keys/ACCC4CF8.asc 2>/dev/null | APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key add - \ && curl -sS -L --fail https://www.postgresql.org/media/keys/ACCC4CF8.asc 2>/dev/null | APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key add - \
&& echo "deb http://apt.postgresql.org/pub/repos/apt/ stretch-pgdg main" > /etc/apt/sources.list.d/pgsql.list \ && echo "deb http://apt.postgresql.org/pub/repos/apt/ stretch-pgdg main" > /etc/apt/sources.list.d/pgsql.list \
&& curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg 2>/dev/null | APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key add - \ && curl -sS -L --fail https://dl.yarnpkg.com/debian/pubkey.gpg 2>/dev/null | APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key add - \
&& echo "deb http://dl.yarnpkg.com/debian/ stable main" > /etc/apt/sources.list.d/yarn.list \ && echo "deb http://dl.yarnpkg.com/debian/ stable main" > /etc/apt/sources.list.d/yarn.list \
\ \
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \ && DEBIAN_FRONTEND=noninteractive apt-get update -qq \
@@ -62,6 +62,7 @@ RUN set -eux \
blackfire-agent \ blackfire-agent \
build-essential \ build-essential \
bzip2 \ bzip2 \
certbot \
coreutils \ coreutils \
dnsutils \ dnsutils \
dos2unix \ dos2unix \
@@ -73,6 +74,7 @@ RUN set -eux \
git-svn \ git-svn \
ghostscript \ ghostscript \
graphviz \ graphviz \
gsfonts \
hostname \ hostname \
htop \ htop \
imagemagick \ imagemagick \
@@ -88,6 +90,8 @@ RUN set -eux \
mongodb-org-tools \ mongodb-org-tools \
moreutils \ moreutils \
mariadb-client \ mariadb-client \
mupdf \
mupdf-tools \
nano \ nano \
net-tools \ net-tools \
netcat \ netcat \
@@ -128,7 +132,7 @@ RUN set -eux \
### ###
RUN set -eux \ RUN set -eux \
# -------------------- composer -------------------- # -------------------- composer --------------------
&& curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer \ && curl -sS -L --fail https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer \
\ \
# -------------------- pip -------------------- # -------------------- pip --------------------
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \ && DEBIAN_FRONTEND=noninteractive apt-get update -qq \
@@ -137,7 +141,7 @@ RUN set -eux \
&& DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \ && DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \
&& rm -rf /var/lib/apt/lists/* \ && rm -rf /var/lib/apt/lists/* \
\ \
&& curl -sS https://bootstrap.pypa.io/get-pip.py | python \ && curl -sS -L --fail https://bootstrap.pypa.io/get-pip.py | python \
\ \
\ \
# -------------------- nvm -------------------- # -------------------- nvm --------------------
@@ -169,7 +173,7 @@ RUN set -eux \
\ \
\ \
# -------------------- deployer -------------------- # -------------------- deployer --------------------
&& curl -sS https://deployer.org/deployer.phar -L -o /usr/local/bin/dep \ && curl -sS -L --fail https://deployer.org/deployer.phar -L -o /usr/local/bin/dep \
&& chmod +x /usr/local/bin/dep \ && chmod +x /usr/local/bin/dep \
\ \
# -------------------- drush7 -------------------- # -------------------- drush7 --------------------
@@ -178,7 +182,7 @@ RUN set -eux \
&& git checkout 7.4.0 \ && git checkout 7.4.0 \
\ \
&& chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/drush7 \ && chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/drush7 \
&& su - ${MY_USER} -c 'PATH=/usr/local/bin:$PATH; cd /usr/local/src/drush7 && composer install --no-interaction --no-progress --no-dev' \ && su - ${MY_USER} -c 'PATH=/usr/local/bin:$PATH; cd /usr/local/src/drush7 && COMPOSER_MEMORY_LIMIT=-1 /usr/local/bin/composer install --no-interaction --no-progress --no-dev' \
&& ln -s /usr/local/src/drush7/drush /usr/local/bin/drush7 \ && ln -s /usr/local/src/drush7/drush /usr/local/bin/drush7 \
&& rm -rf /usr/local/src/drush7/.git \ && rm -rf /usr/local/src/drush7/.git \
&& rm -rf /usr/local/src/drush7/docs \ && rm -rf /usr/local/src/drush7/docs \
@@ -192,7 +196,7 @@ RUN set -eux \
&& git checkout $( git for-each-ref --format='%(*creatordate:raw)%(creatordate:raw) %(refname)' refs/tags | sort -n | grep -E 'tags/8[.0-9]+$' | tail -1 | sed 's|.*/||g' ) \ && git checkout $( git for-each-ref --format='%(*creatordate:raw)%(creatordate:raw) %(refname)' refs/tags | sort -n | grep -E 'tags/8[.0-9]+$' | tail -1 | sed 's|.*/||g' ) \
\ \
&& chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/drush8 \ && chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/drush8 \
&& su - ${MY_USER} -c 'PATH=/usr/local/bin:$PATH; cd /usr/local/src/drush8 && composer install --no-interaction --no-progress --no-dev' \ && su - ${MY_USER} -c 'PATH=/usr/local/bin:$PATH; cd /usr/local/src/drush8 && COMPOSER_MEMORY_LIMIT=-1 /usr/local/bin/composer install --no-interaction --no-progress --no-dev' \
&& ln -s /usr/local/src/drush8/drush /usr/local/bin/drush8 \ && ln -s /usr/local/src/drush8/drush /usr/local/bin/drush8 \
&& rm -rf /usr/local/src/drush8/.git \ && rm -rf /usr/local/src/drush8/.git \
&& rm -rf /usr/local/src/drush8/docs \ && rm -rf /usr/local/src/drush8/docs \
@@ -206,7 +210,7 @@ RUN set -eux \
&& git checkout $( git for-each-ref --format='%(*creatordate:raw)%(creatordate:raw) %(refname)' refs/tags | sort -n | grep -E 'tags/9[.0-9]+$' | tail -1 | sed 's|.*/||g' ) \ && git checkout $( git for-each-ref --format='%(*creatordate:raw)%(creatordate:raw) %(refname)' refs/tags | sort -n | grep -E 'tags/9[.0-9]+$' | tail -1 | sed 's|.*/||g' ) \
\ \
&& chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/drush9 \ && chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/drush9 \
&& su - ${MY_USER} -c 'PATH=/usr/local/bin:$PATH; cd /usr/local/src/drush9 && php -d memory_limit=-1 `which composer` install --no-interaction --no-progress' \ && su - ${MY_USER} -c 'PATH=/usr/local/bin:$PATH; cd /usr/local/src/drush9 && COMPOSER_MEMORY_LIMIT=-1 /usr/local/bin/composer install --no-interaction --no-progress' \
&& ln -s /usr/local/src/drush9/drush /usr/local/bin/drush9 \ && ln -s /usr/local/src/drush9/drush /usr/local/bin/drush9 \
&& rm -rf /usr/local/src/drush9/.git \ && rm -rf /usr/local/src/drush9/.git \
&& rm -rf /usr/local/src/drush9/docs \ && rm -rf /usr/local/src/drush9/docs \
@@ -215,7 +219,8 @@ RUN set -eux \
\ \
\ \
# -------------------- drupalconsole -------------------- # -------------------- drupalconsole --------------------
&& curl https://drupalconsole.com/installer -L -o /usr/local/bin/drupal \ && DURL="https://github.com$(curl -sS 'https://github.com/hechoendrupal/drupal-console-launcher/releases' | grep -Eo 'href="/.+drupal.phar"' | head -1 | sed 's/^href="//g' | sed 's/"$//g')" \
&& curl -sS -L --fail "${DURL}" -L -o /usr/local/bin/drupal \
&& chmod +x /usr/local/bin/drupal \ && chmod +x /usr/local/bin/drupal \
\ \
# -------------------- gitflow -------------------- # -------------------- gitflow --------------------
@@ -231,13 +236,13 @@ RUN set -eux \
&& git checkout $(git describe --abbrev=0 --tags) \ && git checkout $(git describe --abbrev=0 --tags) \
\ \
&& chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/laravel-installer \ && chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/laravel-installer \
&& su - ${MY_USER} -c 'PATH=/usr/local/bin:$PATH; cd /usr/local/src/laravel-installer && composer install --no-interaction --no-progress --no-dev' \ && su - ${MY_USER} -c 'PATH=/usr/local/bin:$PATH; cd /usr/local/src/laravel-installer && COMPOSER_MEMORY_LIMIT=-1 /usr/local/bin/composer install --no-interaction --no-progress --no-dev' \
&& rm -rf /usr/local/src/laravel-installer/laravel/.git \ && rm -rf /usr/local/src/laravel-installer/laravel/.git \
\ \
&& ln -s /usr/local/src/laravel-installer/bin/laravel /usr/local/bin/laravel \ && ln -s /usr/local/src/laravel-installer/bin/laravel /usr/local/bin/laravel \
\ \
# -------------------- linkcheck -------------------- # -------------------- linkcheck --------------------
&& curl https://raw.githubusercontent.com/cytopia/linkcheck/master/linkcheck > /usr/local/bin/linkcheck \ && curl -sS -L --fail https://raw.githubusercontent.com/cytopia/linkcheck/master/linkcheck > /usr/local/bin/linkcheck \
&& chmod +x /usr/local/bin/linkcheck \ && chmod +x /usr/local/bin/linkcheck \
\ \
\ \
@@ -254,7 +259,7 @@ RUN set -eux \
\ \
\ \
# -------------------- mhsendmail -------------------- # -------------------- mhsendmail --------------------
&& wget https://github.com/mailhog/mhsendmail/releases/download/v0.2.0/mhsendmail_linux_amd64 \ && curl -sS -L --fail https://github.com/devilbox/mhsendmail/releases/download/v0.3.0/mhsendmail_linux_amd64 > mhsendmail_linux_amd64 \
&& chmod +x mhsendmail_linux_amd64 \ && chmod +x mhsendmail_linux_amd64 \
&& mv mhsendmail_linux_amd64 /usr/local/bin/mhsendmail \ && mv mhsendmail_linux_amd64 /usr/local/bin/mhsendmail \
\ \
@@ -282,31 +287,52 @@ RUN set -eux \
&& rm -rf /usr/local/src/mysqldump-secure \ && rm -rf /usr/local/src/mysqldump-secure \
\ \
\ \
# -------------------- phalcon --------------------
&& git clone https://github.com/phalcon/phalcon-devtools /usr/local/src/phalcon-devtools \
&& cd /usr/local/src/phalcon-devtools \
&& git checkout $(git describe --abbrev=0 --tags) \
&& COMPOSER_MEMORY_LIMIT=-1 /usr/local/bin/composer install \
\
&& chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/phalcon-devtools \
&& su - ${MY_USER} -c 'cd /usr/local/src/phalcon-devtools && ./phalcon.sh' \
&& ln -sf /usr/local/src/phalcon-devtools/phalcon /usr/local/bin/phalcon \
&& chmod +x phalcon \
&& cd / \
&& rm -rf /usr/local/src/phalcon-devtools/.git \
\
\
# -------------------- phpcs -------------------- # -------------------- phpcs --------------------
&& curl -sS -L https://squizlabs.github.io/PHP_CodeSniffer/phpcs.phar > /usr/local/bin/phpcs 2>/dev/null \ && curl -sS -L --fail https://squizlabs.github.io/PHP_CodeSniffer/phpcs.phar > /usr/local/bin/phpcs 2>/dev/null \
&& chmod +x /usr/local/bin/phpcs \ && chmod +x /usr/local/bin/phpcs \
\ \
\ \
# -------------------- phpcbf -------------------- # -------------------- phpcbf --------------------
&& curl -sS -L https://squizlabs.github.io/PHP_CodeSniffer/phpcbf.phar > /usr/local/bin/phpcbf 2>/dev/null \ && curl -sS -L --fail https://squizlabs.github.io/PHP_CodeSniffer/phpcbf.phar > /usr/local/bin/phpcbf 2>/dev/null \
&& chmod +x /usr/local/bin/phpcbf \ && chmod +x /usr/local/bin/phpcbf \
\ \
\ \
# -------------------- phpmd --------------------
&& curl -sS -L --fail https://phpmd.org/static/latest/phpmd.phar > phpmd.phar \
&& mv phpmd.phar /usr/local/bin/phpmd \
&& chmod +x /usr/local/bin/phpmd \
\
\
# -------------------- phpunit -------------------- # -------------------- phpunit --------------------
&& curl -qL https://phar.phpunit.de/phpunit-7.phar > /usr/local/bin/phpunit 2>/dev/null \ && curl -sS -L --fail https://phar.phpunit.de/phpunit-7.phar > /usr/local/bin/phpunit 2>/dev/null \
&& chmod +x /usr/local/bin/phpunit \ && chmod +x /usr/local/bin/phpunit \
\ \
\ \
# -------------------- symfony -------------------- # -------------------- symfony --------------------
&& curl https://symfony.com/installer -L -o /usr/local/bin/symfony \ && SYMFONY_VERSION="$( curl -sS -L --fail https://get.symfony.com/cli/LATEST )" \
&& curl -sS -L --fail "https://github.com/symfony/cli/releases/download/v${SYMFONY_VERSION}/symfony_linux_amd64" > /usr/local/bin/symfony \
&& chmod +x /usr/local/bin/symfony \ && chmod +x /usr/local/bin/symfony \
\ \
# -------------------- wkhtmltopdf -------------------- # -------------------- wkhtmltopdf --------------------
&& VERSION="$( curl -sSL https://github.com/wkhtmltopdf/wkhtmltopdf/releases | grep -Eo '/wkhtmltopdf/.+stretch_amd64\.deb' | head -1 )" \ && VERSION="$( curl -sSL -L --fail https://github.com/wkhtmltopdf/wkhtmltopdf/releases | grep -Eo '/wkhtmltopdf/.+stretch_amd64\.deb' | head -1 )" \
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \ && DEBIAN_FRONTEND=noninteractive apt-get update -qq \
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \ && DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
libfontenc1 libxfont2 xfonts-75dpi xfonts-base xfonts-encodings xfonts-utils \ libfontenc1 libxfont2 xfonts-75dpi xfonts-base xfonts-encodings xfonts-utils \
&& curl -sS -L -o /tmp/wkhtmltopdf.deb https://github.com/${VERSION} \ && curl -sS -L --fail -o /tmp/wkhtmltopdf.deb https://github.com/${VERSION} \
&& dpkg -i /tmp/wkhtmltopdf.deb \ && dpkg -i /tmp/wkhtmltopdf.deb \
&& rm -f /tmp/wkhtmltopdf.deb \ && rm -f /tmp/wkhtmltopdf.deb \
\ \
@@ -315,7 +341,7 @@ RUN set -eux \
\ \
\ \
# -------------------- wpcli -------------------- # -------------------- wpcli --------------------
&& curl https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar -L -o /usr/local/bin/wp \ && curl -sS -L --fail https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar -L -o /usr/local/bin/wp \
&& chmod +x /usr/local/bin/wp \ && chmod +x /usr/local/bin/wp \
\ \
# -------------------- cleanup -------------------- # -------------------- cleanup --------------------
@@ -361,23 +387,23 @@ RUN set -eux \
### ###
RUN set -eux \ RUN set -eux \
# -------------------- asgardcms -------------------- # -------------------- asgardcms --------------------
&& COMPOSER_HOME="/usr/local/src/composer" composer global require asgardcms/asgardcms-installer \ && COMPOSER_HOME="/usr/local/src/composer" COMPOSER_MEMORY_LIMIT=-1 /usr/local/bin/composer global require asgardcms/asgardcms-installer \
&& ln -s /usr/local/src/composer/vendor/asgardcms/asgardcms-installer/asgardcms /usr/local/bin/ \ && ln -s /usr/local/src/composer/vendor/asgardcms/asgardcms-installer/asgardcms /usr/local/bin/ \
\ \
# -------------------- codeception -------------------- # -------------------- codeception --------------------
&& COMPOSER_HOME="/usr/local/src/composer" composer global require codeception/codeception \ && COMPOSER_HOME="/usr/local/src/composer" COMPOSER_MEMORY_LIMIT=-1 /usr/local/bin/composer global require codeception/codeception \
&& ln -s /usr/local/src/composer/vendor/codeception/codeception/codecept /usr/local/bin/ \ && ln -s /usr/local/src/composer/vendor/codeception/codeception/codecept /usr/local/bin/ \
\ \
# -------------------- lumen -------------------- # -------------------- lumen --------------------
&& COMPOSER_HOME="/usr/local/src/composer" composer global require laravel/lumen-installer \ && COMPOSER_HOME="/usr/local/src/composer" COMPOSER_MEMORY_LIMIT=-1 /usr/local/bin/composer global require laravel/lumen-installer \
&& ln -s /usr/local/src/composer/vendor/laravel/lumen-installer/lumen /usr/local/bin/ \ && ln -s /usr/local/src/composer/vendor/laravel/lumen-installer/lumen /usr/local/bin/ \
\ \
# -------------------- photon -------------------- # -------------------- photon --------------------
&& COMPOSER_HOME="/usr/local/src/composer" composer global require photoncms/installer \ && COMPOSER_HOME="/usr/local/src/composer" COMPOSER_MEMORY_LIMIT=-1 /usr/local/bin/composer global require photoncms/installer \
&& ln -s /usr/local/src/composer/vendor/photoncms/installer/photon /usr/local/bin/ \ && ln -s /usr/local/src/composer/vendor/photoncms/installer/photon /usr/local/bin/ \
\ \
# -------------------- prestissimo -------------------- # -------------------- prestissimo --------------------
&& COMPOSER_HOME="/usr/local/src/composer" composer global require hirak/prestissimo \ && COMPOSER_HOME="/usr/local/src/composer" COMPOSER_MEMORY_LIMIT=-1 /usr/local/bin/composer global require hirak/prestissimo \
\ \
\ \
&& rm -rf /tmp/* \ && rm -rf /tmp/* \
@@ -393,40 +419,46 @@ RUN set -eux \
### ###
RUN set -eux \ RUN set -eux \
# -------------------- angular_cli -------------------- # -------------------- angular_cli --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g @angular/cli' devilbox \ && su -c '. /opt/nvm/nvm.sh; npm install -g --force @angular/cli' devilbox \
\ \
# -------------------- eslint -------------------- # -------------------- eslint --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g eslint' devilbox \ && su -c '. /opt/nvm/nvm.sh; npm install -g --force eslint' devilbox \
\ \
# -------------------- grunt -------------------- # -------------------- grunt --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g grunt' devilbox \ && su -c '. /opt/nvm/nvm.sh; npm install -g --force grunt' devilbox \
\ \
# -------------------- grunt_cli -------------------- # -------------------- grunt_cli --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g grunt-cli' devilbox \ && su -c '. /opt/nvm/nvm.sh; npm install -g --force grunt-cli' devilbox \
\ \
# -------------------- gulp -------------------- # -------------------- gulp --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g gulp' devilbox \ && su -c '. /opt/nvm/nvm.sh; npm install -g --force gulp' devilbox \
\ \
# -------------------- jsonlint -------------------- # -------------------- jsonlint --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g jsonlint' devilbox \ && su -c '. /opt/nvm/nvm.sh; npm install -g --force jsonlint' devilbox \
\ \
# -------------------- pm2 -------------------- # -------------------- pm2 --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g pm2' devilbox \ && su -c '. /opt/nvm/nvm.sh; npm install -g --force pm2' devilbox \
\ \
# -------------------- mdlint -------------------- # -------------------- mdlint --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g mdlint' devilbox \ && su -c '. /opt/nvm/nvm.sh; npm install -g --force mdlint' devilbox \
\
# -------------------- sass --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force sass' devilbox \
\
# -------------------- stylelint --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force stylelint' devilbox \
\ \
# -------------------- vue_cli -------------------- # -------------------- vue_cli --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g @vue/cli' devilbox \ && su -c '. /opt/nvm/nvm.sh; npm install -g --force @vue/cli' devilbox \
\ \
# -------------------- vue_cli_service_global -------------------- # -------------------- vue_cli_service_global --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g @vue/cli-service-global' devilbox \ && su -c '. /opt/nvm/nvm.sh; npm install -g --force @vue/cli-service-global' devilbox \
\ \
# -------------------- webpack -------------------- # -------------------- webpack --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g webpack' devilbox \ && su -c '. /opt/nvm/nvm.sh; npm install -g --force webpack' devilbox \
\ \
# -------------------- webpack_cli -------------------- # -------------------- webpack_cli --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g webpack-cli' devilbox \ && su -c '. /opt/nvm/nvm.sh; npm install -g --force webpack-cli' devilbox \
\ \
\ \
&& ln -sf $(dirname $(su -c '. /opt/nvm/nvm.sh; nvm which current' devilbox))/* /usr/local/bin/ \ && ln -sf $(dirname $(su -c '. /opt/nvm/nvm.sh; nvm which current' devilbox))/* /usr/local/bin/ \
@@ -434,6 +466,7 @@ RUN set -eux \
&& su -c '. /opt/nvm/nvm.sh; npm cache clear --force' devilbox \ && su -c '. /opt/nvm/nvm.sh; npm cache clear --force' devilbox \
&& su -c '. /opt/nvm/nvm.sh; nvm cache clear --force' devilbox \ && su -c '. /opt/nvm/nvm.sh; nvm cache clear --force' devilbox \
&& rm -rf /home/devilbox/.npm \ && rm -rf /home/devilbox/.npm \
&& rm -rf /home/devilbox/.cache \
&& rm -rf /home/devilbox/.config \ && rm -rf /home/devilbox/.config \
&& rm -rf /tmp/* \ && rm -rf /tmp/* \
&& (rm -rf /tmp/.* || true) \ && (rm -rf /tmp/.* || true) \
@@ -454,12 +487,6 @@ RUN set -eux \
# -------------------- mdl -------------------- # -------------------- mdl --------------------
&& gem install mdl -v 0.5.0 \ && gem install mdl -v 0.5.0 \
\ \
# -------------------- scss_lint --------------------
&& gem install scss_lint -v 0.57.1 \
\
# -------------------- sass --------------------
&& gem install sass \
\
\ \
&& rm -rf /root/.gem \ && rm -rf /root/.gem \
&& rm -rf /tmp/* \ && rm -rf /tmp/* \
@@ -475,13 +502,13 @@ RUN set -eux \
### ###
RUN set -eux \ RUN set -eux \
# -------------------- ansible -------------------- # -------------------- ansible --------------------
&& pip install --no-cache-dir --force-reinstall ansible \ && pip install --no-cache-dir --force-reinstall ansible || true \
\ \
# -------------------- yamllint -------------------- # -------------------- yamllint --------------------
&& pip install --no-cache-dir --force-reinstall yamllint \ && pip install --no-cache-dir --force-reinstall yamllint || true \
\ \
# -------------------- yq -------------------- # -------------------- yq --------------------
&& pip install --no-cache-dir --force-reinstall yq \ && pip install --no-cache-dir --force-reinstall yq || true \
\ \
\ \
&& rm -rf /root/.cache/pip \ && rm -rf /root/.cache/pip \
@@ -534,53 +561,57 @@ RUN set -eux \
RUN set -eux \ RUN set -eux \
# -------------------- Software -------------------- # -------------------- Software --------------------
&& composer --version 2>/dev/null | grep -E 'version\s*[.0-9]+' \ && composer --version 2>/dev/null | grep -E 'version\s*[0-9][.0-9]+' \
&& su -c '. /opt/nvm/nvm.sh; nvm --version' devilbox | grep -E '^[.0-9]+' \ && su -c '. /opt/nvm/nvm.sh; nvm --version' devilbox | grep -E '^[0-9][.0-9]+' \
&& regex-grep --version | grep -E '[.0-9]+' \ && regex-grep --version | grep -E '[0-9][.0-9]+' \
&& dep --version 2>/dev/null | grep -Ei 'deployer\s*(version\s*)?[.0-9]+' \ && dep --version 2>/dev/null | grep -Ei 'deployer\s*(version\s*)?[0-9][.0-9]+' \
&& drush7 --version | grep -E '7[.0-9]+\s*$' \ && drush7 --version | grep -E '7[.0-9]+\s*$' \
&& drush8 --version | grep -E '8[.0-9]+\s*$' \ && drush8 --version | grep -E '8[.0-9]+\s*$' \
&& drush9 --version | grep -E '9[.0-9]+\s*$' \ && drush9 --version | grep -E '9[.0-9]+\s*$' \
&& drupal --version | grep -E 'Drupal Console Launcher\s*[.0-9]' \ && drupal --version | grep -E 'Drupal Console Launcher\s*[0-9][.0-9]' \
&& git-flow version | grep -E '[.0-9]+' \ && git-flow version | grep -E '[0-9][.0-9]+' \
&& laravel --version | grep -E '(Installer|version)\s*[.0-9]+' \ && laravel --version | grep -E '(Installer|version)\s*[0-9][.0-9]+' \
&& linkcheck --version | grep -E '^linkcheck\sv[.0-9]+' \ && linkcheck --version | grep -E '^linkcheck\sv[0-9][.0-9]+' \
&& su - ${MY_USER} -c '/usr/local/src/linuxbrew/bin/brew --version' | grep -E 'Homebrew\s*[.0-9]+' \ && su - ${MY_USER} -c '/usr/local/src/linuxbrew/bin/brew --version' | grep -E 'Homebrew\s*[0-9][.0-9]+' \
&& mysqldump-secure --version | grep -E 'Version:\s*[.0-9]+' \ && mysqldump-secure --version | grep -E 'Version:\s*[0-9][.0-9]+' \
&& phpcs --version | grep -E 'version [.0-9]+' \ && phalcon commands | grep -E '[0-9][.0-9]+' \
&& phpcbf --version | grep -E 'version [.0-9]+' \ && phpcs --version | grep -E 'version [0-9][.0-9]+' \
&& phpunit --version | grep -iE '^PHPUnit\s[.0-9]+' \ && phpcbf --version | grep -E 'version [0-9][.0-9]+' \
&& symfony --version | grep -E 'version\s*[.0-9]+' \ && phpmd --version | grep -E '^PHPMD [0-9][.0-9]+' \
&& wkhtmltopdf --version | grep -E "^wkhtmltopdf [.0-9]+\s+\(.+patched.+\)" \ && phpunit --version | grep -iE '^PHPUnit\s[0-9][.0-9]+' \
&& wp --allow-root --version | grep -E '[.0-9]+' \ && symfony -V | grep -Ei 'version\s*.*v[0-9][.0-9]+' \
&& wkhtmltopdf --version | grep -E "^wkhtmltopdf [0-9][.0-9]+\s+\(.+patched.+\)" \
&& wp --allow-root --version | grep -E '[0-9][.0-9]+' \
\ \
# -------------------- Composer -------------------- # -------------------- Composer --------------------
&& asgardcms --version 2>/dev/null | grep -Ei 'AsgardCMS\sInstaller\s[.0-9]+' \ && asgardcms --version 2>/dev/null | grep -Ei 'AsgardCMS\sInstaller\s[0-9][.0-9]+' \
&& codecept --version 2>/dev/null | grep -E '^Codeception(\sversion)?\s[.0-9]+$' \ && codecept --version 2>/dev/null | grep -E '^Codeception(\sversion)?\s[0-9][.0-9]+$' \
&& lumen --version 2>/dev/null | grep -E '^Lumen Installer\s[.0-9]+$' \ && lumen --version 2>/dev/null | grep -E '^Lumen Installer\s[0-9][.0-9]+$' \
&& photon --version | grep -E 'Installer [.0-9]+' \ && photon --version | grep -E 'Installer [0-9][.0-9]+' \
\ \
# -------------------- PIP -------------------- # -------------------- PIP --------------------
&& ansible --version | grep -E '^ansible [.0-9]+$' \ && ansible --version | grep -E '^ansible [0-9][.0-9]+$' \
&& yamllint --version 2>&1 | grep -E '[.0-9]+' \ && yamllint --version 2>&1 | grep -E '[0-9][.0-9]+' \
&& yq --version 2>&1 | grep -E '^yq\s+[.0-9]+$' \ && yq --version 2>&1 | grep -E '^yq\s+[0-9][.0-9]+$' \
\ \
# -------------------- NPM -------------------- # -------------------- NPM --------------------
&& ng version 2>&1 | grep -iE 'Angular CLI:\s*[.0-9]+' \ && ng version 2>&1 | grep -iE 'Angular CLI:\s*[0-9][.0-9]+' \
&& eslint -v | grep -E '[.0-9]+' \ && eslint -v | grep -E '[0-9][.0-9]+' \
&& grunt --version | grep -E '[.0-9]+' \ && grunt --version | grep -E '[0-9][.0-9]+' \
&& gulp --version | grep -E '[.0-9]+' \ && gulp --version | grep -E '[0-9][.0-9]+' \
&& jsonlint --version | grep -E '[.0-9]+' \ && jsonlint --version | grep -E '[0-9][.0-9]+' \
&& pm2 --no-daemon --version | grep -E '[.0-9]+' \ && pm2 --no-daemon --version | tail -1 | grep -E '[0-9][.0-9]+' \
&& mdlint --version | grep -E '[.0-9]+' \ && mdlint --version | grep -E '[0-9][.0-9]+' \
&& vue --version | grep -E '[.0-9]+' \ && sass --version | grep -E '[0-9][.0-9]+' \
&& webpack --version | grep -E '[.0-9]+' \ && stylelint --version | grep -E '[0-9][.0-9]+' \
&& vue --version | grep -E '[0-9][.0-9]+' \
&& webpack --version | grep -E '[0-9][.0-9]+' \
\ \
# -------------------- GEM -------------------- # -------------------- GEM --------------------
&& mdl --version | grep -E '[.0-9]+' \ && mdl --version | grep -E '[0-9][.0-9]+' \
&& sass --version | grep -E '[.0-9]+' \
\ \
# -------------------- Cleanup -------------------- # -------------------- Cleanup --------------------
&& rm -rf /home/devilbox/.cache/ \
&& rm -rf /home/devilbox/.config/ \ && rm -rf /home/devilbox/.config/ \
&& rm -rf /root/.ansible \ && rm -rf /root/.ansible \
&& rm -rf /root/.console \ && rm -rf /root/.console \

View File

@@ -40,15 +40,15 @@ RUN set -eux \
gnupg \ gnupg \
\ \
&& echo "deb http://ftp.debian.org/debian stretch-backports main" > /etc/apt/sources.list.d/backports.list \ && echo "deb http://ftp.debian.org/debian stretch-backports main" > /etc/apt/sources.list.d/backports.list \
&& curl -sS "https://packages.blackfire.io/gpg.key" 2>/dev/null | APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key add - \ && curl -sS -L --fail "https://packages.blackfire.io/gpg.key" 2>/dev/null | APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key add - \
&& echo "deb http://packages.blackfire.io/debian any main" > /etc/apt/sources.list.d/blackfire.list \ && echo "deb http://packages.blackfire.io/debian any main" > /etc/apt/sources.list.d/blackfire.list \
&& APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv A1715D88E1DF1F24 \ && APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv A1715D88E1DF1F24 \
&& echo "deb http://ppa.launchpad.net/git-core/ppa/ubuntu artful main" > /etc/apt/sources.list.d/git.list \ && echo "deb http://ppa.launchpad.net/git-core/ppa/ubuntu artful main" > /etc/apt/sources.list.d/git.list \
&& APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 9DA31620334BD75D9DCB49F368818C72E52529D4 \ && APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 9DA31620334BD75D9DCB49F368818C72E52529D4 \
&& echo "deb http://repo.mongodb.org/apt/debian stretch/mongodb-org/4.0 main" > /etc/apt/sources.list.d/mongo.list \ && echo "deb http://repo.mongodb.org/apt/debian stretch/mongodb-org/4.0 main" > /etc/apt/sources.list.d/mongo.list \
&& curl -sS https://www.postgresql.org/media/keys/ACCC4CF8.asc 2>/dev/null | APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key add - \ && curl -sS -L --fail https://www.postgresql.org/media/keys/ACCC4CF8.asc 2>/dev/null | APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key add - \
&& echo "deb http://apt.postgresql.org/pub/repos/apt/ stretch-pgdg main" > /etc/apt/sources.list.d/pgsql.list \ && echo "deb http://apt.postgresql.org/pub/repos/apt/ stretch-pgdg main" > /etc/apt/sources.list.d/pgsql.list \
&& curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg 2>/dev/null | APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key add - \ && curl -sS -L --fail https://dl.yarnpkg.com/debian/pubkey.gpg 2>/dev/null | APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key add - \
&& echo "deb http://dl.yarnpkg.com/debian/ stable main" > /etc/apt/sources.list.d/yarn.list \ && echo "deb http://dl.yarnpkg.com/debian/ stable main" > /etc/apt/sources.list.d/yarn.list \
\ \
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \ && DEBIAN_FRONTEND=noninteractive apt-get update -qq \
@@ -62,6 +62,7 @@ RUN set -eux \
blackfire-agent \ blackfire-agent \
build-essential \ build-essential \
bzip2 \ bzip2 \
certbot \
coreutils \ coreutils \
dnsutils \ dnsutils \
dos2unix \ dos2unix \
@@ -73,6 +74,7 @@ RUN set -eux \
git-svn \ git-svn \
ghostscript \ ghostscript \
graphviz \ graphviz \
gsfonts \
hostname \ hostname \
htop \ htop \
imagemagick \ imagemagick \
@@ -88,6 +90,8 @@ RUN set -eux \
mongodb-org-tools \ mongodb-org-tools \
moreutils \ moreutils \
mariadb-client \ mariadb-client \
mupdf \
mupdf-tools \
nano \ nano \
net-tools \ net-tools \
netcat \ netcat \
@@ -128,7 +132,7 @@ RUN set -eux \
### ###
RUN set -eux \ RUN set -eux \
# -------------------- composer -------------------- # -------------------- composer --------------------
&& curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer \ && curl -sS -L --fail https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer \
\ \
# -------------------- pip -------------------- # -------------------- pip --------------------
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \ && DEBIAN_FRONTEND=noninteractive apt-get update -qq \
@@ -137,7 +141,7 @@ RUN set -eux \
&& DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \ && DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \
&& rm -rf /var/lib/apt/lists/* \ && rm -rf /var/lib/apt/lists/* \
\ \
&& curl -sS https://bootstrap.pypa.io/get-pip.py | python \ && curl -sS -L --fail https://bootstrap.pypa.io/get-pip.py | python \
\ \
\ \
# -------------------- nvm -------------------- # -------------------- nvm --------------------
@@ -169,7 +173,7 @@ RUN set -eux \
\ \
\ \
# -------------------- deployer -------------------- # -------------------- deployer --------------------
&& curl -sS https://deployer.org/deployer.phar -L -o /usr/local/bin/dep \ && curl -sS -L --fail https://deployer.org/deployer.phar -L -o /usr/local/bin/dep \
&& chmod +x /usr/local/bin/dep \ && chmod +x /usr/local/bin/dep \
\ \
# -------------------- gitflow -------------------- # -------------------- gitflow --------------------
@@ -180,7 +184,7 @@ RUN set -eux \
\ \
\ \
# -------------------- linkcheck -------------------- # -------------------- linkcheck --------------------
&& curl https://raw.githubusercontent.com/cytopia/linkcheck/master/linkcheck > /usr/local/bin/linkcheck \ && curl -sS -L --fail https://raw.githubusercontent.com/cytopia/linkcheck/master/linkcheck > /usr/local/bin/linkcheck \
&& chmod +x /usr/local/bin/linkcheck \ && chmod +x /usr/local/bin/linkcheck \
\ \
\ \
@@ -197,7 +201,7 @@ RUN set -eux \
\ \
\ \
# -------------------- mhsendmail -------------------- # -------------------- mhsendmail --------------------
&& wget https://github.com/mailhog/mhsendmail/releases/download/v0.2.0/mhsendmail_linux_amd64 \ && curl -sS -L --fail https://github.com/devilbox/mhsendmail/releases/download/v0.3.0/mhsendmail_linux_amd64 > mhsendmail_linux_amd64 \
&& chmod +x mhsendmail_linux_amd64 \ && chmod +x mhsendmail_linux_amd64 \
&& mv mhsendmail_linux_amd64 /usr/local/bin/mhsendmail \ && mv mhsendmail_linux_amd64 /usr/local/bin/mhsendmail \
\ \
@@ -226,25 +230,32 @@ RUN set -eux \
\ \
\ \
# -------------------- phpcs -------------------- # -------------------- phpcs --------------------
&& curl -sS -L https://squizlabs.github.io/PHP_CodeSniffer/phpcs.phar > /usr/local/bin/phpcs 2>/dev/null \ && curl -sS -L --fail https://squizlabs.github.io/PHP_CodeSniffer/phpcs.phar > /usr/local/bin/phpcs 2>/dev/null \
&& chmod +x /usr/local/bin/phpcs \ && chmod +x /usr/local/bin/phpcs \
\ \
\ \
# -------------------- phpcbf -------------------- # -------------------- phpcbf --------------------
&& curl -sS -L https://squizlabs.github.io/PHP_CodeSniffer/phpcbf.phar > /usr/local/bin/phpcbf 2>/dev/null \ && curl -sS -L --fail https://squizlabs.github.io/PHP_CodeSniffer/phpcbf.phar > /usr/local/bin/phpcbf 2>/dev/null \
&& chmod +x /usr/local/bin/phpcbf \ && chmod +x /usr/local/bin/phpcbf \
\ \
\ \
# -------------------- phpmd --------------------
&& curl -sS -L --fail https://phpmd.org/static/latest/phpmd.phar > phpmd.phar \
&& mv phpmd.phar /usr/local/bin/phpmd \
&& chmod +x /usr/local/bin/phpmd \
\
\
# -------------------- symfony -------------------- # -------------------- symfony --------------------
&& curl https://symfony.com/installer -L -o /usr/local/bin/symfony \ && SYMFONY_VERSION="$( curl -sS -L --fail https://get.symfony.com/cli/LATEST )" \
&& curl -sS -L --fail "https://github.com/symfony/cli/releases/download/v${SYMFONY_VERSION}/symfony_linux_amd64" > /usr/local/bin/symfony \
&& chmod +x /usr/local/bin/symfony \ && chmod +x /usr/local/bin/symfony \
\ \
# -------------------- wkhtmltopdf -------------------- # -------------------- wkhtmltopdf --------------------
&& VERSION="$( curl -sSL https://github.com/wkhtmltopdf/wkhtmltopdf/releases | grep -Eo '/wkhtmltopdf/.+stretch_amd64\.deb' | head -1 )" \ && VERSION="$( curl -sSL -L --fail https://github.com/wkhtmltopdf/wkhtmltopdf/releases | grep -Eo '/wkhtmltopdf/.+stretch_amd64\.deb' | head -1 )" \
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \ && DEBIAN_FRONTEND=noninteractive apt-get update -qq \
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \ && DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
libfontenc1 libxfont2 xfonts-75dpi xfonts-base xfonts-encodings xfonts-utils \ libfontenc1 libxfont2 xfonts-75dpi xfonts-base xfonts-encodings xfonts-utils \
&& curl -sS -L -o /tmp/wkhtmltopdf.deb https://github.com/${VERSION} \ && curl -sS -L --fail -o /tmp/wkhtmltopdf.deb https://github.com/${VERSION} \
&& dpkg -i /tmp/wkhtmltopdf.deb \ && dpkg -i /tmp/wkhtmltopdf.deb \
&& rm -f /tmp/wkhtmltopdf.deb \ && rm -f /tmp/wkhtmltopdf.deb \
\ \
@@ -253,7 +264,7 @@ RUN set -eux \
\ \
\ \
# -------------------- wpcli -------------------- # -------------------- wpcli --------------------
&& curl https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar -L -o /usr/local/bin/wp \ && curl -sS -L --fail https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar -L -o /usr/local/bin/wp \
&& chmod +x /usr/local/bin/wp \ && chmod +x /usr/local/bin/wp \
\ \
# -------------------- cleanup -------------------- # -------------------- cleanup --------------------
@@ -312,40 +323,46 @@ RUN set -eux \
### ###
RUN set -eux \ RUN set -eux \
# -------------------- angular_cli -------------------- # -------------------- angular_cli --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g @angular/cli' devilbox \ && su -c '. /opt/nvm/nvm.sh; npm install -g --force @angular/cli' devilbox \
\ \
# -------------------- eslint -------------------- # -------------------- eslint --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g eslint' devilbox \ && su -c '. /opt/nvm/nvm.sh; npm install -g --force eslint' devilbox \
\ \
# -------------------- grunt -------------------- # -------------------- grunt --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g grunt' devilbox \ && su -c '. /opt/nvm/nvm.sh; npm install -g --force grunt' devilbox \
\ \
# -------------------- grunt_cli -------------------- # -------------------- grunt_cli --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g grunt-cli' devilbox \ && su -c '. /opt/nvm/nvm.sh; npm install -g --force grunt-cli' devilbox \
\ \
# -------------------- gulp -------------------- # -------------------- gulp --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g gulp' devilbox \ && su -c '. /opt/nvm/nvm.sh; npm install -g --force gulp' devilbox \
\ \
# -------------------- jsonlint -------------------- # -------------------- jsonlint --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g jsonlint' devilbox \ && su -c '. /opt/nvm/nvm.sh; npm install -g --force jsonlint' devilbox \
\ \
# -------------------- pm2 -------------------- # -------------------- pm2 --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g pm2' devilbox \ && su -c '. /opt/nvm/nvm.sh; npm install -g --force pm2' devilbox \
\ \
# -------------------- mdlint -------------------- # -------------------- mdlint --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g mdlint' devilbox \ && su -c '. /opt/nvm/nvm.sh; npm install -g --force mdlint' devilbox \
\
# -------------------- sass --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force sass' devilbox \
\
# -------------------- stylelint --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force stylelint' devilbox \
\ \
# -------------------- vue_cli -------------------- # -------------------- vue_cli --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g @vue/cli' devilbox \ && su -c '. /opt/nvm/nvm.sh; npm install -g --force @vue/cli' devilbox \
\ \
# -------------------- vue_cli_service_global -------------------- # -------------------- vue_cli_service_global --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g @vue/cli-service-global' devilbox \ && su -c '. /opt/nvm/nvm.sh; npm install -g --force @vue/cli-service-global' devilbox \
\ \
# -------------------- webpack -------------------- # -------------------- webpack --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g webpack' devilbox \ && su -c '. /opt/nvm/nvm.sh; npm install -g --force webpack' devilbox \
\ \
# -------------------- webpack_cli -------------------- # -------------------- webpack_cli --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g webpack-cli' devilbox \ && su -c '. /opt/nvm/nvm.sh; npm install -g --force webpack-cli' devilbox \
\ \
\ \
&& ln -sf $(dirname $(su -c '. /opt/nvm/nvm.sh; nvm which current' devilbox))/* /usr/local/bin/ \ && ln -sf $(dirname $(su -c '. /opt/nvm/nvm.sh; nvm which current' devilbox))/* /usr/local/bin/ \
@@ -353,6 +370,7 @@ RUN set -eux \
&& su -c '. /opt/nvm/nvm.sh; npm cache clear --force' devilbox \ && su -c '. /opt/nvm/nvm.sh; npm cache clear --force' devilbox \
&& su -c '. /opt/nvm/nvm.sh; nvm cache clear --force' devilbox \ && su -c '. /opt/nvm/nvm.sh; nvm cache clear --force' devilbox \
&& rm -rf /home/devilbox/.npm \ && rm -rf /home/devilbox/.npm \
&& rm -rf /home/devilbox/.cache \
&& rm -rf /home/devilbox/.config \ && rm -rf /home/devilbox/.config \
&& rm -rf /tmp/* \ && rm -rf /tmp/* \
&& (rm -rf /tmp/.* || true) \ && (rm -rf /tmp/.* || true) \
@@ -373,12 +391,6 @@ RUN set -eux \
# -------------------- mdl -------------------- # -------------------- mdl --------------------
&& gem install mdl -v 0.5.0 \ && gem install mdl -v 0.5.0 \
\ \
# -------------------- scss_lint --------------------
&& gem install scss_lint -v 0.57.1 \
\
# -------------------- sass --------------------
&& gem install sass \
\
\ \
&& rm -rf /root/.gem \ && rm -rf /root/.gem \
&& rm -rf /tmp/* \ && rm -rf /tmp/* \
@@ -394,13 +406,13 @@ RUN set -eux \
### ###
RUN set -eux \ RUN set -eux \
# -------------------- ansible -------------------- # -------------------- ansible --------------------
&& pip install --no-cache-dir --force-reinstall ansible \ && pip install --no-cache-dir --force-reinstall ansible || true \
\ \
# -------------------- yamllint -------------------- # -------------------- yamllint --------------------
&& pip install --no-cache-dir --force-reinstall yamllint \ && pip install --no-cache-dir --force-reinstall yamllint || true \
\ \
# -------------------- yq -------------------- # -------------------- yq --------------------
&& pip install --no-cache-dir --force-reinstall yq \ && pip install --no-cache-dir --force-reinstall yq || true \
\ \
\ \
&& rm -rf /root/.cache/pip \ && rm -rf /root/.cache/pip \
@@ -453,43 +465,46 @@ RUN set -eux \
RUN set -eux \ RUN set -eux \
# -------------------- Software -------------------- # -------------------- Software --------------------
&& composer --version 2>/dev/null | grep -E 'version\s*[.0-9]+' \ && composer --version 2>/dev/null | grep -E 'version\s*[0-9][.0-9]+' \
&& su -c '. /opt/nvm/nvm.sh; nvm --version' devilbox | grep -E '^[.0-9]+' \ && su -c '. /opt/nvm/nvm.sh; nvm --version' devilbox | grep -E '^[0-9][.0-9]+' \
&& regex-grep --version | grep -E '[.0-9]+' \ && regex-grep --version | grep -E '[0-9][.0-9]+' \
&& dep --version 2>/dev/null | grep -Ei 'deployer\s*(version\s*)?[.0-9]+' \ && dep --version 2>/dev/null | grep -Ei 'deployer\s*(version\s*)?[0-9][.0-9]+' \
&& git-flow version | grep -E '[.0-9]+' \ && git-flow version | grep -E '[0-9][.0-9]+' \
&& linkcheck --version | grep -E '^linkcheck\sv[.0-9]+' \ && linkcheck --version | grep -E '^linkcheck\sv[0-9][.0-9]+' \
&& su - ${MY_USER} -c '/usr/local/src/linuxbrew/bin/brew --version' | grep -E 'Homebrew\s*[.0-9]+' \ && su - ${MY_USER} -c '/usr/local/src/linuxbrew/bin/brew --version' | grep -E 'Homebrew\s*[0-9][.0-9]+' \
&& mysqldump-secure --version | grep -E 'Version:\s*[.0-9]+' \ && mysqldump-secure --version | grep -E 'Version:\s*[0-9][.0-9]+' \
&& phpcs --version | grep -E 'version [.0-9]+' \ && phpcs --version | grep -E 'version [0-9][.0-9]+' \
&& phpcbf --version | grep -E 'version [.0-9]+' \ && phpcbf --version | grep -E 'version [0-9][.0-9]+' \
&& symfony --version | grep -E 'version\s*[.0-9]+' \ && phpmd --version | grep -E '^PHPMD [0-9][.0-9]+' \
&& wkhtmltopdf --version | grep -E "^wkhtmltopdf [.0-9]+\s+\(.+patched.+\)" \ && symfony -V | grep -Ei 'version\s*.*v[0-9][.0-9]+' \
&& wp --allow-root --version | grep -E '[.0-9]+' \ && wkhtmltopdf --version | grep -E "^wkhtmltopdf [0-9][.0-9]+\s+\(.+patched.+\)" \
&& wp --allow-root --version | grep -E '[0-9][.0-9]+' \
\ \
# -------------------- Composer -------------------- # -------------------- Composer --------------------
\ \
# -------------------- PIP -------------------- # -------------------- PIP --------------------
&& ansible --version | grep -E '^ansible [.0-9]+$' \ && ansible --version | grep -E '^ansible [0-9][.0-9]+$' \
&& yamllint --version 2>&1 | grep -E '[.0-9]+' \ && yamllint --version 2>&1 | grep -E '[0-9][.0-9]+' \
&& yq --version 2>&1 | grep -E '^yq\s+[.0-9]+$' \ && yq --version 2>&1 | grep -E '^yq\s+[0-9][.0-9]+$' \
\ \
# -------------------- NPM -------------------- # -------------------- NPM --------------------
&& ng version 2>&1 | grep -iE 'Angular CLI:\s*[.0-9]+' \ && ng version 2>&1 | grep -iE 'Angular CLI:\s*[0-9][.0-9]+' \
&& eslint -v | grep -E '[.0-9]+' \ && eslint -v | grep -E '[0-9][.0-9]+' \
&& grunt --version | grep -E '[.0-9]+' \ && grunt --version | grep -E '[0-9][.0-9]+' \
&& gulp --version | grep -E '[.0-9]+' \ && gulp --version | grep -E '[0-9][.0-9]+' \
&& jsonlint --version | grep -E '[.0-9]+' \ && jsonlint --version | grep -E '[0-9][.0-9]+' \
&& pm2 --no-daemon --version | grep -E '[.0-9]+' \ && pm2 --no-daemon --version | tail -1 | grep -E '[0-9][.0-9]+' \
&& mdlint --version | grep -E '[.0-9]+' \ && mdlint --version | grep -E '[0-9][.0-9]+' \
&& vue --version | grep -E '[.0-9]+' \ && sass --version | grep -E '[0-9][.0-9]+' \
&& webpack --version | grep -E '[.0-9]+' \ && stylelint --version | grep -E '[0-9][.0-9]+' \
&& vue --version | grep -E '[0-9][.0-9]+' \
&& webpack --version | grep -E '[0-9][.0-9]+' \
\ \
# -------------------- GEM -------------------- # -------------------- GEM --------------------
&& mdl --version | grep -E '[.0-9]+' \ && mdl --version | grep -E '[0-9][.0-9]+' \
&& sass --version | grep -E '[.0-9]+' \
\ \
# -------------------- Cleanup -------------------- # -------------------- Cleanup --------------------
&& rm -rf /home/devilbox/.cache/ \
&& rm -rf /home/devilbox/.config/ \ && rm -rf /home/devilbox/.config/ \
&& rm -rf /root/.ansible \ && rm -rf /root/.ansible \
&& rm -rf /root/.console \ && rm -rf /root/.console \

View File

@@ -24,9 +24,6 @@ DVL_PHP_INI_DIR="/usr/local/etc/php/conf.d"
# php-fpm conf.d directory # php-fpm conf.d directory
DVL_PHP_FPM_DIR="/usr/local/etc/php-fpm.d" DVL_PHP_FPM_DIR="/usr/local/etc/php-fpm.d"
# This is the log file for any mail related functions
DVL_PHP_MAIL_LOG="/var/log/mail.log"
# This file holds error and access log definitions # This file holds error and access log definitions
DVL_PHP_FPM_CONF_LOGFILE="${DVL_PHP_FPM_DIR}/zzz-entrypoint-logfiles.conf" DVL_PHP_FPM_CONF_LOGFILE="${DVL_PHP_FPM_DIR}/zzz-entrypoint-logfiles.conf"
DVL_PHP_INI_CONF_LOGFILE="${DVL_PHP_INI_DIR}/zzz-entrypoint-logfiles.ini" DVL_PHP_INI_CONF_LOGFILE="${DVL_PHP_INI_DIR}/zzz-entrypoint-logfiles.ini"
@@ -34,6 +31,9 @@ DVL_PHP_INI_CONF_LOGFILE="${DVL_PHP_INI_DIR}/zzz-entrypoint-logfiles.ini"
# PHP-FPM log dir # PHP-FPM log dir
DVL_FPM_LOG_DIR="/var/log/php" DVL_FPM_LOG_DIR="/var/log/php"
# This is the log file for any mail related functions
DVL_PHP_MAIL_LOG="${DVL_FPM_LOG_DIR}/mail.log"
# Custom ini dir (to be copied to actual ini dir) # Custom ini dir (to be copied to actual ini dir)
DVL_PHP_CUST_INI_DIR="/etc/php-custom.d" DVL_PHP_CUST_INI_DIR="/etc/php-custom.d"
@@ -138,7 +138,7 @@ done
### ###
### Supervisor: rsyslogd & postfix ### Supervisor: rsyslogd & postfix
### ###
if [ "$( env_get "ENABLE_MAIL" )" = "1" ]; then if [ "$( env_get "ENABLE_MAIL" )" = "1" ] || [ "$( env_get "ENABLE_MAIL" )" = "2" ]; then
supervisor_add_service "rsyslogd" "/usr/sbin/rsyslogd -n" "${DVL_SUPERVISOR_CONFD}" "${DEBUG_LEVEL}" "1" supervisor_add_service "rsyslogd" "/usr/sbin/rsyslogd -n" "${DVL_SUPERVISOR_CONFD}" "${DEBUG_LEVEL}" "1"
supervisor_add_service "postfix" "/usr/local/sbin/postfix.sh" "${DVL_SUPERVISOR_CONFD}" "${DEBUG_LEVEL}" supervisor_add_service "postfix" "/usr/local/sbin/postfix.sh" "${DVL_SUPERVISOR_CONFD}" "${DEBUG_LEVEL}"
fi fi

View File

@@ -73,12 +73,14 @@ help:
gen-readme: gen-readme:
ifeq ($(strip $(VERSION)),) ifeq ($(strip $(VERSION)),)
@echo "Generate README.md for all PHP versions"
cd build; ./gen-readme.sh cd build; ./gen-readme.sh
else else
@echo "Generate README.md for PHP $(VERSION)"
@$(MAKE) --no-print-directory _check-version @$(MAKE) --no-print-directory _check-version
@$(MAKE) --no-print-directory _check-image-exists _EXIST_IMAGE=base @$(MAKE) --no-print-directory _check-image-exists _EXIST_IMAGE=base
@$(MAKE) --no-print-directory _check-image-exists _EXIST_IMAGE=mods @$(MAKE) --no-print-directory _check-image-exists _EXIST_IMAGE=mods
cd build; ./gen-readme.sh ${VERSION} cd build; ./gen-readme.sh $(VERSION)
endif endif
@@ -178,6 +180,7 @@ build-work:
# REBUILD TARGETS # REBUILD TARGETS
# ------------------------------------------------------------------------------------------------- # -------------------------------------------------------------------------------------------------
rebuild-base: _pull-root-image
rebuild-base: NO_CACHE=--no-cache rebuild-base: NO_CACHE=--no-cache
rebuild-base: build-base rebuild-base: build-base
@@ -226,6 +229,52 @@ test-work: _check-version
./tests/test.sh ${VERSION} work ./tests/test.sh ${VERSION} work
# -------------------------------------------------------------------------------------------------
# DOCKERHUB TARGETS
# -------------------------------------------------------------------------------------------------
login:
ifeq ($(strip $(USERNAME)),)
@$(info This make target requires the USERNAME variable to be set.)
@$(info make login USERNAME= PASSWORD=)
@$(info )
@$(error Exiting)
endif
ifeq ($(strip $(PASSWORD)),)
@$(info This make target requires the PASSWORD variable to be set.)
@$(info make login USERNAME= PASSWORD=)
@$(info )
@$(error Exiting)
endif
@yes | docker login --username $(USERNAME) --password $(PASSWORD)
push:
ifeq ($(strip $(TAG)),)
@$(info This make target requires the TAG variable to be set.)
@$(info make push TAG=)
@$(info )
@$(error Exiting)
endif
docker push $(IMAGE):$(TAG)
tag:
ifeq ($(strip $(OLD_TAG)),)
@$(info This make target requires the OLD_TAG variable to be set.)
@$(info make tag OLD_TAG= NEW_TAG=)
@$(info )
@$(error Exiting)
endif
ifeq ($(strip $(NEW_TAG)),)
@$(info This make target requires the NEW_TAG variable to be set.)
@$(info make tag OLD_TAG= NEW_TAG=)
@$(info )
@$(error Exiting)
endif
docker tag $(IMAGE):$(OLD_TAG) $(IMAGE):$(NEW_TAG)
# ------------------------------------------------------------------------------------------------- # -------------------------------------------------------------------------------------------------
# HELPER TARGETS # HELPER TARGETS
# ------------------------------------------------------------------------------------------------- # -------------------------------------------------------------------------------------------------
@@ -273,6 +322,7 @@ endif
endif endif
endif endif
endif endif
@echo "Version $(VERSION) is valid"
_check-image-exists: _check-image-exists:

View File

@@ -607,52 +607,52 @@ Check out this table to see which Docker image provides what PHP modules.
<tr> <tr>
<th>5.3</th> <th>5.3</th>
<td id="53-base">Core, ctype, curl, date, dom, ereg, fileinfo, filter, hash, iconv, json, libxml, mysql, mysqlnd, openssl, pcre, PDO, pdo_sqlite, Phar, posix, readline, recode, Reflection, session, SimpleXML, SPL, SQLite, sqlite3, standard, tokenizer, xml, xmlreader, xmlwriter, zlib</td> <td id="53-base">Core, ctype, curl, date, dom, ereg, fileinfo, filter, hash, iconv, json, libxml, mysql, mysqlnd, openssl, pcre, PDO, pdo_sqlite, Phar, posix, readline, recode, Reflection, session, SimpleXML, SPL, SQLite, sqlite3, standard, tokenizer, xml, xmlreader, xmlwriter, zlib</td>
<td id="53-mods">amqp, apc, apcu, bcmath, bz2, calendar, Core, ctype, curl, date, dba, dom, enchant, ereg, exif, fileinfo, filter, ftp, gd, gettext, gmp, hash, iconv, igbinary, imap, interbase, intl, ioncube, json, ldap, libxml, mbstring, mcrypt, memcache, memcached, mongo, mongodb, msgpack, mysql, mysqli, mysqlnd, OAuth, oci8, openssl, pcntl, pcre, PDO, pdo_dblib, PDO_Firebird, pdo_mysql, pdo_pgsql, pdo_sqlite, pgsql, phalcon, Phar, posix, pspell, rdkafka, readline, recode, redis, Reflection, session, shmop, SimpleXML, snmp, soap, sockets, SPL, SQLite, sqlite3, standard, swoole, sysvmsg, sysvsem, sysvshm, tidy, tokenizer, uploadprogress, wddx, xdebug, xml, xmlreader, xmlrpc, xmlwriter, xsl, Zend OPcache, zip, zlib</td> <td id="53-mods">amqp, apc, apcu, bcmath, bz2, calendar, Core, ctype, curl, date, dba, dom, enchant, ereg, exif, fileinfo, filter, ftp, gd, gettext, gmp, hash, iconv, igbinary, imap, interbase, intl, ioncube, json, ldap, libxml, mbstring, mcrypt, memcache, memcached, mongo, mongodb, msgpack, mysql, mysqli, mysqlnd, OAuth, oci8, openssl, pcntl, pcre, PDO, pdo_dblib, PDO_Firebird, pdo_mysql, pdo_pgsql, pdo_sqlite, pgsql, phalcon, Phar, posix, pspell, rdkafka, readline, recode, redis, Reflection, session, shmop, SimpleXML, snmp, soap, sockets, SPL, SQLite, sqlite3, standard, swoole, sysvmsg, sysvsem, sysvshm, tidy, tokenizer, uploadprogress, wddx, xdebug, xml, xmlreader, xmlrpc, xmlwriter, xsl, yaml, Zend OPcache, zip, zlib</td>
</tr> </tr>
<tr> <tr>
<th>5.4</th> <th>5.4</th>
<td id="54-base">Core, ctype, curl, date, dom, ereg, fileinfo, filter, hash, iconv, json, libxml, mysqlnd, openssl, pcre, PDO, pdo_sqlite, Phar, posix, readline, recode, Reflection, session, SimpleXML, SPL, sqlite3, standard, tokenizer, xml, xmlreader, xmlwriter, zlib</td> <td id="54-base">Core, ctype, curl, date, dom, ereg, fileinfo, filter, hash, iconv, json, libxml, mysqlnd, openssl, pcre, PDO, pdo_sqlite, Phar, posix, readline, recode, Reflection, session, SimpleXML, SPL, sqlite3, standard, tokenizer, xml, xmlreader, xmlwriter, zlib</td>
<td id="54-mods">amqp, apc, apcu, bcmath, bz2, calendar, Core, ctype, curl, date, dba, dom, enchant, ereg, exif, fileinfo, filter, ftp, gd, gettext, gmp, hash, iconv, igbinary, imap, interbase, intl, ioncube, json, ldap, libxml, mbstring, mcrypt, memcache, memcached, mongo, mongodb, msgpack, mysql, mysqli, mysqlnd, OAuth, oci8, openssl, pcntl, pcre, PDO, pdo_dblib, PDO_Firebird, pdo_mysql, pdo_pgsql, pdo_sqlite, pgsql, phalcon, Phar, posix, pspell, rdkafka, readline, recode, redis, Reflection, session, shmop, SimpleXML, snmp, soap, sockets, SPL, sqlite3, standard, swoole, sysvmsg, sysvsem, sysvshm, tidy, tokenizer, uploadprogress, wddx, xdebug, xml, xmlreader, xmlrpc, xmlwriter, xsl, Zend OPcache, zip, zlib</td> <td id="54-mods">amqp, apc, apcu, bcmath, bz2, calendar, Core, ctype, curl, date, dba, dom, enchant, ereg, exif, fileinfo, filter, ftp, gd, gettext, gmp, hash, iconv, igbinary, imap, interbase, intl, ioncube, json, ldap, libxml, mbstring, mcrypt, memcache, memcached, mongo, mongodb, msgpack, mysql, mysqli, mysqlnd, OAuth, oci8, openssl, pcntl, pcre, PDO, pdo_dblib, PDO_Firebird, pdo_mysql, pdo_pgsql, pdo_sqlite, pgsql, phalcon, Phar, posix, pspell, psr, rdkafka, readline, recode, redis, Reflection, session, shmop, SimpleXML, snmp, soap, sockets, SPL, sqlite3, standard, swoole, sysvmsg, sysvsem, sysvshm, tidy, tokenizer, uploadprogress, wddx, xdebug, xml, xmlreader, xmlrpc, xmlwriter, xsl, yaml, Zend OPcache, zip, zlib</td>
</tr> </tr>
<tr> <tr>
<th>5.5</th> <th>5.5</th>
<td id="55-base">Core, ctype, curl, date, dom, ereg, fileinfo, filter, ftp, hash, iconv, json, libxml, mbstring, mysqlnd, openssl, pcre, PDO, pdo_sqlite, Phar, posix, readline, Reflection, session, SimpleXML, SPL, sqlite3, standard, tokenizer, xml, xmlreader, xmlwriter, zlib</td> <td id="55-base">Core, ctype, curl, date, dom, ereg, fileinfo, filter, ftp, hash, iconv, json, libxml, mbstring, mysqlnd, openssl, pcre, PDO, pdo_sqlite, Phar, posix, readline, Reflection, session, SimpleXML, SPL, sqlite3, standard, tokenizer, xml, xmlreader, xmlwriter, zlib</td>
<td id="55-mods">amqp, apc, apcu, bcmath, bz2, calendar, Core, ctype, curl, date, dba, dom, enchant, ereg, exif, fileinfo, filter, ftp, gd, gettext, gmp, hash, iconv, igbinary, imap, interbase, intl, ioncube, json, ldap, libxml, mbstring, mcrypt, memcache, memcached, mongo, mongodb, msgpack, mysql, mysqli, mysqlnd, OAuth, oci8, openssl, pcntl, pcre, PDO, pdo_dblib, PDO_Firebird, pdo_mysql, pdo_pgsql, pdo_sqlite, pgsql, phalcon, Phar, posix, pspell, rdkafka, readline, recode, redis, Reflection, session, shmop, SimpleXML, snmp, soap, sockets, SPL, sqlite3, standard, swoole, sysvmsg, sysvsem, sysvshm, tidy, tokenizer, uploadprogress, wddx, xdebug, xml, xmlreader, xmlrpc, xmlwriter, xsl, Zend OPcache, zip, zlib</td> <td id="55-mods">amqp, apc, apcu, bcmath, bz2, calendar, Core, ctype, curl, date, dba, dom, enchant, ereg, exif, fileinfo, filter, ftp, gd, gettext, gmp, hash, iconv, igbinary, imagick, imap, interbase, intl, ioncube, json, ldap, libxml, mbstring, mcrypt, memcache, memcached, mongo, mongodb, msgpack, mysql, mysqli, mysqlnd, OAuth, oci8, openssl, pcntl, pcre, PDO, pdo_dblib, PDO_Firebird, pdo_mysql, pdo_pgsql, pdo_sqlite, pgsql, phalcon, Phar, posix, pspell, psr, rdkafka, readline, recode, redis, Reflection, session, shmop, SimpleXML, snmp, soap, sockets, SPL, sqlite3, standard, swoole, sysvmsg, sysvsem, sysvshm, tidy, tokenizer, uploadprogress, wddx, xdebug, xml, xmlreader, xmlrpc, xmlwriter, xsl, yaml, Zend OPcache, zip, zlib</td>
</tr> </tr>
<tr> <tr>
<th>5.6</th> <th>5.6</th>
<td id="56-base">Core, ctype, curl, date, dom, ereg, fileinfo, filter, ftp, hash, iconv, json, libxml, mbstring, mhash, mysqlnd, openssl, pcre, PDO, pdo_sqlite, Phar, posix, readline, Reflection, session, SimpleXML, SPL, sqlite3, standard, tokenizer, xml, xmlreader, xmlwriter, zlib</td> <td id="56-base">Core, ctype, curl, date, dom, ereg, fileinfo, filter, ftp, hash, iconv, json, libxml, mbstring, mhash, mysqlnd, openssl, pcre, PDO, pdo_sqlite, Phar, posix, readline, Reflection, session, SimpleXML, SPL, sqlite3, standard, tokenizer, xml, xmlreader, xmlwriter, zlib</td>
<td id="56-mods">amqp, apc, apcu, bcmath, blackfire, bz2, calendar, Core, ctype, curl, date, dba, dom, enchant, ereg, exif, fileinfo, filter, ftp, gd, gettext, gmp, hash, iconv, igbinary, imagick, imap, interbase, intl, ioncube, json, ldap, libxml, mbstring, mcrypt, memcache, memcached, mhash, mongo, mongodb, msgpack, mysql, mysqli, mysqlnd, OAuth, oci8, openssl, pcntl, pcre, PDO, pdo_dblib, PDO_Firebird, pdo_mysql, pdo_pgsql, pdo_sqlite, pgsql, phalcon, Phar, posix, pspell, rdkafka, readline, recode, redis, Reflection, session, shmop, SimpleXML, snmp, soap, sockets, SPL, sqlite3, standard, swoole, sysvmsg, sysvsem, sysvshm, tidy, tokenizer, uploadprogress, wddx, xdebug, xml, xmlreader, xmlrpc, xmlwriter, xsl, Zend OPcache, zip, zlib</td> <td id="56-mods">amqp, apc, apcu, bcmath, blackfire, bz2, calendar, Core, ctype, curl, date, dba, dom, enchant, ereg, exif, fileinfo, filter, ftp, gd, gettext, gmp, hash, iconv, igbinary, imagick, imap, interbase, intl, ioncube, json, ldap, libxml, mbstring, mcrypt, memcache, memcached, mhash, mongo, mongodb, msgpack, mysql, mysqli, mysqlnd, OAuth, oci8, openssl, pcntl, pcre, PDO, pdo_dblib, PDO_Firebird, pdo_mysql, pdo_pgsql, pdo_sqlite, pgsql, phalcon, Phar, posix, pspell, psr, rdkafka, readline, recode, redis, Reflection, session, shmop, SimpleXML, snmp, soap, sockets, SPL, sqlite3, standard, swoole, sysvmsg, sysvsem, sysvshm, tidy, tokenizer, uploadprogress, wddx, xdebug, xml, xmlreader, xmlrpc, xmlwriter, xsl, yaml, Zend OPcache, zip, zlib</td>
</tr> </tr>
<tr> <tr>
<th>7.0</th> <th>7.0</th>
<td id="70-base">Core, ctype, curl, date, dom, fileinfo, filter, ftp, hash, iconv, json, libxml, mbstring, mysqlnd, openssl, pcre, PDO, pdo_sqlite, Phar, posix, readline, Reflection, session, SimpleXML, SPL, sqlite3, standard, tokenizer, xml, xmlreader, xmlwriter, zlib</td> <td id="70-base">Core, ctype, curl, date, dom, fileinfo, filter, ftp, hash, iconv, json, libxml, mbstring, mysqlnd, openssl, pcre, PDO, pdo_sqlite, Phar, posix, readline, Reflection, session, SimpleXML, SPL, sqlite3, standard, tokenizer, xml, xmlreader, xmlwriter, zlib</td>
<td id="70-mods">amqp, apcu, bcmath, blackfire, bz2, calendar, Core, ctype, curl, date, dba, dom, enchant, exif, fileinfo, filter, ftp, gd, gettext, gmp, hash, iconv, igbinary, imagick, imap, interbase, intl, ioncube, json, ldap, libxml, mbstring, mcrypt, memcache, memcached, mongodb, msgpack, mysqli, mysqlnd, OAuth, oci8, openssl, pcntl, pcre, PDO, pdo_dblib, PDO_Firebird, pdo_mysql, PDO_OCI, pdo_pgsql, pdo_sqlite, pdo_sqlsrv, pgsql, phalcon, Phar, posix, pspell, rdkafka, readline, recode, redis, Reflection, session, shmop, SimpleXML, snmp, soap, sockets, SPL, sqlite3, sqlsrv, standard, swoole, sysvmsg, sysvsem, sysvshm, tidy, tokenizer, uploadprogress, wddx, xdebug, xml, xmlreader, xmlrpc, xmlwriter, xsl, Zend OPcache, zip, zlib</td> <td id="70-mods">amqp, apcu, bcmath, blackfire, bz2, calendar, Core, ctype, curl, date, dba, dom, enchant, exif, fileinfo, filter, ftp, gd, gettext, gmp, hash, iconv, igbinary, imagick, imap, interbase, intl, ioncube, json, ldap, libxml, mbstring, mcrypt, memcache, memcached, mongodb, msgpack, mysqli, mysqlnd, OAuth, oci8, openssl, pcntl, pcre, PDO, pdo_dblib, PDO_Firebird, pdo_mysql, PDO_OCI, pdo_pgsql, pdo_sqlite, pdo_sqlsrv, pgsql, phalcon, Phar, posix, pspell, psr, rdkafka, readline, recode, redis, Reflection, session, shmop, SimpleXML, snmp, soap, sockets, SPL, sqlite3, sqlsrv, ssh2, standard, swoole, sysvmsg, sysvsem, sysvshm, tidy, tokenizer, uploadprogress, wddx, xdebug, xml, xmlreader, xmlrpc, xmlwriter, xsl, yaml, Zend OPcache, zip, zlib</td>
</tr> </tr>
<tr> <tr>
<th>7.1</th> <th>7.1</th>
<td id="71-base">Core, ctype, curl, date, dom, fileinfo, filter, ftp, hash, iconv, json, libxml, mbstring, mysqlnd, openssl, pcre, PDO, pdo_sqlite, Phar, posix, readline, Reflection, session, SimpleXML, SPL, sqlite3, standard, tokenizer, xml, xmlreader, xmlwriter, zlib</td> <td id="71-base">Core, ctype, curl, date, dom, fileinfo, filter, ftp, hash, iconv, json, libxml, mbstring, mysqlnd, openssl, pcre, PDO, pdo_sqlite, Phar, posix, readline, Reflection, session, SimpleXML, SPL, sqlite3, standard, tokenizer, xml, xmlreader, xmlwriter, zlib</td>
<td id="71-mods">amqp, apcu, bcmath, blackfire, bz2, calendar, Core, ctype, curl, date, dba, dom, enchant, exif, fileinfo, filter, ftp, gd, gettext, gmp, hash, iconv, igbinary, imagick, imap, interbase, intl, ioncube, json, ldap, libxml, mbstring, mcrypt, memcache, memcached, mongodb, msgpack, mysqli, mysqlnd, OAuth, oci8, openssl, pcntl, pcre, PDO, pdo_dblib, PDO_Firebird, pdo_mysql, PDO_OCI, pdo_pgsql, pdo_sqlite, pdo_sqlsrv, pgsql, phalcon, Phar, posix, pspell, rdkafka, readline, recode, redis, Reflection, session, shmop, SimpleXML, snmp, soap, sockets, SPL, sqlite3, sqlsrv, standard, swoole, sysvmsg, sysvsem, sysvshm, tidy, tokenizer, uploadprogress, wddx, xdebug, xml, xmlreader, xmlrpc, xmlwriter, xsl, Zend OPcache, zip, zlib</td> <td id="71-mods">amqp, apcu, bcmath, blackfire, bz2, calendar, Core, ctype, curl, date, dba, dom, enchant, exif, fileinfo, filter, ftp, gd, gettext, gmp, hash, iconv, igbinary, imagick, imap, interbase, intl, ioncube, json, ldap, libxml, mbstring, mcrypt, memcache, memcached, mongodb, msgpack, mysqli, mysqlnd, OAuth, oci8, openssl, pcntl, pcre, PDO, pdo_dblib, PDO_Firebird, pdo_mysql, PDO_OCI, pdo_pgsql, pdo_sqlite, pdo_sqlsrv, pgsql, phalcon, Phar, posix, pspell, psr, rdkafka, readline, recode, redis, Reflection, session, shmop, SimpleXML, snmp, soap, sockets, solr, SPL, sqlite3, sqlsrv, ssh2, standard, swoole, sysvmsg, sysvsem, sysvshm, tidy, tokenizer, uploadprogress, wddx, xdebug, xml, xmlreader, xmlrpc, xmlwriter, xsl, yaml, Zend OPcache, zip, zlib</td>
</tr> </tr>
<tr> <tr>
<th>7.2</th> <th>7.2</th>
<td id="72-base">Core, ctype, curl, date, dom, fileinfo, filter, ftp, hash, iconv, json, libxml, mbstring, mysqlnd, openssl, pcre, PDO, pdo_sqlite, Phar, posix, readline, Reflection, session, SimpleXML, sodium, SPL, sqlite3, standard, tokenizer, xml, xmlreader, xmlwriter, zlib</td> <td id="72-base">Core, ctype, curl, date, dom, fileinfo, filter, ftp, hash, iconv, json, libxml, mbstring, mysqlnd, openssl, pcre, PDO, pdo_sqlite, Phar, posix, readline, Reflection, session, SimpleXML, sodium, SPL, sqlite3, standard, tokenizer, xml, xmlreader, xmlwriter, zlib</td>
<td id="72-mods">amqp, apcu, bcmath, blackfire, bz2, calendar, Core, ctype, curl, date, dba, dom, enchant, exif, fileinfo, filter, ftp, gd, gettext, gmp, hash, iconv, igbinary, imagick, imap, interbase, intl, ioncube, json, ldap, libxml, mbstring, mcrypt, memcache, memcached, mongodb, msgpack, mysqli, mysqlnd, OAuth, oci8, openssl, pcntl, pcre, PDO, pdo_dblib, PDO_Firebird, pdo_mysql, PDO_OCI, pdo_pgsql, pdo_sqlite, pdo_sqlsrv, pgsql, phalcon, Phar, posix, pspell, rdkafka, readline, recode, redis, Reflection, session, shmop, SimpleXML, snmp, soap, sockets, sodium, SPL, sqlite3, sqlsrv, standard, swoole, sysvmsg, sysvsem, sysvshm, tidy, tokenizer, uploadprogress, wddx, xdebug, xml, xmlreader, xmlrpc, xmlwriter, xsl, Zend OPcache, zip, zlib</td> <td id="72-mods">amqp, apcu, bcmath, blackfire, bz2, calendar, Core, ctype, curl, date, dba, dom, enchant, exif, fileinfo, filter, ftp, gd, gettext, gmp, hash, iconv, igbinary, imagick, imap, interbase, intl, ioncube, json, ldap, libxml, mbstring, mcrypt, memcache, memcached, mongodb, msgpack, mysqli, mysqlnd, OAuth, oci8, openssl, pcntl, pcre, PDO, pdo_dblib, PDO_Firebird, pdo_mysql, PDO_OCI, pdo_pgsql, pdo_sqlite, pdo_sqlsrv, pgsql, phalcon, Phar, posix, pspell, psr, rdkafka, readline, recode, redis, Reflection, session, shmop, SimpleXML, snmp, soap, sockets, sodium, solr, SPL, sqlite3, sqlsrv, ssh2, standard, swoole, sysvmsg, sysvsem, sysvshm, tidy, tokenizer, uploadprogress, wddx, xdebug, xml, xmlreader, xmlrpc, xmlwriter, xsl, yaml, Zend OPcache, zip, zlib</td>
</tr> </tr>
<tr> <tr>
<th>7.3</th> <th>7.3</th>
<td id="73-base">Core, ctype, curl, date, dom, fileinfo, filter, ftp, hash, iconv, json, libxml, mbstring, mysqlnd, openssl, pcre, PDO, pdo_sqlite, Phar, posix, readline, Reflection, session, SimpleXML, sodium, SPL, sqlite3, standard, tokenizer, xml, xmlreader, xmlwriter, zlib</td> <td id="73-base">Core, ctype, curl, date, dom, fileinfo, filter, ftp, hash, iconv, json, libxml, mbstring, mysqlnd, openssl, pcre, PDO, pdo_sqlite, Phar, posix, readline, Reflection, session, SimpleXML, sodium, SPL, sqlite3, standard, tokenizer, xml, xmlreader, xmlwriter, zlib</td>
<td id="73-mods">amqp, apcu, bcmath, blackfire, bz2, calendar, Core, ctype, curl, date, dba, dom, enchant, exif, fileinfo, filter, ftp, gd, gettext, gmp, hash, iconv, igbinary, imagick, imap, interbase, intl, ioncube, json, ldap, libxml, mbstring, mcrypt, memcached, mongodb, msgpack, mysqli, mysqlnd, OAuth, oci8, openssl, pcntl, pcre, PDO, pdo_dblib, PDO_Firebird, pdo_mysql, PDO_OCI, pdo_pgsql, pdo_sqlite, pdo_sqlsrv, pgsql, phalcon, Phar, posix, pspell, rdkafka, readline, recode, redis, Reflection, session, shmop, SimpleXML, snmp, soap, sockets, sodium, SPL, sqlite3, sqlsrv, standard, swoole, sysvmsg, sysvsem, sysvshm, tidy, tokenizer, uploadprogress, wddx, xdebug, xml, xmlreader, xmlrpc, xmlwriter, xsl, Zend OPcache, zip, zlib</td> <td id="73-mods">amqp, apcu, bcmath, blackfire, bz2, calendar, Core, ctype, curl, date, dba, dom, enchant, exif, fileinfo, filter, ftp, gd, gettext, gmp, hash, iconv, igbinary, imagick, imap, interbase, intl, ioncube, json, ldap, libxml, mbstring, mcrypt, memcache, memcached, mongodb, msgpack, mysqli, mysqlnd, OAuth, oci8, openssl, pcntl, pcre, PDO, pdo_dblib, PDO_Firebird, pdo_mysql, PDO_OCI, pdo_pgsql, pdo_sqlite, pdo_sqlsrv, pgsql, phalcon, Phar, posix, pspell, psr, rdkafka, readline, recode, redis, Reflection, session, shmop, SimpleXML, snmp, soap, sockets, sodium, solr, SPL, sqlite3, sqlsrv, ssh2, standard, swoole, sysvmsg, sysvsem, sysvshm, tidy, tokenizer, uploadprogress, wddx, xdebug, xml, xmlreader, xmlrpc, xmlwriter, xsl, yaml, Zend OPcache, zip, zlib</td>
</tr> </tr>
<tr> <tr>
<th>7.4</th> <th>7.4</th>
<td id="74-base">Core, ctype, curl, date, dom, fileinfo, filter, ftp, hash, iconv, json, libxml, mbstring, mysqlnd, openssl, pcre, PDO, pdo_sqlite, Phar, posix, readline, Reflection, session, SimpleXML, sodium, SPL, sqlite3, standard, tokenizer, xml, xmlreader, xmlwriter, zlib</td> <td id="74-base">Core, ctype, curl, date, dom, fileinfo, filter, ftp, hash, iconv, json, libxml, mbstring, mysqlnd, openssl, pcre, PDO, pdo_sqlite, Phar, posix, readline, Reflection, session, SimpleXML, sodium, SPL, sqlite3, standard, tokenizer, xml, xmlreader, xmlwriter, zlib</td>
<td id="74-mods">amqp, bcmath, bz2, calendar, Core, ctype, curl, date, dba, dom, enchant, exif, FFI, fileinfo, filter, ftp, gd, gettext, gmp, hash, iconv, igbinary, imagick, intl, json, ldap, libxml, mbstring, mcrypt, memcached, mongodb, msgpack, mysqli, mysqlnd, oci8, openssl, pcntl, pcre, PDO, pdo_dblib, PDO_Firebird, pdo_mysql, PDO_OCI, pdo_pgsql, pdo_sqlite, pgsql, Phar, posix, pspell, rdkafka, readline, redis, Reflection, session, shmop, SimpleXML, snmp, soap, sockets, sodium, SPL, sqlite3, standard, swoole, sysvmsg, sysvsem, sysvshm, tidy, tokenizer, uploadprogress, xdebug, xml, xmlreader, xmlrpc, xmlwriter, xsl, Zend OPcache, zip, zlib</td> <td id="74-mods">amqp, apcu, bcmath, blackfire, bz2, calendar, Core, ctype, curl, date, dba, dom, enchant, exif, FFI, fileinfo, filter, ftp, gd, gettext, gmp, hash, iconv, igbinary, imagick, imap, intl, json, ldap, libxml, mbstring, mcrypt, memcache, memcached, mongodb, msgpack, mysqli, mysqlnd, OAuth, oci8, openssl, pcntl, pcre, PDO, pdo_dblib, PDO_Firebird, pdo_mysql, PDO_OCI, pdo_pgsql, pdo_sqlite, pgsql, phalcon, Phar, posix, pspell, psr, rdkafka, readline, redis, Reflection, session, shmop, SimpleXML, snmp, soap, sockets, sodium, solr, SPL, sqlite3, ssh2, standard, swoole, sysvmsg, sysvsem, sysvshm, tidy, tokenizer, uploadprogress, xdebug, xml, xmlreader, xmlrpc, xmlwriter, xsl, yaml, Zend OPcache, zip, zlib</td>
</tr> </tr>
<tr> <tr>
<th>8.0</th> <th>8.0</th>
<td id="80-base">Core, ctype, curl, date, dom, FFI, fileinfo, filter, ftp, hash, iconv, json, libxml, mbstring, mysqlnd, openssl, pcre, PDO, pdo_sqlite, Phar, posix, readline, Reflection, session, SimpleXML, sodium, SPL, sqlite3, standard, tokenizer, xml, xmlreader, xmlwriter, zlib</td> <td id="80-base">Core, ctype, curl, date, dom, FFI, fileinfo, filter, ftp, hash, iconv, json, libxml, mbstring, mysqlnd, openssl, pcre, PDO, pdo_sqlite, Phar, posix, readline, Reflection, session, SimpleXML, sodium, SPL, sqlite3, standard, tokenizer, xml, xmlreader, xmlwriter, zlib</td>
<td id="80-mods">bcmath, bz2, calendar, Core, ctype, curl, date, dba, dom, enchant, exif, FFI, fileinfo, filter, ftp, gd, gettext, gmp, hash, iconv, intl, json, ldap, libxml, mbstring, memcached, mongodb, mysqli, mysqlnd, oci8, openssl, pcntl, pcre, PDO, pdo_dblib, PDO_Firebird, pdo_mysql, PDO_OCI, pdo_pgsql, pdo_sqlite, pgsql, Phar, posix, pspell, readline, redis, Reflection, session, shmop, SimpleXML, snmp, soap, sockets, sodium, SPL, sqlite3, standard, sysvmsg, sysvsem, sysvshm, tidy, tokenizer, uploadprogress, xml, xmlreader, xmlrpc, xmlwriter, xsl, Zend OPcache, zip, zlib</td> <td id="80-mods">bcmath, bz2, calendar, Core, ctype, curl, date, dba, dom, enchant, exif, FFI, fileinfo, filter, ftp, gd, gettext, gmp, hash, iconv, intl, json, ldap, libxml, mbstring, memcached, mysqli, mysqlnd, oci8, openssl, pcntl, pcre, PDO, pdo_dblib, PDO_Firebird, pdo_mysql, PDO_OCI, pdo_pgsql, pdo_sqlite, pgsql, Phar, posix, pspell, readline, redis, Reflection, session, shmop, SimpleXML, snmp, soap, sockets, sodium, SPL, sqlite3, standard, sysvmsg, sysvsem, sysvshm, tidy, tokenizer, xml, xmlreader, xmlwriter, xsl, Zend OPcache, zip, zlib</td>
</tr> </tr>
</tbody> </tbody>
</table> </table>
@@ -798,7 +798,7 @@ Have a look at the following table to see all supported environment variables fo
<td><code>ENABLE_MAIL</code></td> <td><code>ENABLE_MAIL</code></td>
<td>bool</td> <td>bool</td>
<td><code>0</code></td> <td><code>0</code></td>
<td>Enable local email catch-all.<br/>Postfix will be configured for local delivery and all mails sent (even to real domains) will be catched locally. No email will ever go out. They will all be stored in a local devilbox account.<br/>Value: <code>0</code> or <code>1</code></td> <td>Start local postfix with or without email catch-all.<br/><code>0</code>: Postfix service disabled.<br/><code>1</code>: Postfix service started normally.<br/><code>2</code>: Postfix service started configured for local delivery and all mails sent (even to real domains) will be catched locally. No email will ever go out. They will all be stored in a local devilbox account.<br/>Value: <code>0</code>, <code>1</code> or <code>2</code></td>
</tr> </tr>
<tr> <tr>
<td><code>FORWARD_PORTS_TO_LOCALHOST</code></td> <td><code>FORWARD_PORTS_TO_LOCALHOST</code></td>
@@ -871,7 +871,7 @@ Have a look at the following table to see all offered volumes for each Docker im
</tr> </tr>
<tr> <tr>
<td><code>/var/mail</code></td> <td><code>/var/mail</code></td>
<td>Emails caught be the postfix catch-all (<code>ENABLE_MAIL=1</code>) will be available in this directory.</td> <td>Emails caught be the postfix catch-all (<code>ENABLE_MAIL=2</code>) will be available in this directory.</td>
</tr> </tr>
<tr> <tr>
<td colspan="3"></td> <td colspan="3"></td>
@@ -1056,6 +1056,10 @@ You want to use tools such as `git`, `drush`, `composer`, `npm`, `eslint`, `phpc
<td><a href="https://github.com/FriendsOfPHP/PHP-CS-Fixer">php-cs-fixer</a></td> <td><a href="https://github.com/FriendsOfPHP/PHP-CS-Fixer">php-cs-fixer</a></td>
<td>A tool to automatically fix PHP Coding Standards issues.</td> <td>A tool to automatically fix PHP Coding Standards issues.</td>
</tr> </tr>
<tr>
<td><a href="https://phpmd.org">phpmd</a></td>
<td>PHP Mess Detector.</td>
</tr>
<tr> <tr>
<td><a href="https://photoncms.com/resources/installing">photon</a></td> <td><a href="https://photoncms.com/resources/installing">photon</a></td>
<td>Photon CMS cli.</td> <td>Photon CMS cli.</td>
@@ -1065,7 +1069,7 @@ You want to use tools such as `git`, `drush`, `composer`, `npm`, `eslint`, `phpc
<td>Sass CSS compiler.</td> <td>Sass CSS compiler.</td>
</tr> </tr>
<tr> <tr>
<td><a href="https://github.com/brigade/scss-lint">scss-lint</a></td> <td><a href="https://github.com/stylelint/stylelint">stylelint</a></td>
<td>Sass/CSS command line linter.</td> <td>Sass/CSS command line linter.</td>
</tr> </tr>
<tr> <tr>
@@ -1186,12 +1190,12 @@ $ docker run -d \
#### Launch Postfix for mail-catching #### Launch Postfix for mail-catching
Once you set `$ENABLE_MAIL=1`, all mails sent via any of your PHP applications no matter to which domain, are catched locally into the `devilbox` account. You can also mount the mail directory locally to hook in with mutt and read those mails. Once you set `$ENABLE_MAIL=2`, all mails sent via any of your PHP applications no matter to which domain, are catched locally into the `devilbox` account. You can also mount the mail directory locally to hook in with mutt and read those mails.
```shell ```shell
$ docker run -d \ $ docker run -d \
-p 127.0.0.1:9000:9000 \ -p 127.0.0.1:9000:9000 \
-v /tmp/mail:/var/mail \ -v /tmp/mail:/var/mail \
-e ENABLE_MAIL=1 \ -e ENABLE_MAIL=2 \
-t devilbox/php-fpm:7.2-prod -t devilbox/php-fpm:7.2-prod
``` ```

View File

@@ -3,8 +3,6 @@
FROM devilbox/php-fpm-5.2 FROM devilbox/php-fpm-5.2
{% elif php_version == 5.3 %} {% elif php_version == 5.3 %}
FROM devilbox/php-fpm-5.3 FROM devilbox/php-fpm-5.3
{% elif php_version == 7.4 %}
FROM devilbox/php-fpm-7.4
{% elif php_version == 8.0 %} {% elif php_version == 8.0 %}
FROM devilbox/php-fpm-8.0 FROM devilbox/php-fpm-8.0
{% else %} {% else %}

View File

@@ -76,6 +76,9 @@ RUN set -eux \
blackfire-agent \ blackfire-agent \
build-essential \ build-essential \
bzip2 \ bzip2 \
{% if php_version != 5.2 and php_version != 5.3 and php_version != 5.4 and php_version != 5.5 %}
certbot \
{% endif %}
coreutils \ coreutils \
dnsutils \ dnsutils \
dos2unix \ dos2unix \
@@ -87,6 +90,7 @@ RUN set -eux \
git-svn \ git-svn \
ghostscript \ ghostscript \
graphviz \ graphviz \
gsfonts \
hostname \ hostname \
htop \ htop \
imagemagick \ imagemagick \
@@ -106,6 +110,8 @@ RUN set -eux \
{% else %} {% else %}
mysql-client \ mysql-client \
{% endif %} {% endif %}
mupdf \
mupdf-tools \
nano \ nano \
net-tools \ net-tools \
netcat \ netcat \
@@ -224,13 +230,13 @@ RUN set -eux \
{%- endif -%} {%- endif -%}
{#- Version specific gem version available? -#} {#- Version specific gem version available? -#}
{%- if php_version in composer_available[tool] and 'version' in composer_available[tool][php_version] -%} {%- if php_version in composer_available[tool] and 'version' in composer_available[tool][php_version] -%}
{{ "\n\t" }}&& COMPOSER_HOME="{{ composer_home }}" composer global require {{ composer_available[tool]['name'] }}:{{ composer_available[tool][php_version]['version'] }} \ {{ "\n\t" }}&& COMPOSER_HOME="{{ composer_home }}" COMPOSER_MEMORY_LIMIT=-1 /usr/local/bin/composer global require {{ composer_available[tool]['name'] }}:{{ composer_available[tool][php_version]['version'] }} \
{#- Generic gem version available? -#} {#- Generic gem version available? -#}
{%- elif 'all' in composer_available[tool] and 'version' in composer_available[tool]['all'] -%} {%- elif 'all' in composer_available[tool] and 'version' in composer_available[tool]['all'] -%}
{{ "\n\t" }}&& COMPOSER_HOME="{{ composer_home }}" composer global require {{ composer_available[tool]['name'] }}:{{ composer_available[tool]['all']['version'] }} \ {{ "\n\t" }}&& COMPOSER_HOME="{{ composer_home }}" COMPOSER_MEMORY_LIMIT=-1 /usr/local/bin/composer global require {{ composer_available[tool]['name'] }}:{{ composer_available[tool]['all']['version'] }} \
{#- No version info available -#} {#- No version info available -#}
{%- else -%} {%- else -%}
{{ "\n\t" }}&& COMPOSER_HOME="{{ composer_home }}" composer global require {{ composer_available[tool]['name'] }} \ {{ "\n\t" }}&& COMPOSER_HOME="{{ composer_home }}" COMPOSER_MEMORY_LIMIT=-1 /usr/local/bin/composer global require {{ composer_available[tool]['name'] }} \
{%- endif -%} {%- endif -%}
{#- Symlinks available? -#} {#- Symlinks available? -#}
{%- if 'link' in composer_available[tool] -%} {%- if 'link' in composer_available[tool] -%}
@@ -277,13 +283,13 @@ RUN set -eux \
{%- endif -%} {%- endif -%}
{#- Version specific gem version available? -#} {#- Version specific gem version available? -#}
{%- if php_version in npm_available[tool] and 'version' in npm_available[tool][php_version] -%} {%- if php_version in npm_available[tool] and 'version' in npm_available[tool][php_version] -%}
{{ "\n\t" }}&& su -c '. /opt/nvm/nvm.sh; npm install -g {{ npm_available[tool]['name'] }} {{ npm_available[tool][php_version]['version'] }}' devilbox \ {{ "\n\t" }}&& su -c '. /opt/nvm/nvm.sh; npm install -g --force {{ npm_available[tool]['name'] }} {{ npm_available[tool][php_version]['version'] }}' devilbox \
{#- Generic gem version available? -#} {#- Generic gem version available? -#}
{%- elif 'all' in npm_available[tool] and 'version' in npm_available[tool]['all'] -%} {%- elif 'all' in npm_available[tool] and 'version' in npm_available[tool]['all'] -%}
{{ "\n\t" }}&& su -c '. /opt/nvm/nvm.sh; npm install -g {{ npm_available[tool]['name'] }} {{ npm_available[tool]['all']['version'] }}' devilbox \ {{ "\n\t" }}&& su -c '. /opt/nvm/nvm.sh; npm install -g --force {{ npm_available[tool]['name'] }} {{ npm_available[tool]['all']['version'] }}' devilbox \
{#- No version info available -#} {#- No version info available -#}
{%- else -%} {%- else -%}
{{ "\n\t" }}&& su -c '. /opt/nvm/nvm.sh; npm install -g {{ npm_available[tool]['name'] }}' devilbox \ {{ "\n\t" }}&& su -c '. /opt/nvm/nvm.sh; npm install -g --force {{ npm_available[tool]['name'] }}' devilbox \
{%- endif -%} {%- endif -%}
{#- Fail fast version -#} {#- Fail fast version -#}
{%- if build_fail_fast -%} {%- if build_fail_fast -%}
@@ -308,6 +314,7 @@ RUN set -eux \
&& su -c '. /opt/nvm/nvm.sh; npm cache clear --force' devilbox \ && su -c '. /opt/nvm/nvm.sh; npm cache clear --force' devilbox \
&& su -c '. /opt/nvm/nvm.sh; nvm cache clear --force' devilbox \ && su -c '. /opt/nvm/nvm.sh; nvm cache clear --force' devilbox \
&& rm -rf /home/devilbox/.npm \ && rm -rf /home/devilbox/.npm \
&& rm -rf /home/devilbox/.cache \
&& rm -rf /home/devilbox/.config \ && rm -rf /home/devilbox/.config \
&& rm -rf /tmp/* \ && rm -rf /tmp/* \
&& (rm -rf /tmp/.* || true) \ && (rm -rf /tmp/.* || true) \
@@ -380,13 +387,13 @@ RUN set -eux \
{%- endif -%} {%- endif -%}
{#- Version specific gem version available? -#} {#- Version specific gem version available? -#}
{%- if php_version in pip_available[tool] and 'version' in pip_available[tool][php_version] -%} {%- if php_version in pip_available[tool] and 'version' in pip_available[tool][php_version] -%}
{{ "\n\t" }}&& pip install --no-cache-dir --force-reinstall {{ pip_available[tool]['name'] }}=={{ pip_available[tool][php_version]['version'] }} \ {{ "\n\t" }}&& pip install --no-cache-dir --force-reinstall {{ pip_available[tool]['name'] }}=={{ pip_available[tool][php_version]['version'] }} || true \
{#- Generic gem version available? -#} {#- Generic gem version available? -#}
{%- elif 'all' in pip_available[tool] and 'version' in pip_available[tool]['all'] -%} {%- elif 'all' in pip_available[tool] and 'version' in pip_available[tool]['all'] -%}
{{ "\n\t" }}&& pip install --no-cache-dir --force-reinstall {{ pip_available[tool]['name'] }}=={{ pip_available[tool]['all']['version'] }} \ {{ "\n\t" }}&& pip install --no-cache-dir --force-reinstall {{ pip_available[tool]['name'] }}=={{ pip_available[tool]['all']['version'] }} || true \
{#- No version info available -#} {#- No version info available -#}
{%- else -%} {%- else -%}
{{ "\n\t" }}&& pip install --no-cache-dir --force-reinstall {{ pip_available[tool]['name'] }} \ {{ "\n\t" }}&& pip install --no-cache-dir --force-reinstall {{ pip_available[tool]['name'] }} || true \
{%- endif -%} {%- endif -%}
{#- Fail fast version -#} {#- Fail fast version -#}
{%- if build_fail_fast -%} {%- if build_fail_fast -%}
@@ -502,6 +509,7 @@ RUN set -eux \
{%- endif -%} {%- endif -%}
{% endfor %}{{ "\n\t" }}\ {% endfor %}{{ "\n\t" }}\
# -------------------- Cleanup -------------------- # -------------------- Cleanup --------------------
&& rm -rf /home/devilbox/.cache/ \
&& rm -rf /home/devilbox/.config/ \ && rm -rf /home/devilbox/.config/ \
&& rm -rf /root/.ansible \ && rm -rf /root/.ansible \
&& rm -rf /root/.console \ && rm -rf /root/.console \

View File

@@ -71,6 +71,8 @@ extensions_enabled:
- pdo_sqlite - pdo_sqlite
- pdo_sqlsrv - pdo_sqlsrv
- pgsql - pgsql
- psr
# requires psr to be installed
- phalcon - phalcon
- phar - phar
- posix - posix
@@ -87,8 +89,11 @@ extensions_enabled:
- soap - soap
- sockets - sockets
- sodium - sodium
- solr
- spl - spl
- sqlsrv - sqlsrv
- ssh2
# requires sockets to be installed
- swoole - swoole
- sysvmsg - sysvmsg
- sysvsem - sysvsem
@@ -103,6 +108,7 @@ extensions_enabled:
- xmlrpc - xmlrpc
- xmlwriter - xmlwriter
- xsl - xsl
- yaml
- zip - zip
@@ -160,7 +166,7 @@ extensions_available:
build_dep: [librabbitmq-dev] build_dep: [librabbitmq-dev]
run_dep: [librabbitmq4] run_dep: [librabbitmq4]
apcu: apcu:
disabled: [5.2, 7.4, 8.0] disabled: [5.2, 8.0]
5.3: 5.3:
type: pecl type: pecl
version: 4.0.11 version: 4.0.11
@@ -179,7 +185,7 @@ extensions_available:
all: all:
type: builtin type: builtin
blackfire: blackfire:
disabled: [5.2, 5.3, 5.4, 5.5, 7.4, 8.0] disabled: [5.2, 5.3, 5.4, 5.5, 8.0]
all: all:
type: custom type: custom
command: | command: |
@@ -337,19 +343,35 @@ extensions_available:
all: all:
type: pecl type: pecl
imagick: imagick:
disabled: [5.2, 5.3, 5.4, 5.5, 8.0] # 5.3, 5.4 and 5.5 segfaults disabled: [5.2, 5.3, 5.4, 8.0] # Only available since 5.3. 5.3 and 5.4 segfaults
5.5:
type: pecl
build_dep: [libmagickwand-dev, libwebp5, ghostscript]
run_dep: [libmagickwand-6.q16-2, libwebp5, ghostscript]
5.6: 5.6:
type: pecl type: pecl
run_dep: [libmagickwand-6.q16-3, libwebp6] run_dep: [libmagickwand-6.q16-3, libwebp6, ghostscript]
7.0: 7.0:
type: pecl type: pecl
run_dep: [libmagickwand-6.q16-3, libwebp6] run_dep: [libmagickwand-6.q16-3, libwebp6, ghostscript]
all: all:
type: pecl type: pecl
build_dep: [libmagickwand-dev, libwebp6] build_dep: [libmagickwand-dev, libwebp6, ghostscript]
run_dep: [libmagickwand-6.q16-6, libwebp-dev] run_dep: [libmagickwand-6.q16-6, libwebp-dev, ghostscript]
# https://bugs.php.net/bug.php?id=77683
# https://github.com/Imagick/imagick/issues/262 (policy prevents PDF from being read)
post: |
sed -i'' 's|.*"thread".*| <policy domain="resource" name="thread" value="1"/>|g' /etc/ImageMagick-6/policy.xml \
&& sed -i'' 's|.*<policy domain="coder".*"PS".*||g' /etc/ImageMagick-6/policy.xml \
&& sed -i'' 's|.*<policy domain="coder".*"PS2".*||g' /etc/ImageMagick-6/policy.xml \
&& sed -i'' 's|.*<policy domain="coder".*"PS3".*||g' /etc/ImageMagick-6/policy.xml \
&& sed -i'' 's|.*<policy domain="coder".*"EPS".*||g' /etc/ImageMagick-6/policy.xml \
&& sed -i'' 's|.*<policy domain="coder".*"PDF".*||g' /etc/ImageMagick-6/policy.xml \
&& sed -i'' 's|.*<policy domain="coder".*"XPS".*||g' /etc/ImageMagick-6/policy.xml \
&& sed -i'' 's|.*<policy domain="coder".*"PS".*||g' /etc/ImageMagick-6/policy.xml \
&& sed -i'' 's|.*<policy domain="delegate".*pattern="gs".*||g' /etc/ImageMagick-6/policy.xml \
imap: imap:
disabled: [7.4, 8.0] # TODO: re-enable. currently fails with: configure: error: OpenSSL libraries not found. disabled: [8.0] # TODO: re-enable. currently fails with: configure: error: OpenSSL libraries not found.
all: all:
type: builtin type: builtin
pre: ln -s /usr/lib/x86_64-linux-gnu/libkrb5* /usr/lib/ pre: ln -s /usr/lib/x86_64-linux-gnu/libkrb5* /usr/lib/
@@ -428,22 +450,22 @@ extensions_available:
run_dep: [libmcrypt4] run_dep: [libmcrypt4]
build_dep: [libmcrypt-dev] build_dep: [libmcrypt-dev]
memcache: memcache:
disabled: [7.3, 7.4, 8.0] disabled: [8.0]
7.0: 5.2:
type: git type: pecl
git_url: https://github.com/websupport-sk/pecl-memcache version: 2.2.7
git_ref: origin/php7 5.3:
configure: --with-zlib-dir=/usr type: pecl
7.1: version: 2.2.7
type: git 5.4:
git_url: https://github.com/websupport-sk/pecl-memcache type: pecl
git_ref: origin/php7 version: 2.2.7
configure: --with-zlib-dir=/usr 5.5:
7.2: type: pecl
type: git version: 2.2.7
git_url: https://github.com/websupport-sk/pecl-memcache 5.6:
git_ref: origin/php7 type: pecl
configure: --with-zlib-dir=/usr version: 2.2.7
all: all:
type: pecl type: pecl
build_dep: [zlib1g-dev] build_dep: [zlib1g-dev]
@@ -488,13 +510,13 @@ extensions_available:
disabled: [7.0, 7.1, 7.2, 7.3, 7.4, 8.0] # Deprecated disabled: [7.0, 7.1, 7.2, 7.3, 7.4, 8.0] # Deprecated
5.2: 5.2:
type: pecl type: pecl
command: yes | pecl install mongo-1.5.8 command: yes yes | pecl install mongo-1.5.8
all: all:
type: pecl type: pecl
command: yes | pecl install mongo command: yes yes | pecl install mongo
build_dep: [libssl-dev, libsasl2-dev] build_dep: [libssl-dev, libsasl2-dev]
mongodb: mongodb:
disabled: [5.2] disabled: [5.2, 8.0]
5.3: 5.3:
type: pecl type: pecl
version: 0.6.3 version: 0.6.3
@@ -504,6 +526,9 @@ extensions_available:
5.5: 5.5:
type: pecl type: pecl
version: 1.5.5 version: 1.5.5
5.6:
type: pecl
version: 1.7.5
8.0: 8.0:
type: git type: git
git_url: https://github.com/mongodb/mongo-php-driver git_url: https://github.com/mongodb/mongo-php-driver
@@ -576,7 +601,7 @@ extensions_available:
disabled: [5.2] disabled: [5.2]
already_avail: [5.3, 5.4, 5.5, 5.6, 7.0, 7.1, 7.2, 7.3, 7.4, 8.0] already_avail: [5.3, 5.4, 5.5, 5.6, 7.0, 7.1, 7.2, 7.3, 7.4, 8.0]
oauth: oauth:
disabled: [7.4, 8.0] disabled: [8.0]
5.2: 5.2:
type: pecl type: pecl
version: 1.2.3 version: 1.2.3
@@ -710,6 +735,11 @@ extensions_available:
version: 5.3.0 version: 5.3.0
build_dep: [unixodbc-dev] build_dep: [unixodbc-dev]
run_dep: [unixodbc] run_dep: [unixodbc]
7.1:
type: pecl
version: 5.6.1
build_dep: [unixodbc-dev]
run_dep: [unixodbc]
all: all:
type: pecl type: pecl
build_dep: [unixodbc-dev] build_dep: [unixodbc-dev]
@@ -719,8 +749,21 @@ extensions_available:
type: builtin type: builtin
build_dep: [libpq-dev] build_dep: [libpq-dev]
run_dep: [libpq5] run_dep: [libpq5]
psr:
disabled: [5.2, 5.3, 8.0] # IMPORTANT: Required by PHP >= 7.2 by phalcon >=4.0 module
5.4:
type: pecl
version: 0.5.1
5.5:
type: pecl
version: 0.5.1
5.6:
type: pecl
version: 0.6.0 # NOTE: 0.6.1 fails with: Package "psr" Version "0.6.1" does not have REST xml available
all:
type: pecl
phalcon: phalcon:
disabled: [5.2, 7.4, 8.0] # TODO: currently disabled for 7.4 as it breaks disabled: [5.2, 8.0] # TODO: currently disabled for 7.4 as it breaks
5.3: 5.3:
type: git type: git
git_url: https://github.com/phalcon/cphalcon git_url: https://github.com/phalcon/cphalcon
@@ -793,34 +836,18 @@ extensions_available:
5.6: 5.6:
type: pecl type: pecl
version: 4.3.0 version: 4.3.0
7.4:
type: git
git_url: https://github.com/phpredis/phpredis
# This is a nasty work-around to fix current phpredis implementation for PHP 7.4
command: |
phpize \
&& sed -i'' 's/ZEND_ACC_CTOR | //g' redis.c \
&& sed -i'' 's/ZEND_ACC_DTOR | //g' redis.c \
&& sed -i'' 's/ZEND_ACC_CTOR | //g' redis_cluster.c \
&& ./configure --enable-redis \
&& make -j$(getconf _NPROCESSORS_ONLN) \
&& make install \
8.0: 8.0:
type: git type: git
git_url: https://github.com/phpredis/phpredis git_url: https://github.com/phpredis/phpredis
# This is a nasty work-around to fix current phpredis implementation for PHP 7.4 git_ref: $(git for-each-ref --format='%(refname)' refs/tags | grep -E 'tags/[.0-9]+$' | sed 's|.*tags/||g' | sort -V | tail -1)
# TODO: This is a nasty work-around to fix current phpredis implementation for PHP 8.0
command: | command: |
phpize \ sed -i'' 's/, ZSTR_LEN(ra->algorithm)//g' redis_array_impl.c \
&& sed -i'' 's/ZEND_ACC_CTOR | //g' redis.c \ && sed -i'' 's|.*sctx->cb\.no_separation.*||g' library.c \
&& sed -i'' 's/ZEND_ACC_DTOR | //g' redis.c \ && sed -i'' 's|.*sctx->cb\.no_separation.*||g' redis_array_impl.c \
&& sed -i'' 's/ZEND_ACC_CTOR | //g' redis_cluster.c \ && sed -i'' 's|.*sctx->cb\.no_separation.*||g' cluster_library.c \
# FIXME: This is a work-around to mitigate compile error with PHP 8.0 && sed -i'' 's|.*->no_separation.*||g' redis_array_impl.c \
&& rgrep -I 'TSRMLS_C' | cut -d':' -f1 | sort -u | xargs -n1 sed -i'' 's/TSRMLS_C)/)/g' \ && phpize \
&& rgrep -I 'TSRMLS_C' | cut -d':' -f1 | sort -u | xargs -n1 sed -i'' 's/TSRMLS_C,/,/g' \
&& rgrep -I 'TSRMLS_CC' | cut -d':' -f1 | sort -u | xargs -n1 sed -i'' 's/TSRMLS_CC)/)/g' \
&& rgrep -I 'TSRMLS_CC' | cut -d':' -f1 | sort -u | xargs -n1 sed -i'' 's/TSRMLS_CC,/,/g' \
&& rgrep -I 'TSRMLS_DC' | cut -d':' -f1 | sort -u | xargs -n1 sed -i'' 's/TSRMLS_DC)/)/g' \
&& rgrep -I 'TSRMLS_DC' | cut -d':' -f1 | sort -u | xargs -n1 sed -i'' 's/TSRMLS_DC,/,/g' \
&& ./configure --enable-redis \ && ./configure --enable-redis \
&& make -j$(getconf _NPROCESSORS_ONLN) \ && make -j$(getconf _NPROCESSORS_ONLN) \
&& make install \ && make install \
@@ -857,6 +884,10 @@ extensions_available:
simplexml: simplexml:
already_avail: "{{ php_all_versions }}" already_avail: "{{ php_all_versions }}"
snmp: snmp:
7.4:
type: builtin
build_dep: [libssl-dev, libsnmp-dev, snmp]
run_dep: [snmp]
all: all:
type: builtin type: builtin
configure: --with-openssl-dir configure: --with-openssl-dir
@@ -864,6 +895,8 @@ extensions_available:
run_dep: [snmp] run_dep: [snmp]
soap: soap:
already_avail: [5.2] already_avail: [5.2]
7.4:
type: builtin
all: all:
type: builtin type: builtin
configure: --with-libxml-dir=/usr configure: --with-libxml-dir=/usr
@@ -877,6 +910,11 @@ extensions_available:
all: all:
type: builtin type: builtin
build_dep: [libsodium-dev] build_dep: [libsodium-dev]
solr:
disabled: [5.2, 5.3, 5.4, 5.5, 5.6, 7.0, 8.0]
all:
type: pecl
build_dep: [libxml2-dev, libcurl4-openssl-dev]
spl: spl:
already_avail: "{{ php_all_versions }}" already_avail: "{{ php_all_versions }}"
sqlsrv: sqlsrv:
@@ -886,10 +924,22 @@ extensions_available:
version: 5.3.0 version: 5.3.0
build_dep: [unixodbc-dev] build_dep: [unixodbc-dev]
run_dep: [unixodbc] run_dep: [unixodbc]
7.1:
type: pecl
version: 5.6.1
build_dep: [unixodbc-dev]
run_dep: [unixodbc]
all: all:
type: pecl type: pecl
build_dep: [unixodbc-dev] build_dep: [unixodbc-dev]
run_dep: [unixodbc] run_dep: [unixodbc]
ssh2:
disabled: [5.2, 5.3, 5.4, 5.5, 5.6, 8.0]
all:
type: pecl
version: 1.2
build_dep: [libssh2-1-dev]
run_dep: [libssh2-1]
swoole: swoole:
disabled: [5.2, 8.0] disabled: [5.2, 8.0]
5.3: 5.3:
@@ -910,40 +960,9 @@ extensions_available:
7.0: 7.0:
type: pecl type: pecl
version: 4.2.13 version: 4.2.13
7.3:
type: git
git_url: https://github.com/swoole/swoole-src
git_ref: $(git describe --abbrev=0 --tags)
command: |
phpize \
&& ./configure \
--enable-openssl \
--enable-sockets \
--enable-http2 \
--enable-mysqlnd \
--enable-coroutine-postgresql \
&& make -j$(getconf _NPROCESSORS_ONLN) \
&& make install \
run_dep: [libnghttp2-14, libhiredis0.14]
build_dep: [libnghttp2-dev, libssl-dev, libhiredis-dev, libpq-dev, cmake]
7.4:
type: git
git_url: https://github.com/swoole/swoole-src
git_ref: master
command: |
phpize \
&& ./configure \
--enable-openssl \
--enable-sockets \
--enable-http2 \
--enable-mysqlnd \
--enable-coroutine-postgresql \
&& make -j$(getconf _NPROCESSORS_ONLN) \
&& make install \
run_dep: [libnghttp2-14, libhiredis0.14]
build_dep: [libnghttp2-dev, libssl-dev, libhiredis-dev, libpq-dev, cmake]
all: all:
type: pecl type: pecl
command: yes yes | pecl install swoole
build_dep: [libnghttp2-dev, libssl-dev] build_dep: [libnghttp2-dev, libssl-dev]
run_dep: [libnghttp2-14] run_dep: [libnghttp2-14]
sysvmsg: sysvmsg:
@@ -981,42 +1000,21 @@ extensions_available:
tokenizer: tokenizer:
already_avail: "{{ php_all_versions }}" already_avail: "{{ php_all_versions }}"
uploadprogress: uploadprogress:
7.0: disabled: [8.0]
type: git 5.2:
git_url: https://github.com/php/pecl-php-uploadprogress
configure: --enable-uploadprogress
7.1:
type: git
git_url: https://github.com/php/pecl-php-uploadprogress
configure: --enable-uploadprogress
7.2:
type: git
git_url: https://github.com/php/pecl-php-uploadprogress
configure: --enable-uploadprogress
7.3:
type: git
git_url: https://github.com/php/pecl-php-uploadprogress
configure: --enable-uploadprogress
7.4:
type: git
git_url: https://github.com/php/pecl-php-uploadprogress
configure: --enable-uploadprogress
8.0:
type: git
git_url: https://github.com/php/pecl-php-uploadprogress
command: |
true \
# FIXME: This is a work-around to mitigate compile error with PHP 8.0
&& rgrep -I 'TSRMLS_CC' | cut -d':' -f1 | sort -u | xargs -n1 sed -i'' 's/TSRMLS_CC)/)/g' || true \
&& rgrep -I 'TSRMLS_CC' | cut -d':' -f1 | sort -u | xargs -n1 sed -i'' 's/TSRMLS_CC,/,/g' || true \
&& rgrep -I 'TSRMLS_DC' | cut -d':' -f1 | sort -u | xargs -n1 sed -i'' 's/TSRMLS_DC)/)/g' || true \
&& rgrep -I 'TSRMLS_DC' | cut -d':' -f1 | sort -u | xargs -n1 sed -i'' 's/TSRMLS_DC,/,/g' || true \
&& phpize \
&& ./configure --enable-uploadprogress \
&& make \
&& make install \
all:
type: pecl type: pecl
5.3:
type: pecl
5.4:
type: pecl
5.5:
type: pecl
5.6:
type: pecl
all:
type: git
git_url: https://github.com/php/pecl-php-uploadprogress
configure: --enable-uploadprogress
wddx: wddx:
# https://wiki.php.net/rfc/deprecate-and-remove-ext-wddx # https://wiki.php.net/rfc/deprecate-and-remove-ext-wddx
disabled: [7.4, 8.0] disabled: [7.4, 8.0]
@@ -1041,6 +1039,9 @@ extensions_available:
5.6: 5.6:
type: pecl type: pecl
version: 2.4.1 version: 2.4.1
7.0:
type: pecl
version: 2.9.0
all: all:
type: pecl type: pecl
xml: xml:
@@ -1048,6 +1049,10 @@ extensions_available:
xmlreader: xmlreader:
already_avail: "{{ php_all_versions }}" already_avail: "{{ php_all_versions }}"
xmlrpc: xmlrpc:
disabled: [8.0]
7.4:
type: builtin
configure: --with-iconv-dir=/usr
all: all:
type: builtin type: builtin
configure: --with-libxml-dir=/usr --with-iconv-dir=/usr configure: --with-libxml-dir=/usr --with-iconv-dir=/usr
@@ -1059,6 +1064,27 @@ extensions_available:
type: builtin type: builtin
build_dep: [libxslt-dev] build_dep: [libxslt-dev]
run_dep: [libxslt1.1] run_dep: [libxslt1.1]
yaml:
disabled: [5.2, 8.0]
5.3:
type: pecl
version: 1.3.2
5.4:
type: pecl
version: 1.3.2
5.5:
type: pecl
version: 1.3.2
5.6:
type: pecl
version: 1.3.2
7.0:
type: pecl
version: 2.0.4
all:
type: pecl
build_dep: [libyaml-dev]
run_dep: [libyaml-0-2]
zip: zip:
5.2: 5.2:
type: builtin type: builtin
@@ -1080,6 +1106,9 @@ extensions_available:
configure: --with-zlib-dir=/usr --with-pcre-dir=/usr configure: --with-zlib-dir=/usr --with-pcre-dir=/usr
build_dep: [zlib1g-dev] build_dep: [zlib1g-dev]
run_dep: [] run_dep: []
7.4:
type: builtin
configure: --with-zip
all: all:
type: builtin type: builtin
configure: --with-zlib-dir=/usr --with-pcre-dir=/usr --with-libzip configure: --with-zlib-dir=/usr --with-pcre-dir=/usr --with-libzip

View File

@@ -43,10 +43,9 @@ composer_enabled:
# ------------------------------------------------------------------------------------------------- # -------------------------------------------------------------------------------------------------
gem_enabled: gem_enabled:
- mixlib_config - mixlib_config
- ffi
- rb_inotify - rb_inotify
- mdl - mdl
- scss_lint
- sass
# ------------------------------------------------------------------------------------------------- # -------------------------------------------------------------------------------------------------
@@ -62,6 +61,8 @@ npm_enabled:
# https://github.com/Unitech/pm2 # https://github.com/Unitech/pm2
- pm2 - pm2
- mdlint - mdlint
- sass
- stylelint
- vue_cli - vue_cli
- vue_cli_service_global - vue_cli_service_global
- webpack - webpack
@@ -102,6 +103,7 @@ software_enabled:
- phpcs - phpcs
- phpcbf - phpcbf
- php-cs-fixer - php-cs-fixer
- phpmd
- phpunit - phpunit
- symfony - symfony
- wkhtmltopdf - wkhtmltopdf
@@ -142,7 +144,7 @@ apt_repositories_available:
blackfire: blackfire:
all: all:
deb: deb http://packages.blackfire.io/debian any main deb: deb http://packages.blackfire.io/debian any main
pre: curl -sS "https://packages.blackfire.io/gpg.key" 2>/dev/null | APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key add - pre: curl -sS -L --fail "https://packages.blackfire.io/gpg.key" 2>/dev/null | APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key add -
git: git:
7.2: 7.2:
deb: deb http://ppa.launchpad.net/git-core/ppa/ubuntu artful main deb: deb http://ppa.launchpad.net/git-core/ppa/ubuntu artful main
@@ -182,11 +184,11 @@ apt_repositories_available:
deb: deb http://apt.postgresql.org/pub/repos/apt/ jessie-pgdg main deb: deb http://apt.postgresql.org/pub/repos/apt/ jessie-pgdg main
all: all:
deb: deb http://apt.postgresql.org/pub/repos/apt/ stretch-pgdg main deb: deb http://apt.postgresql.org/pub/repos/apt/ stretch-pgdg main
pre: curl -sS https://www.postgresql.org/media/keys/ACCC4CF8.asc 2>/dev/null | APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key add - pre: curl -sS -L --fail https://www.postgresql.org/media/keys/ACCC4CF8.asc 2>/dev/null | APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key add -
yarn: yarn:
all: all:
deb: deb http://dl.yarnpkg.com/debian/ stable main deb: deb http://dl.yarnpkg.com/debian/ stable main
pre: curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg 2>/dev/null | APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key add - pre: curl -sS -L --fail https://dl.yarnpkg.com/debian/pubkey.gpg 2>/dev/null | APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key add -
# ------------------------------------------------------------------------------------------------- # -------------------------------------------------------------------------------------------------
@@ -206,22 +208,22 @@ apt_repositories_available:
composer_available: composer_available:
asgardcms: asgardcms:
disabled: [5.2, 5.3, 5.4, 8.0] disabled: [5.2, 5.3, 5.4, 8.0]
check: asgardcms --version 2>/dev/null | grep -Ei 'AsgardCMS\sInstaller\s[.0-9]+' check: asgardcms --version 2>/dev/null | grep -Ei 'AsgardCMS\sInstaller\s[0-9][.0-9]+'
name: asgardcms/asgardcms-installer name: asgardcms/asgardcms-installer
link: asgardcms link: asgardcms
codeception: codeception:
disabled: [5.2, 8.0] disabled: [5.2, 8.0]
check: codecept --version 2>/dev/null | grep -E '^Codeception(\sversion)?\s[.0-9]+$' check: codecept --version 2>/dev/null | grep -E '^Codeception(\sversion)?\s[0-9][.0-9]+$'
name: codeception/codeception name: codeception/codeception
link: codecept link: codecept
lumen: lumen:
disabled: [5.2, 5.3, 5.4, 8.0] disabled: [5.2, 5.3, 5.4, 8.0]
check: lumen --version 2>/dev/null | grep -E '^Lumen Installer\s[.0-9]+$' check: lumen --version 2>/dev/null | grep -E '^Lumen Installer\s[0-9][.0-9]+$'
name: laravel/lumen-installer name: laravel/lumen-installer
link: lumen link: lumen
photon: photon:
disabled: [5.2, 5.3, 5.4, 8.0] disabled: [5.2, 5.3, 5.4, 8.0]
check: photon --version | grep -E 'Installer [.0-9]+' check: photon --version | grep -E 'Installer [0-9][.0-9]+'
name: photoncms/installer name: photoncms/installer
link: photon link: photon
prestissimo: prestissimo:
@@ -247,13 +249,20 @@ gem_available:
name: mixlib-config name: mixlib-config
all: all:
version: 2.2.4 version: 2.2.4
# Required by rb-inotify, as otherwise rb-inotify will pull ffi as a dependency in a
# version which is not supported by the ruby version (>= 2.3)
ffi:
name: ffi
disabled: [5.6, 7.0, 7.1, 7.2, 7.3, 7.4, 8.0]
all:
version: 1.12.2
rb_inotify: rb_inotify:
name: rb-inotify name: rb-inotify
all: all:
version: 0.9.10 version: 0.9.10
mdl: mdl:
name: mdl name: mdl
check: mdl --version | grep -E '[.0-9]+' check: mdl --version | grep -E '[0-9][.0-9]+'
8.0: 8.0:
version: 0.5.0 version: 0.5.0
7.4: 7.4:
@@ -270,13 +279,6 @@ gem_available:
version: 0.5.0 version: 0.5.0
5.2: 5.2:
version: 0.5.0 version: 0.5.0
scss_lint:
name: scss_lint
all:
version: 0.57.1
sass:
name: sass
check: sass --version | grep -E '[.0-9]+'
# ------------------------------------------------------------------------------------------------- # -------------------------------------------------------------------------------------------------
@@ -295,37 +297,43 @@ gem_available:
npm_available: npm_available:
angular_cli: angular_cli:
name: "@angular/cli" name: "@angular/cli"
check: ng version 2>&1 | grep -iE 'Angular CLI:\s*[.0-9]+' check: ng version 2>&1 | grep -iE 'Angular CLI:\s*[0-9][.0-9]+'
eslint: eslint:
name: eslint name: eslint
check: eslint -v | grep -E '[.0-9]+' check: eslint -v | grep -E '[0-9][.0-9]+'
grunt: grunt:
name: grunt name: grunt
grunt_cli: grunt_cli:
name: grunt-cli name: grunt-cli
check: grunt --version | grep -E '[.0-9]+' check: grunt --version | grep -E '[0-9][.0-9]+'
gulp: gulp:
name: gulp name: gulp
check: gulp --version | grep -E '[.0-9]+' check: gulp --version | grep -E '[0-9][.0-9]+'
jsonlint: jsonlint:
name: jsonlint name: jsonlint
check: jsonlint --version | grep -E '[.0-9]+' check: jsonlint --version | grep -E '[0-9][.0-9]+'
pm2: pm2:
name: pm2 name: pm2
check: pm2 --no-daemon --version | grep -E '[.0-9]+' check: pm2 --no-daemon --version | tail -1 | grep -E '[0-9][.0-9]+'
mdlint: mdlint:
name: mdlint name: mdlint
check: mdlint --version | grep -E '[.0-9]+' check: mdlint --version | grep -E '[0-9][.0-9]+'
sass:
name: sass
check: sass --version | grep -E '[0-9][.0-9]+'
stylelint:
name: stylelint
check: stylelint --version | grep -E '[0-9][.0-9]+'
vue_cli: vue_cli:
name: "@vue/cli" name: "@vue/cli"
check: vue --version | grep -E '[.0-9]+' check: vue --version | grep -E '[0-9][.0-9]+'
vue_cli_service_global: vue_cli_service_global:
name: "@vue/cli-service-global" name: "@vue/cli-service-global"
webpack: webpack:
name: webpack name: webpack
webpack_cli: webpack_cli:
name: webpack-cli name: webpack-cli
check: webpack --version | grep -E '[.0-9]+' check: webpack --version | grep -E '[0-9][.0-9]+'
# ------------------------------------------------------------------------------------------------- # -------------------------------------------------------------------------------------------------
@@ -344,13 +352,13 @@ npm_available:
pip_available: pip_available:
ansible: ansible:
name: ansible name: ansible
check: ansible --version | grep -E '^ansible [.0-9]+$' check: ansible --version | grep -E '^ansible [0-9][.0-9]+$'
yamllint: yamllint:
name: yamllint name: yamllint
check: yamllint --version 2>&1 | grep -E '[.0-9]+' check: yamllint --version 2>&1 | grep -E '[0-9][.0-9]+'
yq: yq:
name: yq name: yq
check: yq --version 2>&1 | grep -E '^yq\s+[.0-9]+$' check: yq --version 2>&1 | grep -E '^yq\s+[0-9][.0-9]+$'
# ------------------------------------------------------------------------------------------------- # -------------------------------------------------------------------------------------------------
@@ -371,9 +379,9 @@ software_available:
# Composer is a dependency for others # Composer is a dependency for others
composer: composer:
disabled: [5.2] disabled: [5.2]
check: composer --version 2>/dev/null | grep -E 'version\s*[.0-9]+' check: composer --version 2>/dev/null | grep -E 'version\s*[0-9][.0-9]+'
all: all:
command: curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer command: curl -sS -L --fail https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer
# pip is a dependency for others # pip is a dependency for others
pip: pip:
all: all:
@@ -384,10 +392,10 @@ software_available:
&& DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \ && DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \
&& rm -rf /var/lib/apt/lists/* \ && rm -rf /var/lib/apt/lists/* \
\ \
&& curl -sS https://bootstrap.pypa.io/get-pip.py | python \ && curl -sS -L --fail https://bootstrap.pypa.io/get-pip.py | python \
# nvm is a dependency for others # nvm is a dependency for others
nvm: nvm:
check: su -c '. /opt/nvm/nvm.sh; nvm --version' devilbox | grep -E '^[.0-9]+' check: su -c '. /opt/nvm/nvm.sh; nvm --version' devilbox | grep -E '^[0-9][.0-9]+'
all: all:
pre: | pre: |
git clone https://github.com/creationix/nvm /opt/nvm \ git clone https://github.com/creationix/nvm /opt/nvm \
@@ -407,7 +415,7 @@ software_available:
&& su -c '. /opt/nvm/nvm.sh; nvm install --lts' devilbox \ && su -c '. /opt/nvm/nvm.sh; nvm install --lts' devilbox \
&& su -c '. /opt/nvm/nvm.sh; nvm use node' devilbox \ && su -c '. /opt/nvm/nvm.sh; nvm use node' devilbox \
awesomeci: awesomeci:
check: regex-grep --version | grep -E '[.0-9]+' check: regex-grep --version | grep -E '[0-9][.0-9]+'
all: all:
command: | command: |
git clone https://github.com/cytopia/awesome-ci.git /usr/local/src/awesome-ci \ git clone https://github.com/cytopia/awesome-ci.git /usr/local/src/awesome-ci \
@@ -419,18 +427,24 @@ software_available:
&& rm -rf /usr/local/src/awesome-ci \ && rm -rf /usr/local/src/awesome-ci \
deployer: deployer:
disabled: [5.2, 5.3] disabled: [5.2, 5.3]
check: dep --version 2>/dev/null | grep -Ei 'deployer\s*(version\s*)?[.0-9]+' check: dep --version 2>/dev/null | grep -Ei 'deployer\s*(version\s*)?[0-9][.0-9]+'
5.4: 5.4:
command: curl -sS https://deployer.org/releases/v3.3.0/deployer.phar -L -o /usr/local/bin/dep command: curl -sS -L --fail https://deployer.org/releases/v3.3.0/deployer.phar -L -o /usr/local/bin/dep
post: chmod +x /usr/local/bin/dep post: chmod +x /usr/local/bin/dep
5.5: 5.5:
command: curl -sS https://deployer.org/releases/v4.3.4/deployer.phar -L -o /usr/local/bin/dep command: curl -sS -L --fail https://deployer.org/releases/v4.3.4/deployer.phar -L -o /usr/local/bin/dep
post: chmod +x /usr/local/bin/dep post: chmod +x /usr/local/bin/dep
5.6: 5.6:
command: curl -sS https://deployer.org/releases/v4.3.4/deployer.phar -L -o /usr/local/bin/dep command: curl -sS -L --fail https://deployer.org/releases/v4.3.4/deployer.phar -L -o /usr/local/bin/dep
post: chmod +x /usr/local/bin/dep
7.0:
command: curl -sS -L --fail https://deployer.org/releases/v6.7.0/deployer.phar -L -o /usr/local/bin/dep
post: chmod +x /usr/local/bin/dep
7.1:
command: curl -sS -L --fail https://deployer.org/releases/v6.7.0/deployer.phar -L -o /usr/local/bin/dep
post: chmod +x /usr/local/bin/dep post: chmod +x /usr/local/bin/dep
all: all:
command: curl -sS https://deployer.org/deployer.phar -L -o /usr/local/bin/dep command: curl -sS -L --fail https://deployer.org/deployer.phar -L -o /usr/local/bin/dep
post: chmod +x /usr/local/bin/dep post: chmod +x /usr/local/bin/dep
drush7: drush7:
disabled: [5.2, 8.0] disabled: [5.2, 8.0]
@@ -442,7 +456,7 @@ software_available:
&& git checkout 7.4.0 \ && git checkout 7.4.0 \
command: | command: |
chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/drush7 \ chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/drush7 \
&& su - ${MY_USER} -c 'PATH=/usr/local/bin:$PATH; cd /usr/local/src/drush7 && composer install --no-interaction --no-progress --no-dev' \ && su - ${MY_USER} -c 'PATH=/usr/local/bin:$PATH; cd /usr/local/src/drush7 && COMPOSER_MEMORY_LIMIT=-1 /usr/local/bin/composer install --no-interaction --no-progress --no-dev' \
&& ln -s /usr/local/src/drush7/drush /usr/local/bin/drush7 \ && ln -s /usr/local/src/drush7/drush /usr/local/bin/drush7 \
&& rm -rf /usr/local/src/drush7/.git \ && rm -rf /usr/local/src/drush7/.git \
&& rm -rf /usr/local/src/drush7/docs \ && rm -rf /usr/local/src/drush7/docs \
@@ -458,7 +472,7 @@ software_available:
&& git checkout $( git for-each-ref --format='%(*creatordate:raw)%(creatordate:raw) %(refname)' refs/tags | sort -n | grep -E 'tags/8[.0-9]+$' | tail -1 | sed 's|.*/||g' ) \ && git checkout $( git for-each-ref --format='%(*creatordate:raw)%(creatordate:raw) %(refname)' refs/tags | sort -n | grep -E 'tags/8[.0-9]+$' | tail -1 | sed 's|.*/||g' ) \
command: | command: |
chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/drush8 \ chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/drush8 \
&& su - ${MY_USER} -c 'PATH=/usr/local/bin:$PATH; cd /usr/local/src/drush8 && composer install --no-interaction --no-progress --no-dev' \ && su - ${MY_USER} -c 'PATH=/usr/local/bin:$PATH; cd /usr/local/src/drush8 && COMPOSER_MEMORY_LIMIT=-1 /usr/local/bin/composer install --no-interaction --no-progress --no-dev' \
&& ln -s /usr/local/src/drush8/drush /usr/local/bin/drush8 \ && ln -s /usr/local/src/drush8/drush /usr/local/bin/drush8 \
&& rm -rf /usr/local/src/drush8/.git \ && rm -rf /usr/local/src/drush8/.git \
&& rm -rf /usr/local/src/drush8/docs \ && rm -rf /usr/local/src/drush8/docs \
@@ -474,7 +488,7 @@ software_available:
&& git checkout $( git for-each-ref --format='%(*creatordate:raw)%(creatordate:raw) %(refname)' refs/tags | sort -n | grep -E 'tags/9[.0-9]+$' | tail -1 | sed 's|.*/||g' ) \ && git checkout $( git for-each-ref --format='%(*creatordate:raw)%(creatordate:raw) %(refname)' refs/tags | sort -n | grep -E 'tags/9[.0-9]+$' | tail -1 | sed 's|.*/||g' ) \
command: | command: |
chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/drush9 \ chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/drush9 \
&& su - ${MY_USER} -c 'PATH=/usr/local/bin:$PATH; cd /usr/local/src/drush9 && php -d memory_limit=-1 `which composer` install --no-interaction --no-progress' \ && su - ${MY_USER} -c 'PATH=/usr/local/bin:$PATH; cd /usr/local/src/drush9 && COMPOSER_MEMORY_LIMIT=-1 /usr/local/bin/composer install --no-interaction --no-progress' \
&& ln -s /usr/local/src/drush9/drush /usr/local/bin/drush9 \ && ln -s /usr/local/src/drush9/drush /usr/local/bin/drush9 \
&& rm -rf /usr/local/src/drush9/.git \ && rm -rf /usr/local/src/drush9/.git \
&& rm -rf /usr/local/src/drush9/docs \ && rm -rf /usr/local/src/drush9/docs \
@@ -482,12 +496,13 @@ software_available:
&& rm -rf /usr/local/src/drush9/misc \ && rm -rf /usr/local/src/drush9/misc \
drupalconsole: drupalconsole:
disabled: [5.2, 5.3, 5.4, 8.0] # TODO: re-enable for 8.0 (currently errors) disabled: [5.2, 5.3, 5.4, 8.0] # TODO: re-enable for 8.0 (currently errors)
check: drupal --version | grep -E 'Drupal Console Launcher\s*[.0-9]' check: drupal --version | grep -E 'Drupal Console Launcher\s*[0-9][.0-9]'
all: all:
command: curl https://drupalconsole.com/installer -L -o /usr/local/bin/drupal pre: DURL="https://github.com$(curl -sS 'https://github.com/hechoendrupal/drupal-console-launcher/releases' | grep -Eo 'href="/.+drupal.phar"' | head -1 | sed 's/^href="//g' | sed 's/"$//g')"
command: curl -sS -L --fail "${DURL}" -L -o /usr/local/bin/drupal
post: chmod +x /usr/local/bin/drupal post: chmod +x /usr/local/bin/drupal
gitflow: gitflow:
check: git-flow version | grep -E '[.0-9]+' check: git-flow version | grep -E '[0-9][.0-9]+'
all: all:
command: | command: |
git clone git://github.com/petervanderdoes/gitflow.git /tmp/gitflow \ git clone git://github.com/petervanderdoes/gitflow.git /tmp/gitflow \
@@ -495,7 +510,7 @@ software_available:
&& make install \ && make install \
&& cd / && rm -rf /tmp/gitflow \ && cd / && rm -rf /tmp/gitflow \
laravel: laravel:
check: laravel --version | grep -E '(Installer|version)\s*[.0-9]+' check: laravel --version | grep -E '(Installer|version)\s*[0-9][.0-9]+'
disabled: [5.2, 5.3, 8.0] disabled: [5.2, 5.3, 8.0]
5.4: 5.4:
pre: | pre: |
@@ -532,6 +547,13 @@ software_available:
&& git checkout $(git tag | grep '^v2\.3\.' | sort -u | tail -1) \ && git checkout $(git tag | grep '^v2\.3\.' | sort -u | tail -1) \
post: post:
ln -s /usr/local/src/laravel-installer/laravel /usr/local/bin/laravel ln -s /usr/local/src/laravel-installer/laravel /usr/local/bin/laravel
7.2:
pre: |
git clone https://github.com/laravel/installer /usr/local/src/laravel-installer \
&& cd /usr/local/src/laravel-installer \
&& git checkout v4.0.0 \
post:
ln -s /usr/local/src/laravel-installer/bin/laravel /usr/local/bin/laravel
all: all:
pre: | pre: |
git clone https://github.com/laravel/installer /usr/local/src/laravel-installer \ git clone https://github.com/laravel/installer /usr/local/src/laravel-installer \
@@ -539,18 +561,18 @@ software_available:
&& git checkout $(git describe --abbrev=0 --tags) \ && git checkout $(git describe --abbrev=0 --tags) \
command: | command: |
chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/laravel-installer \ chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/laravel-installer \
&& su - ${MY_USER} -c 'PATH=/usr/local/bin:$PATH; cd /usr/local/src/laravel-installer && composer install --no-interaction --no-progress --no-dev' \ && su - ${MY_USER} -c 'PATH=/usr/local/bin:$PATH; cd /usr/local/src/laravel-installer && COMPOSER_MEMORY_LIMIT=-1 /usr/local/bin/composer install --no-interaction --no-progress --no-dev' \
&& rm -rf /usr/local/src/laravel-installer/laravel/.git \ && rm -rf /usr/local/src/laravel-installer/laravel/.git \
post: post:
ln -s /usr/local/src/laravel-installer/bin/laravel /usr/local/bin/laravel ln -s /usr/local/src/laravel-installer/bin/laravel /usr/local/bin/laravel
linkcheck: linkcheck:
check: linkcheck --version | grep -E '^linkcheck\sv[.0-9]+' check: linkcheck --version | grep -E '^linkcheck\sv[0-9][.0-9]+'
all: all:
command: | command: |
curl https://raw.githubusercontent.com/cytopia/linkcheck/master/linkcheck > /usr/local/bin/linkcheck \ curl -sS -L --fail https://raw.githubusercontent.com/cytopia/linkcheck/master/linkcheck > /usr/local/bin/linkcheck \
&& chmod +x /usr/local/bin/linkcheck \ && chmod +x /usr/local/bin/linkcheck \
linuxbrew: linuxbrew:
check: su - ${MY_USER} -c '/usr/local/src/linuxbrew/bin/brew --version' | grep -E 'Homebrew\s*[.0-9]+' check: su - ${MY_USER} -c '/usr/local/src/linuxbrew/bin/brew --version' | grep -E 'Homebrew\s*[0-9][.0-9]+'
all: all:
command: | command: |
git clone https://github.com/Linuxbrew/brew.git /usr/local/src/linuxbrew \ git clone https://github.com/Linuxbrew/brew.git /usr/local/src/linuxbrew \
@@ -565,11 +587,11 @@ software_available:
mhsendmail: mhsendmail:
all: all:
command: | command: |
wget https://github.com/mailhog/mhsendmail/releases/download/v0.2.0/mhsendmail_linux_amd64 \ curl -sS -L --fail https://github.com/devilbox/mhsendmail/releases/download/v0.3.0/mhsendmail_linux_amd64 > mhsendmail_linux_amd64 \
&& chmod +x mhsendmail_linux_amd64 \ && chmod +x mhsendmail_linux_amd64 \
&& mv mhsendmail_linux_amd64 /usr/local/bin/mhsendmail \ && mv mhsendmail_linux_amd64 /usr/local/bin/mhsendmail \
mysqldumpsecure: mysqldumpsecure:
check: mysqldump-secure --version | grep -E 'Version:\s*[.0-9]+' check: mysqldump-secure --version | grep -E 'Version:\s*[0-9][.0-9]+'
all: all:
command: | command: |
git clone https://github.com/cytopia/mysqldump-secure.git /usr/local/src/mysqldump-secure \ git clone https://github.com/cytopia/mysqldump-secure.git /usr/local/src/mysqldump-secure \
@@ -593,8 +615,8 @@ software_available:
&& cd / \ && cd / \
&& rm -rf /usr/local/src/mysqldump-secure \ && rm -rf /usr/local/src/mysqldump-secure \
phalcon: phalcon:
disabled: [5.2, 7.3, 7.4, 8.0] disabled: [5.2, 8.0]
check: phalcon commands | grep -E '[.0-9]+' check: phalcon commands | grep -E '[0-9][.0-9]+'
5.3: 5.3:
pre: | pre: |
git clone https://github.com/phalcon/phalcon-devtools /usr/local/src/phalcon-devtools \ git clone https://github.com/phalcon/phalcon-devtools /usr/local/src/phalcon-devtools \
@@ -617,11 +639,60 @@ software_available:
&& ln -sf /usr/local/src/phalcon-devtools/phalcon.php /usr/local/bin/phalcon \ && ln -sf /usr/local/src/phalcon-devtools/phalcon.php /usr/local/bin/phalcon \
&& cd / \ && cd / \
&& rm -rf /usr/local/src/phalcon-devtools/.git \ && rm -rf /usr/local/src/phalcon-devtools/.git \
5.5:
pre: |
git clone https://github.com/phalcon/phalcon-devtools /usr/local/src/phalcon-devtools \
&& cd /usr/local/src/phalcon-devtools \
&& git checkout v3.4.11 \
command: |
chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/phalcon-devtools \
&& su - ${MY_USER} -c 'cd /usr/local/src/phalcon-devtools && ./phalcon.sh' \
&& ln -sf /usr/local/src/phalcon-devtools/phalcon /usr/local/bin/phalcon \
&& chmod +x /usr/local/bin/phalcon \
&& cd / \
&& rm -rf /usr/local/src/phalcon-devtools/.git \
5.6:
pre: |
git clone https://github.com/phalcon/phalcon-devtools /usr/local/src/phalcon-devtools \
&& cd /usr/local/src/phalcon-devtools \
&& git checkout v3.4.11 \
command: |
chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/phalcon-devtools \
&& su - ${MY_USER} -c 'cd /usr/local/src/phalcon-devtools && ./phalcon.sh' \
&& ln -sf /usr/local/src/phalcon-devtools/phalcon /usr/local/bin/phalcon \
&& chmod +x /usr/local/bin/phalcon \
&& cd / \
&& rm -rf /usr/local/src/phalcon-devtools/.git \
7.0:
pre: |
git clone https://github.com/phalcon/phalcon-devtools /usr/local/src/phalcon-devtools \
&& cd /usr/local/src/phalcon-devtools \
&& git checkout v3.4.11 \
command: |
chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/phalcon-devtools \
&& su - ${MY_USER} -c 'cd /usr/local/src/phalcon-devtools && ./phalcon.sh' \
&& ln -sf /usr/local/src/phalcon-devtools/phalcon /usr/local/bin/phalcon \
&& chmod +x /usr/local/bin/phalcon \
&& cd / \
&& rm -rf /usr/local/src/phalcon-devtools/.git \
7.1:
pre: |
git clone https://github.com/phalcon/phalcon-devtools /usr/local/src/phalcon-devtools \
&& cd /usr/local/src/phalcon-devtools \
&& git checkout v3.4.11 \
command: |
chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/phalcon-devtools \
&& su - ${MY_USER} -c 'cd /usr/local/src/phalcon-devtools && ./phalcon.sh' \
&& ln -sf /usr/local/src/phalcon-devtools/phalcon /usr/local/bin/phalcon \
&& chmod +x /usr/local/bin/phalcon \
&& cd / \
&& rm -rf /usr/local/src/phalcon-devtools/.git \
all: all:
pre: | pre: |
git clone https://github.com/phalcon/phalcon-devtools /usr/local/src/phalcon-devtools \ git clone https://github.com/phalcon/phalcon-devtools /usr/local/src/phalcon-devtools \
&& cd /usr/local/src/phalcon-devtools \ && cd /usr/local/src/phalcon-devtools \
&& git checkout $(git describe --abbrev=0 --tags) \ && git checkout $(git describe --abbrev=0 --tags) \
&& COMPOSER_MEMORY_LIMIT=-1 /usr/local/bin/composer install \
command: | command: |
chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/phalcon-devtools \ chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/phalcon-devtools \
&& su - ${MY_USER} -c 'cd /usr/local/src/phalcon-devtools && ./phalcon.sh' \ && su - ${MY_USER} -c 'cd /usr/local/src/phalcon-devtools && ./phalcon.sh' \
@@ -630,101 +701,110 @@ software_available:
&& cd / \ && cd / \
&& rm -rf /usr/local/src/phalcon-devtools/.git \ && rm -rf /usr/local/src/phalcon-devtools/.git \
phpcs: phpcs:
check: phpcs --version | grep -E 'version [.0-9]+' check: phpcs --version | grep -E 'version [0-9][.0-9]+'
5.2: 5.2:
command: | command: |
curl -sS -L https://github.com/squizlabs/PHP_CodeSniffer/releases/download/2.9.0/phpcs.phar > /usr/local/bin/phpcs 2>/dev/null \ curl -sS -L --fail https://github.com/squizlabs/PHP_CodeSniffer/releases/download/2.9.0/phpcs.phar > /usr/local/bin/phpcs 2>/dev/null \
&& chmod +x /usr/local/bin/phpcs \ && chmod +x /usr/local/bin/phpcs \
5.3: 5.3:
command: | command: |
curl -sS -L https://github.com/squizlabs/PHP_CodeSniffer/releases/download/2.9.0/phpcs.phar > /usr/local/bin/phpcs 2>/dev/null \ curl -sS -L --fail https://github.com/squizlabs/PHP_CodeSniffer/releases/download/2.9.0/phpcs.phar > /usr/local/bin/phpcs 2>/dev/null \
&& chmod +x /usr/local/bin/phpcs \ && chmod +x /usr/local/bin/phpcs \
all: all:
command: | command: |
curl -sS -L https://squizlabs.github.io/PHP_CodeSniffer/phpcs.phar > /usr/local/bin/phpcs 2>/dev/null \ curl -sS -L --fail https://squizlabs.github.io/PHP_CodeSniffer/phpcs.phar > /usr/local/bin/phpcs 2>/dev/null \
&& chmod +x /usr/local/bin/phpcs \ && chmod +x /usr/local/bin/phpcs \
phpcbf: phpcbf:
check: phpcbf --version | grep -E 'version [.0-9]+' check: phpcbf --version | grep -E 'version [0-9][.0-9]+'
5.2: 5.2:
command: | command: |
curl -sS -L https://github.com/squizlabs/PHP_CodeSniffer/releases/download/2.9.0/phpcbf.phar > /usr/local/bin/phpcbf 2>/dev/null \ curl -sS -L --fail https://github.com/squizlabs/PHP_CodeSniffer/releases/download/2.9.0/phpcbf.phar > /usr/local/bin/phpcbf 2>/dev/null \
&& chmod +x /usr/local/bin/phpcbf \ && chmod +x /usr/local/bin/phpcbf \
5.3: 5.3:
command: | command: |
curl -sS -L https://github.com/squizlabs/PHP_CodeSniffer/releases/download/2.9.0/phpcbf.phar > /usr/local/bin/phpcbf 2>/dev/null \ curl -sS -L --fail https://github.com/squizlabs/PHP_CodeSniffer/releases/download/2.9.0/phpcbf.phar > /usr/local/bin/phpcbf 2>/dev/null \
&& chmod +x /usr/local/bin/phpcbf \ && chmod +x /usr/local/bin/phpcbf \
all: all:
command: | command: |
curl -sS -L https://squizlabs.github.io/PHP_CodeSniffer/phpcbf.phar > /usr/local/bin/phpcbf 2>/dev/null \ curl -sS -L --fail https://squizlabs.github.io/PHP_CodeSniffer/phpcbf.phar > /usr/local/bin/phpcbf 2>/dev/null \
&& chmod +x /usr/local/bin/phpcbf \ && chmod +x /usr/local/bin/phpcbf \
php-cs-fixer: php-cs-fixer:
disabled: [5.2, 7.4, 8.0] disabled: [5.2, 7.4, 8.0]
check: php-cs-fixer --version 2>&1 | grep -E 'Fixer\s+(version\s*)?[-_.0-9]+\s+' check: php-cs-fixer --version 2>&1 | grep -E 'Fixer\s+(version\s*)?[-_.0-9]+\s+'
5.3: 5.3:
command: | command: |
curl -sS -L https://github.com/FriendsOfPHP/PHP-CS-Fixer/releases/download/v2.2.19/php-cs-fixer.phar > /usr/local/bin/php-cs-fixer 2>/dev/null \ curl -sS -L --fail https://github.com/FriendsOfPHP/PHP-CS-Fixer/releases/download/v2.2.19/php-cs-fixer.phar > /usr/local/bin/php-cs-fixer 2>/dev/null \
&& chmod +x /usr/local/bin/php-cs-fixer \ && chmod +x /usr/local/bin/php-cs-fixer \
5.4: 5.4:
command: | command: |
curl -sS -L https://github.com/FriendsOfPHP/PHP-CS-Fixer/releases/download/v2.2.19/php-cs-fixer.phar > /usr/local/bin/php-cs-fixer 2>/dev/null \ curl -sS -L --fail https://github.com/FriendsOfPHP/PHP-CS-Fixer/releases/download/v2.2.19/php-cs-fixer.phar > /usr/local/bin/php-cs-fixer 2>/dev/null \
&& chmod +x /usr/local/bin/php-cs-fixer \ && chmod +x /usr/local/bin/php-cs-fixer \
5.5: 5.5:
command: | command: |
curl -sS -L https://github.com/FriendsOfPHP/PHP-CS-Fixer/releases/download/v2.2.19/php-cs-fixer.phar > /usr/local/bin/php-cs-fixer 2>/dev/null \ curl -sS -L --fail https://github.com/FriendsOfPHP/PHP-CS-Fixer/releases/download/v2.2.19/php-cs-fixer.phar > /usr/local/bin/php-cs-fixer 2>/dev/null \
&& chmod +x /usr/local/bin/php-cs-fixer \ && chmod +x /usr/local/bin/php-cs-fixer \
all: all:
command: | command: |
curl -sS -L https://cs.symfony.com/download/php-cs-fixer-v2.phar > /usr/local/bin/php-cs-fixer 2>/dev/null \ curl -sS -L --fail https://cs.symfony.com/download/php-cs-fixer-v2.phar > /usr/local/bin/php-cs-fixer 2>/dev/null \
&& chmod +x /usr/local/bin/php-cs-fixer \ && chmod +x /usr/local/bin/php-cs-fixer \
phpmd:
disabled: [5.2]
check: phpmd --version | grep -E '^PHPMD [0-9][.0-9]+'
all:
command: |
curl -sS -L --fail https://phpmd.org/static/latest/phpmd.phar > phpmd.phar \
&& mv phpmd.phar /usr/local/bin/phpmd \
&& chmod +x /usr/local/bin/phpmd \
phpunit: phpunit:
disabled: [5.2, 8.0] disabled: [5.2, 8.0]
check: phpunit --version | grep -iE '^PHPUnit\s[.0-9]+' check: phpunit --version | grep -iE '^PHPUnit\s[0-9][.0-9]+'
5.3: 5.3:
command: | command: |
curl -qL https://phar.phpunit.de/phpunit-4.phar > /usr/local/bin/phpunit 2>/dev/null \ curl -sS -L --fail https://phar.phpunit.de/phpunit-4.phar > /usr/local/bin/phpunit 2>/dev/null \
&& chmod +x /usr/local/bin/phpunit \ && chmod +x /usr/local/bin/phpunit \
5.4: 5.4:
command: | command: |
curl -qL https://phar.phpunit.de/phpunit-4.phar > /usr/local/bin/phpunit 2>/dev/null \ curl -sS -L --fail https://phar.phpunit.de/phpunit-4.phar > /usr/local/bin/phpunit 2>/dev/null \
&& chmod +x /usr/local/bin/phpunit \ && chmod +x /usr/local/bin/phpunit \
5.5: 5.5:
command: | command: |
curl -qL https://phar.phpunit.de/phpunit-4.phar > /usr/local/bin/phpunit 2>/dev/null \ curl -sS -L --fail https://phar.phpunit.de/phpunit-4.phar > /usr/local/bin/phpunit 2>/dev/null \
&& chmod +x /usr/local/bin/phpunit \ && chmod +x /usr/local/bin/phpunit \
5.6: 5.6:
command: | command: |
curl -qL https://phar.phpunit.de/phpunit-5.phar > /usr/local/bin/phpunit 2>/dev/null \ curl -sS -L --fail https://phar.phpunit.de/phpunit-5.phar > /usr/local/bin/phpunit 2>/dev/null \
&& chmod +x /usr/local/bin/phpunit \ && chmod +x /usr/local/bin/phpunit \
7.0: 7.0:
command: | command: |
curl -qL https://phar.phpunit.de/phpunit-6.phar > /usr/local/bin/phpunit 2>/dev/null \ curl -sS -L --fail https://phar.phpunit.de/phpunit-6.phar > /usr/local/bin/phpunit 2>/dev/null \
&& chmod +x /usr/local/bin/phpunit \ && chmod +x /usr/local/bin/phpunit \
all: all:
command: | command: |
curl -qL https://phar.phpunit.de/phpunit-7.phar > /usr/local/bin/phpunit 2>/dev/null \ curl -sS -L --fail https://phar.phpunit.de/phpunit-7.phar > /usr/local/bin/phpunit 2>/dev/null \
&& chmod +x /usr/local/bin/phpunit \ && chmod +x /usr/local/bin/phpunit \
symfony: symfony:
disabled: [5.2, 5.3] disabled: [5.2, 5.3]
check: symfony --version | grep -E 'version\s*[.0-9]+' check: symfony -V | grep -Ei 'version\s*.*v[0-9][.0-9]+'
all: all:
command: curl https://symfony.com/installer -L -o /usr/local/bin/symfony pre: SYMFONY_VERSION="$( curl -sS -L --fail https://get.symfony.com/cli/LATEST )"
command: curl -sS -L --fail "https://github.com/symfony/cli/releases/download/v${SYMFONY_VERSION}/symfony_linux_amd64" > /usr/local/bin/symfony
post: chmod +x /usr/local/bin/symfony post: chmod +x /usr/local/bin/symfony
wkhtmltopdf: wkhtmltopdf:
check: wkhtmltopdf --version | grep -E "^wkhtmltopdf [.0-9]+\s+\(.+patched.+\)" check: wkhtmltopdf --version | grep -E "^wkhtmltopdf [0-9][.0-9]+\s+\(.+patched.+\)"
5.2: 5.2:
pre: VERSION="$( curl -sSL https://github.com/wkhtmltopdf/wkhtmltopdf/releases | grep -Eo '/wkhtmltopdf/.+jessie_amd64\.deb' | head -1 )" pre: VERSION="$( curl -sSL -L --fail https://github.com/wkhtmltopdf/wkhtmltopdf/releases | grep -Eo '/wkhtmltopdf/.+jessie_amd64\.deb' | head -1 )"
5.3: 5.3:
pre: VERSION="$( curl -sSL https://github.com/wkhtmltopdf/wkhtmltopdf/releases | grep -Eo '/wkhtmltopdf/.+jessie_amd64\.deb' | head -1 )" pre: VERSION="$( curl -sSL -L --fail https://github.com/wkhtmltopdf/wkhtmltopdf/releases | grep -Eo '/wkhtmltopdf/.+jessie_amd64\.deb' | head -1 )"
5.4: 5.4:
pre: VERSION="$( curl -sSL https://github.com/wkhtmltopdf/wkhtmltopdf/releases | grep -Eo '/wkhtmltopdf/.+jessie_amd64\.deb' | head -1 )" pre: VERSION="$( curl -sSL -L --fail https://github.com/wkhtmltopdf/wkhtmltopdf/releases | grep -Eo '/wkhtmltopdf/.+jessie_amd64\.deb' | head -1 )"
5.5: 5.5:
pre: VERSION="$( curl -sSL https://github.com/wkhtmltopdf/wkhtmltopdf/releases | grep -Eo '/wkhtmltopdf/.+jessie_amd64\.deb' | head -1 )" pre: VERSION="$( curl -sSL -L --fail https://github.com/wkhtmltopdf/wkhtmltopdf/releases | grep -Eo '/wkhtmltopdf/.+jessie_amd64\.deb' | head -1 )"
7.1: 7.1:
command: | command: |
DEBIAN_FRONTEND=noninteractive apt-get update -qq \ DEBIAN_FRONTEND=noninteractive apt-get update -qq \
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \ && DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
libfontenc1 libxfont2 xfonts-75dpi xfonts-base xfonts-encodings xfonts-utils \ libfontenc1 libxfont2 xfonts-75dpi xfonts-base xfonts-encodings xfonts-utils \
&& curl -sS -L -o /tmp/wkhtmltopdf.deb https://github.com/${VERSION} \ && curl -sS -L --fail -o /tmp/wkhtmltopdf.deb https://github.com/${VERSION} \
&& dpkg -i /tmp/wkhtmltopdf.deb \ && dpkg -i /tmp/wkhtmltopdf.deb \
&& rm -f /tmp/wkhtmltopdf.deb \ && rm -f /tmp/wkhtmltopdf.deb \
7.2: 7.2:
@@ -732,7 +812,7 @@ software_available:
DEBIAN_FRONTEND=noninteractive apt-get update -qq \ DEBIAN_FRONTEND=noninteractive apt-get update -qq \
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \ && DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
libfontenc1 libxfont2 xfonts-75dpi xfonts-base xfonts-encodings xfonts-utils \ libfontenc1 libxfont2 xfonts-75dpi xfonts-base xfonts-encodings xfonts-utils \
&& curl -sS -L -o /tmp/wkhtmltopdf.deb https://github.com/${VERSION} \ && curl -sS -L --fail -o /tmp/wkhtmltopdf.deb https://github.com/${VERSION} \
&& dpkg -i /tmp/wkhtmltopdf.deb \ && dpkg -i /tmp/wkhtmltopdf.deb \
&& rm -f /tmp/wkhtmltopdf.deb \ && rm -f /tmp/wkhtmltopdf.deb \
7.3: 7.3:
@@ -740,7 +820,7 @@ software_available:
DEBIAN_FRONTEND=noninteractive apt-get update -qq \ DEBIAN_FRONTEND=noninteractive apt-get update -qq \
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \ && DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
libfontenc1 libxfont2 xfonts-75dpi xfonts-base xfonts-encodings xfonts-utils \ libfontenc1 libxfont2 xfonts-75dpi xfonts-base xfonts-encodings xfonts-utils \
&& curl -sS -L -o /tmp/wkhtmltopdf.deb https://github.com/${VERSION} \ && curl -sS -L --fail -o /tmp/wkhtmltopdf.deb https://github.com/${VERSION} \
&& dpkg -i /tmp/wkhtmltopdf.deb \ && dpkg -i /tmp/wkhtmltopdf.deb \
&& rm -f /tmp/wkhtmltopdf.deb \ && rm -f /tmp/wkhtmltopdf.deb \
7.4: 7.4:
@@ -748,7 +828,7 @@ software_available:
DEBIAN_FRONTEND=noninteractive apt-get update -qq \ DEBIAN_FRONTEND=noninteractive apt-get update -qq \
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \ && DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
libfontenc1 libxfont2 xfonts-75dpi xfonts-base xfonts-encodings xfonts-utils \ libfontenc1 libxfont2 xfonts-75dpi xfonts-base xfonts-encodings xfonts-utils \
&& curl -sS -L -o /tmp/wkhtmltopdf.deb https://github.com/${VERSION} \ && curl -sS -L --fail -o /tmp/wkhtmltopdf.deb https://github.com/${VERSION} \
&& dpkg -i /tmp/wkhtmltopdf.deb \ && dpkg -i /tmp/wkhtmltopdf.deb \
&& rm -f /tmp/wkhtmltopdf.deb \ && rm -f /tmp/wkhtmltopdf.deb \
8.0: 8.0:
@@ -756,16 +836,16 @@ software_available:
DEBIAN_FRONTEND=noninteractive apt-get update -qq \ DEBIAN_FRONTEND=noninteractive apt-get update -qq \
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \ && DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
libfontenc1 libxfont2 xfonts-75dpi xfonts-base xfonts-encodings xfonts-utils \ libfontenc1 libxfont2 xfonts-75dpi xfonts-base xfonts-encodings xfonts-utils \
&& curl -sS -L -o /tmp/wkhtmltopdf.deb https://github.com/${VERSION} \ && curl -sS -L --fail -o /tmp/wkhtmltopdf.deb https://github.com/${VERSION} \
&& dpkg -i /tmp/wkhtmltopdf.deb \ && dpkg -i /tmp/wkhtmltopdf.deb \
&& rm -f /tmp/wkhtmltopdf.deb \ && rm -f /tmp/wkhtmltopdf.deb \
all: all:
pre: VERSION="$( curl -sSL https://github.com/wkhtmltopdf/wkhtmltopdf/releases | grep -Eo '/wkhtmltopdf/.+stretch_amd64\.deb' | head -1 )" pre: VERSION="$( curl -sSL -L --fail https://github.com/wkhtmltopdf/wkhtmltopdf/releases | grep -Eo '/wkhtmltopdf/.+stretch_amd64\.deb' | head -1 )"
command: | command: |
DEBIAN_FRONTEND=noninteractive apt-get update -qq \ DEBIAN_FRONTEND=noninteractive apt-get update -qq \
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \ && DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
libfontenc1 libxfont1 xfonts-75dpi xfonts-base xfonts-encodings xfonts-utils \ libfontenc1 libxfont1 xfonts-75dpi xfonts-base xfonts-encodings xfonts-utils \
&& curl -sS -L -o /tmp/wkhtmltopdf.deb https://github.com/${VERSION} \ && curl -sS -L --fail -o /tmp/wkhtmltopdf.deb https://github.com/${VERSION} \
&& dpkg -i /tmp/wkhtmltopdf.deb \ && dpkg -i /tmp/wkhtmltopdf.deb \
&& rm -f /tmp/wkhtmltopdf.deb \ && rm -f /tmp/wkhtmltopdf.deb \
post: | post: |
@@ -773,12 +853,12 @@ software_available:
&& rm -rf /var/lib/apt/lists/* \ && rm -rf /var/lib/apt/lists/* \
wpcli: wpcli:
disabled: [5.2] disabled: [5.2]
check: wp --allow-root --version | grep -E '[.0-9]+' check: wp --allow-root --version | grep -E '[0-9][.0-9]+'
5.3: 5.3:
command: curl https://github.com/wp-cli/wp-cli/releases/download/v1.5.1/wp-cli-1.5.1.phar -L -o /usr/local/bin/wp command: curl -sS -L --fail https://github.com/wp-cli/wp-cli/releases/download/v1.5.1/wp-cli-1.5.1.phar -L -o /usr/local/bin/wp
post: chmod +x /usr/local/bin/wp post: chmod +x /usr/local/bin/wp
all: all:
command: curl https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar -L -o /usr/local/bin/wp command: curl -sS -L --fail https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar -L -o /usr/local/bin/wp
post: chmod +x /usr/local/bin/wp post: chmod +x /usr/local/bin/wp
cleanup: cleanup:
all: all:

Binary file not shown.

View File

@@ -9,8 +9,8 @@ error_reporting(-1);
$PHP_VERSION = str_replace('-dev', '', PHP_VERSION); $PHP_VERSION = str_replace('-dev', '', PHP_VERSION);
// Only available since 5.3.0 (PHP 5.3, 5.4 and 5.5 segfaults) // Only available since 5.3.0 (PHP 5.3 and 5.4 segfaults)
if (version_compare($PHP_VERSION, '5.6.0', '<')) { if (version_compare($PHP_VERSION, '5.5.0', '<')) {
echo 'SKIP'; echo 'SKIP';
exit(0); exit(0);
} }

View File

@@ -0,0 +1,32 @@
<?php
/**
* This page should print 'OK' if everything works,
* 'FAIL' or nothing if an error occured.
*/
ini_set('display_startup_errors', 1);
ini_set('display_errors', 1);
error_reporting(-1);
$PHP_VERSION = str_replace('-dev', '', PHP_VERSION);
// Only available since 5.3.0 (PHP 5.3 and 5.4 segfaults)
if (version_compare($PHP_VERSION, '5.5.0', '<')) {
echo 'SKIP';
exit(0);
}
// FIXME: Currently not supported on PHP 8
if (version_compare($PHP_VERSION, '8.0.0', '>=')) {
echo 'SKIP';
exit(0);
}
$dir = realpath(dirname(__FILE__));
$file = $dir . DIRECTORY_SEPARATOR . 'dummy.pdf';
$img = new Imagick();
if ($img->readImage($file) !== True) {
echo 'FAIL: newImage()';
exit(1);
}
echo 'OK';

View File

@@ -9,8 +9,8 @@ error_reporting(-1);
$PHP_VERSION = str_replace('-dev', '', PHP_VERSION); $PHP_VERSION = str_replace('-dev', '', PHP_VERSION);
// Only available since 5.3.0 (PHP 5.3, 5.4 and 5.5 segfaults) // Only available since 5.3.0 (PHP 5.3 and 5.4 segfaults)
if (version_compare($PHP_VERSION, '5.6.0', '<')) { if (version_compare($PHP_VERSION, '5.5.0', '<')) {
echo 'SKIP'; echo 'SKIP';
exit(0); exit(0);
} }

View File

@@ -23,7 +23,7 @@ FLAVOUR="${3}"
### Postfix ### Postfix
### ###
MOUNTPOINT="$( mktemp --directory )" MOUNTPOINT="$( mktemp --directory )"
did="$( docker_run "${IMAGE}:${VERSION}-${FLAVOUR}" "-e DEBUG_ENTRYPOINT=2 -e NEW_UID=$(id -u) -e NEW_GID=$(id -g) -e ENABLE_MAIL=1 -v ${MOUNTPOINT}:/var/mail" )" did="$( docker_run "${IMAGE}:${VERSION}-${FLAVOUR}" "-e DEBUG_ENTRYPOINT=2 -e NEW_UID=$(id -u) -e NEW_GID=$(id -g) -e ENABLE_MAIL=2 -v ${MOUNTPOINT}:/var/mail" )"
run "sleep 10" run "sleep 10"
if ! run "docker logs ${did} 2>&1 | grep -q 'ENABLE_MAIL'"; then if ! run "docker logs ${did} 2>&1 | grep -q 'ENABLE_MAIL'"; then
@@ -36,7 +36,7 @@ fi
if [ ! -f "${MOUNTPOINT}/devilbox" ]; then if [ ! -f "${MOUNTPOINT}/devilbox" ]; then
echo "Mail file does not exist: ${MOUNTPOINT}/devilbox" echo "Mail file does not exist: ${MOUNTPOINT}/devilbox"
ls -lap ${MOUNTPOINT}/ ls -lap "${MOUNTPOINT}/"
docker_logs "${did}" || true docker_logs "${did}" || true
docker_stop "${did}" || true docker_stop "${did}" || true
rm -rf "${MOUNTPOINT}" rm -rf "${MOUNTPOINT}"
@@ -45,7 +45,7 @@ if [ ! -f "${MOUNTPOINT}/devilbox" ]; then
fi fi
if [ ! -r "${MOUNTPOINT}/devilbox" ]; then if [ ! -r "${MOUNTPOINT}/devilbox" ]; then
echo "Mail file is not readable" echo "Mail file is not readable"
ls -lap ${MOUNTPOINT}/ ls -lap "${MOUNTPOINT}/"
docker_logs "${did}" || true docker_logs "${did}" || true
docker_stop "${did}" || true docker_stop "${did}" || true
rm -rf "${MOUNTPOINT}" rm -rf "${MOUNTPOINT}"