mirror of
https://github.com/devilbox/docker-php-fpm.git
synced 2026-01-10 01:51:14 +00:00
Fix work images
This commit is contained in:
@@ -38,6 +38,7 @@ RUN set -eux \
|
||||
curl \
|
||||
dirmngr \
|
||||
gnupg \
|
||||
\
|
||||
&& 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 \
|
||||
&& curl -sS "https://packages.blackfire.io/gpg.key" 2>/dev/null | APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key add - \
|
||||
@@ -50,6 +51,7 @@ RUN set -eux \
|
||||
&& 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 - \
|
||||
&& 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 install -qq -y --no-install-recommends --no-install-suggests \
|
||||
ack-grep \
|
||||
@@ -125,9 +127,10 @@ RUN set -eux \
|
||||
### Install custom software
|
||||
###
|
||||
RUN set -eux \
|
||||
# composer
|
||||
# -------------------- composer --------------------
|
||||
&& curl -sS 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 install -qq -y --no-install-recommends --no-install-suggests \
|
||||
libpython-dev \
|
||||
@@ -136,7 +139,8 @@ RUN set -eux \
|
||||
\
|
||||
&& curl -sS https://bootstrap.pypa.io/get-pip.py | python \
|
||||
\
|
||||
# nvm
|
||||
\
|
||||
# -------------------- nvm --------------------
|
||||
&& git clone https://github.com/creationix/nvm /opt/nvm \
|
||||
&& cd /opt/nvm \
|
||||
&& git checkout "$(git describe --abbrev=0 --tags --match "v[0-9]*" $(git rev-list --tags --max-count=1))" \
|
||||
@@ -153,7 +157,8 @@ RUN set -eux \
|
||||
&& su -c '. /opt/nvm/nvm.sh; nvm install --lts' devilbox \
|
||||
&& su -c '. /opt/nvm/nvm.sh; nvm use node' devilbox \
|
||||
\
|
||||
# awesomeci
|
||||
\
|
||||
# -------------------- awesomeci --------------------
|
||||
&& git clone https://github.com/cytopia/awesome-ci.git /usr/local/src/awesome-ci \
|
||||
&& cd /usr/local/src/awesome-ci \
|
||||
&& git checkout $(git describe --abbrev=0 --tags) \
|
||||
@@ -162,10 +167,12 @@ RUN set -eux \
|
||||
&& cd / \
|
||||
&& rm -rf /usr/local/src/awesome-ci \
|
||||
\
|
||||
# deployer
|
||||
\
|
||||
# -------------------- deployer --------------------
|
||||
&& curl -sS https://deployer.org/releases/v3.3.0/deployer.phar -L -o /usr/local/bin/dep \
|
||||
&& chmod +x /usr/local/bin/dep \
|
||||
# drush7
|
||||
\
|
||||
# -------------------- drush7 --------------------
|
||||
&& git clone https://github.com/drush-ops/drush.git /usr/local/src/drush7 \
|
||||
&& cd /usr/local/src/drush7 \
|
||||
&& git checkout 7.4.0 \
|
||||
@@ -178,7 +185,8 @@ RUN set -eux \
|
||||
&& rm -rf /usr/local/src/drush7/examples \
|
||||
&& rm -rf /usr/local/src/drush7/misc \
|
||||
\
|
||||
# drush8
|
||||
\
|
||||
# -------------------- drush8 --------------------
|
||||
&& git clone https://github.com/drush-ops/drush.git /usr/local/src/drush8 \
|
||||
&& cd /usr/local/src/drush8 \
|
||||
&& 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' ) \
|
||||
@@ -191,13 +199,15 @@ RUN set -eux \
|
||||
&& rm -rf /usr/local/src/drush8/examples \
|
||||
&& rm -rf /usr/local/src/drush8/misc \
|
||||
\
|
||||
# gitflow
|
||||
\
|
||||
# -------------------- gitflow --------------------
|
||||
&& git clone git://github.com/petervanderdoes/gitflow.git /tmp/gitflow \
|
||||
&& cd /tmp/gitflow \
|
||||
&& make install \
|
||||
&& cd / && rm -rf /tmp/gitflow \
|
||||
\
|
||||
# laravel
|
||||
\
|
||||
# -------------------- laravel --------------------
|
||||
&& git clone https://github.com/laravel/installer /usr/local/src/laravel-installer \
|
||||
&& cd /usr/local/src/laravel-installer \
|
||||
&& git checkout v1.3.7 \
|
||||
@@ -207,11 +217,13 @@ RUN set -eux \
|
||||
&& ln -s /usr/local/src/laravel-installer/laravel /usr/local/bin/laravel \
|
||||
&& rm -rf /usr/local/src/laravel-installer/laravel/.git \
|
||||
\
|
||||
# linkcheck
|
||||
\
|
||||
# -------------------- linkcheck --------------------
|
||||
&& curl https://raw.githubusercontent.com/cytopia/linkcheck/master/linkcheck > /usr/local/bin/linkcheck \
|
||||
&& chmod +x /usr/local/bin/linkcheck \
|
||||
\
|
||||
# linuxbrew
|
||||
\
|
||||
# -------------------- linuxbrew --------------------
|
||||
&& git clone https://github.com/Linuxbrew/brew.git /usr/local/src/linuxbrew \
|
||||
&& chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/linuxbrew \
|
||||
&& v="${BASH_PROFILE}" su ${MY_USER} -c -p \
|
||||
@@ -222,12 +234,14 @@ RUN set -eux \
|
||||
'echo "export INFOPATH=/usr/local/src/linuxbrew/share/man:${INFOPATH}" >> /home/devilbox/${v}' \
|
||||
&& su - ${MY_USER} -c '/usr/local/src/linuxbrew/bin/brew config' \
|
||||
\
|
||||
# mhsendmail
|
||||
\
|
||||
# -------------------- mhsendmail --------------------
|
||||
&& wget https://github.com/mailhog/mhsendmail/releases/download/v0.2.0/mhsendmail_linux_amd64 \
|
||||
&& chmod +x mhsendmail_linux_amd64 \
|
||||
&& mv mhsendmail_linux_amd64 /usr/local/bin/mhsendmail \
|
||||
\
|
||||
# mysqldumpsecure
|
||||
\
|
||||
# -------------------- mysqldumpsecure --------------------
|
||||
&& git clone https://github.com/cytopia/mysqldump-secure.git /usr/local/src/mysqldump-secure \
|
||||
&& cd /usr/local/src/mysqldump-secure \
|
||||
&& git checkout $(git describe --abbrev=0 --tags) \
|
||||
@@ -249,7 +263,8 @@ RUN set -eux \
|
||||
&& cd / \
|
||||
&& rm -rf /usr/local/src/mysqldump-secure \
|
||||
\
|
||||
# phalcon
|
||||
\
|
||||
# -------------------- phalcon --------------------
|
||||
&& git clone https://github.com/phalcon/phalcon-devtools /usr/local/src/phalcon-devtools \
|
||||
&& cd /usr/local/src/phalcon-devtools \
|
||||
&& git checkout v2.0.9 \
|
||||
@@ -260,26 +275,32 @@ RUN set -eux \
|
||||
&& 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 \
|
||||
&& 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 \
|
||||
&& 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 \
|
||||
&& chmod +x /usr/local/bin/php-cs-fixer \
|
||||
\
|
||||
# phpunit
|
||||
\
|
||||
# -------------------- phpunit --------------------
|
||||
&& curl -qL https://phar.phpunit.de/phpunit-4.phar > /usr/local/bin/phpunit 2>/dev/null \
|
||||
&& chmod +x /usr/local/bin/phpunit \
|
||||
\
|
||||
# symfony
|
||||
\
|
||||
# -------------------- symfony --------------------
|
||||
&& curl https://symfony.com/installer -L -o /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 )" \
|
||||
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
|
||||
@@ -291,10 +312,12 @@ RUN set -eux \
|
||||
&& DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false apt-utils \
|
||||
&& rm -rf /var/lib/apt/lists/* \
|
||||
\
|
||||
# wpcli
|
||||
\
|
||||
# -------------------- wpcli --------------------
|
||||
&& curl 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 \
|
||||
# cleanup
|
||||
\
|
||||
# -------------------- cleanup --------------------
|
||||
&& rm -rf /home/${MY_USER}/.*json \
|
||||
&& rm -rf /home/${MY_USER}/.cache \
|
||||
&& rm -rf /home/${MY_USER}/.composer \
|
||||
@@ -314,6 +337,7 @@ RUN set -eux \
|
||||
&& rm -rf /tmp/* \
|
||||
&& (rm -rf /tmp/.* || true) \
|
||||
\
|
||||
\
|
||||
\
|
||||
&& (rm -rf /root/.gem || true ) \
|
||||
&& (rm -rf /root/.cache || true) \
|
||||
@@ -335,12 +359,14 @@ RUN set -eux \
|
||||
### Install Composer (PHP)
|
||||
###
|
||||
RUN set -eux \
|
||||
# codeception
|
||||
# -------------------- codeception --------------------
|
||||
&& COMPOSER_HOME="/usr/local/src/composer" composer global require codeception/codeception \
|
||||
&& 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 \
|
||||
\
|
||||
\
|
||||
&& rm -rf /tmp/* \
|
||||
&& (rm -rf /tmp/.* || true) \
|
||||
\
|
||||
@@ -353,31 +379,43 @@ RUN set -eux \
|
||||
### Install npm (Node)
|
||||
###
|
||||
RUN set -eux \
|
||||
# angular_cli
|
||||
# -------------------- angular_cli --------------------
|
||||
&& su -c '. /opt/nvm/nvm.sh; npm install -g @angular/cli' devilbox \
|
||||
# eslint
|
||||
\
|
||||
# -------------------- eslint --------------------
|
||||
&& su -c '. /opt/nvm/nvm.sh; npm install -g eslint' devilbox \
|
||||
# grunt
|
||||
\
|
||||
# -------------------- grunt --------------------
|
||||
&& su -c '. /opt/nvm/nvm.sh; npm install -g grunt' devilbox \
|
||||
# grunt_cli
|
||||
\
|
||||
# -------------------- grunt_cli --------------------
|
||||
&& su -c '. /opt/nvm/nvm.sh; npm install -g grunt-cli' devilbox \
|
||||
# gulp
|
||||
\
|
||||
# -------------------- gulp --------------------
|
||||
&& su -c '. /opt/nvm/nvm.sh; npm install -g gulp' devilbox \
|
||||
# jsonlint
|
||||
\
|
||||
# -------------------- jsonlint --------------------
|
||||
&& su -c '. /opt/nvm/nvm.sh; npm install -g jsonlint' devilbox \
|
||||
# pm2
|
||||
\
|
||||
# -------------------- pm2 --------------------
|
||||
&& su -c '. /opt/nvm/nvm.sh; npm install -g pm2' devilbox \
|
||||
# mdlint
|
||||
\
|
||||
# -------------------- mdlint --------------------
|
||||
&& su -c '. /opt/nvm/nvm.sh; npm install -g mdlint' devilbox \
|
||||
# vue_cli
|
||||
\
|
||||
# -------------------- vue_cli --------------------
|
||||
&& su -c '. /opt/nvm/nvm.sh; npm install -g @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 \
|
||||
# webpack
|
||||
\
|
||||
# -------------------- webpack --------------------
|
||||
&& su -c '. /opt/nvm/nvm.sh; npm install -g webpack' devilbox \
|
||||
# webpack_cli
|
||||
\
|
||||
# -------------------- webpack_cli --------------------
|
||||
&& su -c '. /opt/nvm/nvm.sh; npm install -g webpack-cli' devilbox \
|
||||
\
|
||||
\
|
||||
&& ln -sf $(dirname $(su -c '. /opt/nvm/nvm.sh; nvm which current' devilbox))/* /usr/local/bin/ \
|
||||
\
|
||||
&& su -c '. /opt/nvm/nvm.sh; npm cache clear --force' devilbox \
|
||||
@@ -394,17 +432,22 @@ RUN set -eux \
|
||||
### Install gem (Ruby)
|
||||
###
|
||||
RUN set -eux \
|
||||
# mixlib_config
|
||||
# -------------------- mixlib_config --------------------
|
||||
&& gem install mixlib-config -v 2.2.4 \
|
||||
# rb_inotify
|
||||
\
|
||||
# -------------------- rb_inotify --------------------
|
||||
&& gem install rb-inotify -v 0.9.10 \
|
||||
# mdl
|
||||
&& gem install mdl \
|
||||
# scss_lint
|
||||
\
|
||||
# -------------------- mdl --------------------
|
||||
&& gem install mdl -v 0.5.0 \
|
||||
\
|
||||
# -------------------- scss_lint --------------------
|
||||
&& gem install scss_lint -v 0.57.1 \
|
||||
# sass
|
||||
\
|
||||
# -------------------- sass --------------------
|
||||
&& gem install sass \
|
||||
\
|
||||
\
|
||||
&& rm -rf /root/.gem \
|
||||
&& rm -rf /tmp/* \
|
||||
&& (rm -rf /tmp/.* || true) \
|
||||
@@ -418,13 +461,16 @@ RUN set -eux \
|
||||
### Install pip (Python) packages
|
||||
###
|
||||
RUN set -eux \
|
||||
# ansible
|
||||
# -------------------- ansible --------------------
|
||||
&& pip install --no-cache-dir --force-reinstall ansible \
|
||||
# yamllint
|
||||
\
|
||||
# -------------------- yamllint --------------------
|
||||
&& pip install --no-cache-dir --force-reinstall yamllint \
|
||||
# yq
|
||||
\
|
||||
# -------------------- yq --------------------
|
||||
&& pip install --no-cache-dir --force-reinstall yq \
|
||||
\
|
||||
\
|
||||
&& rm -rf /root/.cache/pip \
|
||||
&& rm -rf /tmp/* \
|
||||
&& (rm -rf /tmp/.* || true) \
|
||||
@@ -474,15 +520,10 @@ RUN set -eux \
|
||||
&& rm -f /usr/local/etc/php/php.ini
|
||||
|
||||
RUN set -eux \
|
||||
# -------------------- Software --------------------
|
||||
&& composer --version 2>/dev/null | grep -E 'version\s*[.0-9]+' \
|
||||
&& su -c '. /opt/nvm/nvm.sh; nvm --version' devilbox | grep -E '^[.0-9]+' \
|
||||
&& mdl --version | grep -E '[.0-9]+' \
|
||||
&& scss-lint --version | grep -E '[.0-9]+' \
|
||||
&& eslint -v | grep -E '[.0-9]+' \
|
||||
&& jsonlint --version | grep -E '[.0-9]+' \
|
||||
&& mdlint --version | grep -E '[.0-9]+' \
|
||||
&& gulp --version | grep -E '[.0-9]+' \
|
||||
\
|
||||
&& regex-grep --version | grep -E '[.0-9]+' \
|
||||
&& dep --version 2>/dev/null | grep -Ei 'deployer\s*(version\s*)?[.0-9]+' \
|
||||
&& drush7 --version | grep -E '7[.0-9]+\s*$' \
|
||||
&& drush8 --version | grep -E '8[.0-9]+\s*$' \
|
||||
@@ -499,13 +540,16 @@ RUN set -eux \
|
||||
&& symfony --version | grep -E 'version\s*[.0-9]+' \
|
||||
&& wkhtmltopdf --version | grep -E "^wkhtmltopdf [.0-9]+\s+\(.+patched.+\)" \
|
||||
&& wp --allow-root --version | grep -E '[.0-9]+' \
|
||||
\
|
||||
\
|
||||
# -------------------- Composer --------------------
|
||||
&& codecept --version 2>/dev/null | grep -E '^Codeception(\sversion)?\s[.0-9]+$' \
|
||||
\
|
||||
\
|
||||
# -------------------- PIP --------------------
|
||||
&& ansible --version | grep -E '^ansible [.0-9]+$' \
|
||||
&& yamllint --version 2>&1 | grep -E '[.0-9]+' \
|
||||
&& yq --version 2>&1 | grep -E '^yq\s+[.0-9]+$' \
|
||||
\
|
||||
\
|
||||
# -------------------- NPM --------------------
|
||||
&& ng version 2>&1 | grep -iE 'Angular CLI:\s*[.0-9]+' \
|
||||
&& eslint -v | grep -E '[.0-9]+' \
|
||||
&& grunt --version | grep -E '[.0-9]+' \
|
||||
@@ -515,10 +559,12 @@ RUN set -eux \
|
||||
&& mdlint --version | grep -E '[.0-9]+' \
|
||||
&& vue --version | grep -E '[.0-9]+' \
|
||||
&& webpack --version | grep -E '[.0-9]+' \
|
||||
\
|
||||
\
|
||||
# -------------------- GEM --------------------
|
||||
&& mdl --version | grep -E '[.0-9]+' \
|
||||
&& sass --version | grep -E '[.0-9]+' \
|
||||
\
|
||||
\
|
||||
# -------------------- Cleanup --------------------
|
||||
&& rm -rf /home/devilbox/.config/ \
|
||||
&& rm -rf /root/.ansible \
|
||||
&& rm -rf /root/.console \
|
||||
|
||||
Reference in New Issue
Block a user