mirror of
https://github.com/devilbox/docker-php-fpm.git
synced 2025-12-14 04:51:15 +00:00
Finish tools for work container
This commit is contained in:
@@ -86,12 +86,27 @@ RUN set -x \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
|
||||
|
||||
RUN set -x \
|
||||
# composer
|
||||
RUN set -x true \
|
||||
&& curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer \
|
||||
&& true
|
||||
# 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) \
|
||||
&& ./configure --prefix=/usr/local \
|
||||
&& make install \
|
||||
&& cd / \
|
||||
&& rm -rf /usr/local/src/awesome-ci \
|
||||
\
|
||||
&& gem install mixlib-config -v 2.2.4 \
|
||||
&& gem install mdl \
|
||||
&& gem install scss_lint \
|
||||
&& npm install -g eslint \
|
||||
&& npm install -g jsonlint \
|
||||
&& npm install -g mdlint \
|
||||
&& npm install -g gulp \
|
||||
\
|
||||
# drush
|
||||
RUN set -x true \
|
||||
&& git clone https://github.com/drush-ops/drush.git /usr/local/src/drush \
|
||||
&& cd /usr/local/src/drush \
|
||||
&& git checkout $(git for-each-ref --format='%(*creatordate:raw)%(creatordate:raw) %(refname)' refs/tags | sort -n | sed 's/^.*tags\///g' | grep ^8 | tail -1) \
|
||||
@@ -104,21 +119,10 @@ RUN set -x true \
|
||||
&& rm -rf /usr/local/src/drush/examples \
|
||||
&& rm -rf /usr/local/src/drush/misc \
|
||||
&& rm -rf /usr/local/src/drush/tests \
|
||||
&& rm -rf /home/${MY_USER}/.composer \
|
||||
\
|
||||
&& true
|
||||
# wpcli
|
||||
RUN set -x true \
|
||||
&& 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 \
|
||||
&& true
|
||||
# symfony
|
||||
RUN set -x true \
|
||||
&& curl https://symfony.com/installer -L -o /usr/local/bin/symfony \
|
||||
&& chmod +x /usr/local/bin/symfony \
|
||||
&& true
|
||||
# grunt
|
||||
&& npm install -g grunt grunt-cli \
|
||||
# laravel
|
||||
RUN set -x true \
|
||||
&& git clone https://github.com/laravel/installer /usr/local/src/laravel-installer \
|
||||
&& cd /usr/local/src/laravel-installer \
|
||||
&& git checkout v1.3.7 \
|
||||
@@ -128,9 +132,41 @@ RUN set -x true \
|
||||
&& ln -s /usr/local/src/laravel-installer/laravel /usr/local/bin/laravel \
|
||||
&& rm -rf /usr/local/src/laravel-installer/laravel/.git \
|
||||
\
|
||||
&& true
|
||||
# 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 \
|
||||
'echo "PATH=/usr/local/src/linuxbrew/bin:/usr/local/src/linuxbrew/sbin:/usr/bin:/usr/sbin:/bin:/sbin" >> /home/devilbox/${v}' \
|
||||
&& v="${BASH_PROFILE}" su ${MY_USER} -c -p \
|
||||
'echo "export MANPATH=/usr/local/src/linuxbrew/share/man:${MANPATH}" >> /home/devilbox/${v}' \
|
||||
&& v="${BASH_PROFILE}" su ${MY_USER} -c -p \
|
||||
'echo "export INFOPATH=/usr/local/src/linuxbrew/share/man:${INFOPATH}" >> /home/devilbox/${v}' \
|
||||
&& su - ${MY_USER} -c '/usr/local/src/linuxbrew/bin/brew update' \
|
||||
&& su - ${MY_USER} -c '/usr/local/src/linuxbrew/bin/brew config' \
|
||||
\
|
||||
# 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) \
|
||||
&& cp /usr/local/src/mysqldump-secure/bin/mysqldump-secure /usr/local/bin \
|
||||
&& cp /usr/local/src/mysqldump-secure/etc/mysqldump-secure.conf /etc \
|
||||
&& cp /usr/local/src/mysqldump-secure/etc/mysqldump-secure.cnf /etc \
|
||||
&& touch /var/log/mysqldump-secure.log \
|
||||
&& chown ${MY_USER}:${MY_GROUP} /etc/mysqldump-secure.* \
|
||||
&& chown ${MY_USER}:${MY_GROUP} /var/log/mysqldump-secure.log \
|
||||
&& chmod 0400 /etc/mysqldump-secure.conf \
|
||||
&& chmod 0400 /etc/mysqldump-secure.cnf \
|
||||
&& chmod 0644 /var/log/mysqldump-secure.log \
|
||||
&& sed -i'' 's/^COMPRESS_ARG=.*/COMPRESS_ARG="-9 -c"/g' /etc/mysqldump-secure.conf \
|
||||
&& sed -i'' 's/^DUMP_DIR=.*/DUMP_DIR="\/shared\/backups\/mysql"/g' /etc/mysqldump-secure.conf \
|
||||
&& sed -i'' 's/^DUMP_DIR_CHMOD=.*/DUMP_DIR_CHMOD="0755"/g' /etc/mysqldump-secure.conf \
|
||||
&& sed -i'' 's/^DUMP_FILE_CHMOD=.*/DUMP_FILE_CHMOD="0644"/g' /etc/mysqldump-secure.conf \
|
||||
&& sed -i'' 's/^LOG_CHMOD=.*/LOG_CHMOD="0644"/g' /etc/mysqldump-secure.conf \
|
||||
&& sed -i'' 's/^NAGIOS_LOG=.*/NAGIOS_LOG=0/g' /etc/mysqldump-secure.conf \
|
||||
&& cd / \
|
||||
&& rm -rf /usr/local/src/mysqldump-secure \
|
||||
\
|
||||
# phalcon
|
||||
RUN set -x true \
|
||||
&& git clone https://github.com/phalcon/phalcon-devtools /usr/local/src/phalcon-devtools \
|
||||
&& cd /usr/local/src/phalcon-devtools \
|
||||
&& git checkout v2.0.9 \
|
||||
@@ -140,112 +176,57 @@ RUN set -x true \
|
||||
&& ln -s /usr/local/src/phalcon-devtools/phalcon.php /usr/local/bin/phalcon \
|
||||
&& cd / \
|
||||
&& rm -rf /usr/local/src/phalcon-devtools/.git \
|
||||
\
|
||||
# symfony
|
||||
&& curl https://symfony.com/installer -L -o /usr/local/bin/symfony \
|
||||
&& chmod +x /usr/local/bin/symfony \
|
||||
# webpack
|
||||
&& npm install -g webpack webpack-cli \
|
||||
# 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
|
||||
&& rm -rf /home/${MY_USER}/.*json \
|
||||
&& rm -rf /home/${MY_USER}/.cache \
|
||||
&& rm -rf /home/${MY_USER}/.composer \
|
||||
&& rm -rf /home/${MY_USER}/.config \
|
||||
&& rm -rf /home/${MY_USER}/.drush \
|
||||
&& rm -rf /home/${MY_USER}/.gem \
|
||||
&& rm -rf /home/${MY_USER}/.npm \
|
||||
&& rm -rf /home/${MY_USER}/.subversion \
|
||||
\
|
||||
&& rm -rf /root/.*json \
|
||||
&& rm -rf /root/.cache \
|
||||
&& rm -rf /root/.composer \
|
||||
&& rm -rf /root/.config \
|
||||
&& rm -rf /root/.drush \
|
||||
&& rm -rf /root/.gem \
|
||||
&& rm -rf /root/.npm \
|
||||
&& rm -rf /root/.subversion \
|
||||
\
|
||||
&& rm -rf /tmp/* \
|
||||
\
|
||||
&& true
|
||||
|
||||
## Mysqldump-secure
|
||||
#RUN set -x \
|
||||
# && mkdir -p /usr/local/src \
|
||||
# && 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) \
|
||||
# && cp /usr/local/src/mysqldump-secure/bin/mysqldump-secure /usr/local/bin \
|
||||
# && cp /usr/local/src/mysqldump-secure/etc/mysqldump-secure.conf /etc \
|
||||
# && cp /usr/local/src/mysqldump-secure/etc/mysqldump-secure.cnf /etc \
|
||||
# && touch /var/log/mysqldump-secure.log \
|
||||
# && chown ${MY_USER}:${MY_GROUP} /etc/mysqldump-secure.* \
|
||||
# && chown ${MY_USER}:${MY_GROUP} /var/log/mysqldump-secure.log \
|
||||
# && chmod 0400 /etc/mysqldump-secure.conf \
|
||||
# && chmod 0400 /etc/mysqldump-secure.cnf \
|
||||
# && chmod 0644 /var/log/mysqldump-secure.log \
|
||||
# && sed -i'' 's/^COMPRESS_ARG=.*/COMPRESS_ARG="-9 -c"/g' /etc/mysqldump-secure.conf \
|
||||
# && sed -i'' 's/^DUMP_DIR=.*/DUMP_DIR="\/shared\/backups\/mysql"/g' /etc/mysqldump-secure.conf \
|
||||
# && sed -i'' 's/^DUMP_DIR_CHMOD=.*/DUMP_DIR_CHMOD="0755"/g' /etc/mysqldump-secure.conf \
|
||||
# && sed -i'' 's/^DUMP_FILE_CHMOD=.*/DUMP_FILE_CHMOD="0644"/g' /etc/mysqldump-secure.conf \
|
||||
# && sed -i'' 's/^LOG_CHMOD=.*/LOG_CHMOD="0644"/g' /etc/mysqldump-secure.conf \
|
||||
# && sed -i'' 's/^NAGIOS_LOG=.*/NAGIOS_LOG=0/g' /etc/mysqldump-secure.conf \
|
||||
# \
|
||||
# && cd / \
|
||||
# && rm -rf /usr/local/src/mysqldump-secure \
|
||||
# && mysqldump-secure --version | grep -E 'Version:\s*[.0-9]+'
|
||||
#
|
||||
## Awesome-CI
|
||||
#RUN set -x \
|
||||
# && mkdir -p /usr/local/src \
|
||||
# && 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) \
|
||||
# && ./configure --prefix=/usr/local \
|
||||
# && make install \
|
||||
# && cd / \
|
||||
# && rm -rf /usr/local/src/awesome-ci
|
||||
#
|
||||
## Awesome-CI requirements
|
||||
#RUN set -x \
|
||||
# && gem install mdl \
|
||||
# && gem install scss_lint \
|
||||
# && npm install -g eslint \
|
||||
# && npm install -g jsonlint \
|
||||
# && npm install -g mdlint \
|
||||
# && npm install -g gulp \
|
||||
# && rm -rf /root/.gem \
|
||||
# && rm -rf /root/.npm \
|
||||
# && rm -rf /root/.config \
|
||||
# && rm -rf /tmp/*
|
||||
#
|
||||
## Grunt
|
||||
#RUN set -x \
|
||||
# && npm install -g grunt \
|
||||
# && npm install -g grunt-cli \
|
||||
# && /usr/local/node/bin/grunt --version | grep -E 'v[.0-9]+' \
|
||||
# && rm -rf /root/.npm \
|
||||
# && rm -rf /root/.config \
|
||||
# && rm -rf /tmp/*
|
||||
#
|
||||
## Webpack
|
||||
#RUN set -x \
|
||||
# && npm install -g --save-dev webpack \
|
||||
# && /usr/local/node/bin/webpack --version | grep -E '[.0-9]+' \
|
||||
# && rm -rf /root/.npm \
|
||||
# && rm -rf /root/.config \
|
||||
# && rm -rf /tmp/*
|
||||
#
|
||||
## Linuxbrew
|
||||
#RUN set -x \
|
||||
# && mkdir -p /usr/local/src \
|
||||
# && 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 \
|
||||
# 'echo "PATH=/usr/local/src/linuxbrew/bin:/usr/local/src/linuxbrew/sbin:/usr/bin:/usr/sbin:/bin:/sbin" >> /home/devilbox/${v}' \
|
||||
# && v="${BASH_PROFILE}" su ${MY_USER} -c -p \
|
||||
# 'echo "export MANPATH=/usr/local/src/linuxbrew/share/man:${MANPATH}" >> /home/devilbox/${v}' \
|
||||
# && v="${BASH_PROFILE}" su ${MY_USER} -c -p \
|
||||
# 'echo "export INFOPATH=/usr/local/src/linuxbrew/share/man:${INFOPATH}" >> /home/devilbox/${v}' \
|
||||
# && su - ${MY_USER} -c '/usr/local/src/linuxbrew/bin/brew update' \
|
||||
# && su - ${MY_USER} -c '/usr/local/src/linuxbrew/bin/brew config' | grep -E 'HOMEBREW_VERSION:\s*[.0-9]+' \
|
||||
# && rm -rf /home/${MY_USER}/.cache
|
||||
#
|
||||
#
|
||||
#
|
||||
####
|
||||
#### Configure Bash
|
||||
####
|
||||
#RUN \
|
||||
# { \
|
||||
# echo "PATH=\${PATH}:/usr/local/bin:/usr/local/sbin:/usr/local/node/bin"; \
|
||||
# echo "export PATH"; \
|
||||
# echo ". /etc/bash-devilbox"; \
|
||||
# echo "if [ -d /etc/bash-custom.d/ ]; then"; \
|
||||
# echo " for f in /etc/bash-custom.d/*.sh ; do"; \
|
||||
# echo " if [ -r \"\${f}\" ]; then"; \
|
||||
# echo " . \"\${f}\""; \
|
||||
# echo " fi"; \
|
||||
# echo " done"; \
|
||||
# echo " unset f"; \
|
||||
# echo "fi"; \
|
||||
# } | tee -a /home/${MY_USER}/${BASH_PROFILE} /root/${BASH_PROFILE} \
|
||||
# && chown ${MY_USER}:${MY_GROUP} /home/${MY_USER}/${BASH_PROFILE}
|
||||
#
|
||||
|
||||
###
|
||||
### Configure Bash
|
||||
###
|
||||
RUN \
|
||||
{ \
|
||||
echo "PATH=\${PATH}:/usr/local/bin:/usr/local/sbin:/usr/local/node/bin"; \
|
||||
echo "export PATH"; \
|
||||
echo ". /etc/bash-devilbox"; \
|
||||
echo "if [ -d /etc/bash-custom.d/ ]; then"; \
|
||||
echo " for f in /etc/bash-custom.d/*.sh ; do"; \
|
||||
echo " if [ -r \"\${f}\" ]; then"; \
|
||||
echo " . \"\${f}\""; \
|
||||
echo " fi"; \
|
||||
echo " done"; \
|
||||
echo " unset f"; \
|
||||
echo "fi"; \
|
||||
} | tee -a /home/${MY_USER}/${BASH_PROFILE} /root/${BASH_PROFILE} \
|
||||
&& chown ${MY_USER}:${MY_GROUP} /home/${MY_USER}/${BASH_PROFILE}
|
||||
|
||||
|
||||
###
|
||||
@@ -258,12 +239,23 @@ RUN set -x \
|
||||
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi
|
||||
|
||||
RUN set -x \
|
||||
&& composer --version 2>/dev/null | grep -E 'version\s*[.0-9]+' && rm -rf /root/.composer \
|
||||
&& drush --version | grep -E '[.0-9]+' && rm -rf /root/.drush \
|
||||
&& wp --allow-root --version | grep -E '[.0-9]+' \
|
||||
&& symfony --version | grep -E 'version\s*[.0-9]+' \
|
||||
&& composer --version 2>/dev/null | grep -E 'version\s*[.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]+' \
|
||||
\
|
||||
&& drush --version | grep -E '[.0-9]+' \
|
||||
&& grunt --version | grep -E '[.0-9]+' \
|
||||
&& laravel --version | grep -E '(Installer|version)\s*[.0-9]+' \
|
||||
&& su - ${MY_USER} -c '/usr/local/src/linuxbrew/bin/brew --version' | grep -E 'Homebrew\s*[.0-9]+' \
|
||||
&& mysqldump-secure --version | grep -E 'Version:\s*[.0-9]+' \
|
||||
&& phalcon commands | grep -E '[.0-9]+' \
|
||||
&& symfony --version | grep -E 'version\s*[.0-9]+' \
|
||||
&& webpack --version | grep -E '[.0-9]+' \
|
||||
&& wp --allow-root --version | grep -E '[.0-9]+' \
|
||||
&& true
|
||||
|
||||
|
||||
@@ -276,7 +268,6 @@ COPY ./data/bash-devilbox /etc/bash-devilbox
|
||||
COPY ./data/sudo-devilbox /etc/sudoers.d/devilbox
|
||||
|
||||
|
||||
|
||||
###
|
||||
### Volumes
|
||||
###
|
||||
@@ -288,7 +279,6 @@ VOLUME /var/log/php
|
||||
VOLUME /var/mail
|
||||
|
||||
|
||||
|
||||
###
|
||||
### Ports
|
||||
###
|
||||
|
||||
@@ -86,12 +86,27 @@ RUN set -x \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
|
||||
|
||||
RUN set -x \
|
||||
# composer
|
||||
RUN set -x true \
|
||||
&& curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer \
|
||||
&& true
|
||||
# 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) \
|
||||
&& ./configure --prefix=/usr/local \
|
||||
&& make install \
|
||||
&& cd / \
|
||||
&& rm -rf /usr/local/src/awesome-ci \
|
||||
\
|
||||
&& gem install mixlib-config -v 2.2.4 \
|
||||
&& gem install mdl \
|
||||
&& gem install scss_lint \
|
||||
&& npm install -g eslint \
|
||||
&& npm install -g jsonlint \
|
||||
&& npm install -g mdlint \
|
||||
&& npm install -g gulp \
|
||||
\
|
||||
# drush
|
||||
RUN set -x true \
|
||||
&& git clone https://github.com/drush-ops/drush.git /usr/local/src/drush \
|
||||
&& cd /usr/local/src/drush \
|
||||
&& git checkout $(git for-each-ref --format='%(*creatordate:raw)%(creatordate:raw) %(refname)' refs/tags | sort -n | sed 's/^.*tags\///g' | grep ^8 | tail -1) \
|
||||
@@ -104,26 +119,13 @@ RUN set -x true \
|
||||
&& rm -rf /usr/local/src/drush/examples \
|
||||
&& rm -rf /usr/local/src/drush/misc \
|
||||
&& rm -rf /usr/local/src/drush/tests \
|
||||
&& rm -rf /home/${MY_USER}/.composer \
|
||||
\
|
||||
&& true
|
||||
# drupalconsole
|
||||
RUN set -x true \
|
||||
&& curl https://drupalconsole.com/installer -L -o /usr/local/bin/drupal \
|
||||
&& chmod +x /usr/local/bin/drupal \
|
||||
&& true
|
||||
# wpcli
|
||||
RUN set -x true \
|
||||
&& 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 \
|
||||
&& true
|
||||
# symfony
|
||||
RUN set -x true \
|
||||
&& curl https://symfony.com/installer -L -o /usr/local/bin/symfony \
|
||||
&& chmod +x /usr/local/bin/symfony \
|
||||
&& true
|
||||
# grunt
|
||||
&& npm install -g grunt grunt-cli \
|
||||
# laravel
|
||||
RUN set -x true \
|
||||
&& git clone https://github.com/laravel/installer /usr/local/src/laravel-installer \
|
||||
&& cd /usr/local/src/laravel-installer \
|
||||
&& git checkout v2.0.0 \
|
||||
@@ -133,9 +135,41 @@ RUN set -x true \
|
||||
&& ln -s /usr/local/src/laravel-installer/laravel /usr/local/bin/laravel \
|
||||
&& rm -rf /usr/local/src/laravel-installer/laravel/.git \
|
||||
\
|
||||
&& true
|
||||
# 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 \
|
||||
'echo "PATH=/usr/local/src/linuxbrew/bin:/usr/local/src/linuxbrew/sbin:/usr/bin:/usr/sbin:/bin:/sbin" >> /home/devilbox/${v}' \
|
||||
&& v="${BASH_PROFILE}" su ${MY_USER} -c -p \
|
||||
'echo "export MANPATH=/usr/local/src/linuxbrew/share/man:${MANPATH}" >> /home/devilbox/${v}' \
|
||||
&& v="${BASH_PROFILE}" su ${MY_USER} -c -p \
|
||||
'echo "export INFOPATH=/usr/local/src/linuxbrew/share/man:${INFOPATH}" >> /home/devilbox/${v}' \
|
||||
&& su - ${MY_USER} -c '/usr/local/src/linuxbrew/bin/brew update' \
|
||||
&& su - ${MY_USER} -c '/usr/local/src/linuxbrew/bin/brew config' \
|
||||
\
|
||||
# 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) \
|
||||
&& cp /usr/local/src/mysqldump-secure/bin/mysqldump-secure /usr/local/bin \
|
||||
&& cp /usr/local/src/mysqldump-secure/etc/mysqldump-secure.conf /etc \
|
||||
&& cp /usr/local/src/mysqldump-secure/etc/mysqldump-secure.cnf /etc \
|
||||
&& touch /var/log/mysqldump-secure.log \
|
||||
&& chown ${MY_USER}:${MY_GROUP} /etc/mysqldump-secure.* \
|
||||
&& chown ${MY_USER}:${MY_GROUP} /var/log/mysqldump-secure.log \
|
||||
&& chmod 0400 /etc/mysqldump-secure.conf \
|
||||
&& chmod 0400 /etc/mysqldump-secure.cnf \
|
||||
&& chmod 0644 /var/log/mysqldump-secure.log \
|
||||
&& sed -i'' 's/^COMPRESS_ARG=.*/COMPRESS_ARG="-9 -c"/g' /etc/mysqldump-secure.conf \
|
||||
&& sed -i'' 's/^DUMP_DIR=.*/DUMP_DIR="\/shared\/backups\/mysql"/g' /etc/mysqldump-secure.conf \
|
||||
&& sed -i'' 's/^DUMP_DIR_CHMOD=.*/DUMP_DIR_CHMOD="0755"/g' /etc/mysqldump-secure.conf \
|
||||
&& sed -i'' 's/^DUMP_FILE_CHMOD=.*/DUMP_FILE_CHMOD="0644"/g' /etc/mysqldump-secure.conf \
|
||||
&& sed -i'' 's/^LOG_CHMOD=.*/LOG_CHMOD="0644"/g' /etc/mysqldump-secure.conf \
|
||||
&& sed -i'' 's/^NAGIOS_LOG=.*/NAGIOS_LOG=0/g' /etc/mysqldump-secure.conf \
|
||||
&& cd / \
|
||||
&& rm -rf /usr/local/src/mysqldump-secure \
|
||||
\
|
||||
# phalcon
|
||||
RUN set -x true \
|
||||
&& 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) \
|
||||
@@ -145,112 +179,57 @@ RUN set -x true \
|
||||
&& ln -s /usr/local/src/phalcon-devtools/phalcon.php /usr/local/bin/phalcon \
|
||||
&& cd / \
|
||||
&& rm -rf /usr/local/src/phalcon-devtools/.git \
|
||||
\
|
||||
# symfony
|
||||
&& curl https://symfony.com/installer -L -o /usr/local/bin/symfony \
|
||||
&& chmod +x /usr/local/bin/symfony \
|
||||
# webpack
|
||||
&& npm install -g webpack webpack-cli \
|
||||
# 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
|
||||
&& rm -rf /home/${MY_USER}/.*json \
|
||||
&& rm -rf /home/${MY_USER}/.cache \
|
||||
&& rm -rf /home/${MY_USER}/.composer \
|
||||
&& rm -rf /home/${MY_USER}/.config \
|
||||
&& rm -rf /home/${MY_USER}/.drush \
|
||||
&& rm -rf /home/${MY_USER}/.gem \
|
||||
&& rm -rf /home/${MY_USER}/.npm \
|
||||
&& rm -rf /home/${MY_USER}/.subversion \
|
||||
\
|
||||
&& rm -rf /root/.*json \
|
||||
&& rm -rf /root/.cache \
|
||||
&& rm -rf /root/.composer \
|
||||
&& rm -rf /root/.config \
|
||||
&& rm -rf /root/.drush \
|
||||
&& rm -rf /root/.gem \
|
||||
&& rm -rf /root/.npm \
|
||||
&& rm -rf /root/.subversion \
|
||||
\
|
||||
&& rm -rf /tmp/* \
|
||||
\
|
||||
&& true
|
||||
|
||||
## Mysqldump-secure
|
||||
#RUN set -x \
|
||||
# && mkdir -p /usr/local/src \
|
||||
# && 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) \
|
||||
# && cp /usr/local/src/mysqldump-secure/bin/mysqldump-secure /usr/local/bin \
|
||||
# && cp /usr/local/src/mysqldump-secure/etc/mysqldump-secure.conf /etc \
|
||||
# && cp /usr/local/src/mysqldump-secure/etc/mysqldump-secure.cnf /etc \
|
||||
# && touch /var/log/mysqldump-secure.log \
|
||||
# && chown ${MY_USER}:${MY_GROUP} /etc/mysqldump-secure.* \
|
||||
# && chown ${MY_USER}:${MY_GROUP} /var/log/mysqldump-secure.log \
|
||||
# && chmod 0400 /etc/mysqldump-secure.conf \
|
||||
# && chmod 0400 /etc/mysqldump-secure.cnf \
|
||||
# && chmod 0644 /var/log/mysqldump-secure.log \
|
||||
# && sed -i'' 's/^COMPRESS_ARG=.*/COMPRESS_ARG="-9 -c"/g' /etc/mysqldump-secure.conf \
|
||||
# && sed -i'' 's/^DUMP_DIR=.*/DUMP_DIR="\/shared\/backups\/mysql"/g' /etc/mysqldump-secure.conf \
|
||||
# && sed -i'' 's/^DUMP_DIR_CHMOD=.*/DUMP_DIR_CHMOD="0755"/g' /etc/mysqldump-secure.conf \
|
||||
# && sed -i'' 's/^DUMP_FILE_CHMOD=.*/DUMP_FILE_CHMOD="0644"/g' /etc/mysqldump-secure.conf \
|
||||
# && sed -i'' 's/^LOG_CHMOD=.*/LOG_CHMOD="0644"/g' /etc/mysqldump-secure.conf \
|
||||
# && sed -i'' 's/^NAGIOS_LOG=.*/NAGIOS_LOG=0/g' /etc/mysqldump-secure.conf \
|
||||
# \
|
||||
# && cd / \
|
||||
# && rm -rf /usr/local/src/mysqldump-secure \
|
||||
# && mysqldump-secure --version | grep -E 'Version:\s*[.0-9]+'
|
||||
#
|
||||
## Awesome-CI
|
||||
#RUN set -x \
|
||||
# && mkdir -p /usr/local/src \
|
||||
# && 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) \
|
||||
# && ./configure --prefix=/usr/local \
|
||||
# && make install \
|
||||
# && cd / \
|
||||
# && rm -rf /usr/local/src/awesome-ci
|
||||
#
|
||||
## Awesome-CI requirements
|
||||
#RUN set -x \
|
||||
# && gem install mdl \
|
||||
# && gem install scss_lint \
|
||||
# && npm install -g eslint \
|
||||
# && npm install -g jsonlint \
|
||||
# && npm install -g mdlint \
|
||||
# && npm install -g gulp \
|
||||
# && rm -rf /root/.gem \
|
||||
# && rm -rf /root/.npm \
|
||||
# && rm -rf /root/.config \
|
||||
# && rm -rf /tmp/*
|
||||
#
|
||||
## Grunt
|
||||
#RUN set -x \
|
||||
# && npm install -g grunt \
|
||||
# && npm install -g grunt-cli \
|
||||
# && /usr/local/node/bin/grunt --version | grep -E 'v[.0-9]+' \
|
||||
# && rm -rf /root/.npm \
|
||||
# && rm -rf /root/.config \
|
||||
# && rm -rf /tmp/*
|
||||
#
|
||||
## Webpack
|
||||
#RUN set -x \
|
||||
# && npm install -g --save-dev webpack \
|
||||
# && /usr/local/node/bin/webpack --version | grep -E '[.0-9]+' \
|
||||
# && rm -rf /root/.npm \
|
||||
# && rm -rf /root/.config \
|
||||
# && rm -rf /tmp/*
|
||||
#
|
||||
## Linuxbrew
|
||||
#RUN set -x \
|
||||
# && mkdir -p /usr/local/src \
|
||||
# && 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 \
|
||||
# 'echo "PATH=/usr/local/src/linuxbrew/bin:/usr/local/src/linuxbrew/sbin:/usr/bin:/usr/sbin:/bin:/sbin" >> /home/devilbox/${v}' \
|
||||
# && v="${BASH_PROFILE}" su ${MY_USER} -c -p \
|
||||
# 'echo "export MANPATH=/usr/local/src/linuxbrew/share/man:${MANPATH}" >> /home/devilbox/${v}' \
|
||||
# && v="${BASH_PROFILE}" su ${MY_USER} -c -p \
|
||||
# 'echo "export INFOPATH=/usr/local/src/linuxbrew/share/man:${INFOPATH}" >> /home/devilbox/${v}' \
|
||||
# && su - ${MY_USER} -c '/usr/local/src/linuxbrew/bin/brew update' \
|
||||
# && su - ${MY_USER} -c '/usr/local/src/linuxbrew/bin/brew config' | grep -E 'HOMEBREW_VERSION:\s*[.0-9]+' \
|
||||
# && rm -rf /home/${MY_USER}/.cache
|
||||
#
|
||||
#
|
||||
#
|
||||
####
|
||||
#### Configure Bash
|
||||
####
|
||||
#RUN \
|
||||
# { \
|
||||
# echo "PATH=\${PATH}:/usr/local/bin:/usr/local/sbin:/usr/local/node/bin"; \
|
||||
# echo "export PATH"; \
|
||||
# echo ". /etc/bash-devilbox"; \
|
||||
# echo "if [ -d /etc/bash-custom.d/ ]; then"; \
|
||||
# echo " for f in /etc/bash-custom.d/*.sh ; do"; \
|
||||
# echo " if [ -r \"\${f}\" ]; then"; \
|
||||
# echo " . \"\${f}\""; \
|
||||
# echo " fi"; \
|
||||
# echo " done"; \
|
||||
# echo " unset f"; \
|
||||
# echo "fi"; \
|
||||
# } | tee -a /home/${MY_USER}/${BASH_PROFILE} /root/${BASH_PROFILE} \
|
||||
# && chown ${MY_USER}:${MY_GROUP} /home/${MY_USER}/${BASH_PROFILE}
|
||||
#
|
||||
|
||||
###
|
||||
### Configure Bash
|
||||
###
|
||||
RUN \
|
||||
{ \
|
||||
echo "PATH=\${PATH}:/usr/local/bin:/usr/local/sbin:/usr/local/node/bin"; \
|
||||
echo "export PATH"; \
|
||||
echo ". /etc/bash-devilbox"; \
|
||||
echo "if [ -d /etc/bash-custom.d/ ]; then"; \
|
||||
echo " for f in /etc/bash-custom.d/*.sh ; do"; \
|
||||
echo " if [ -r \"\${f}\" ]; then"; \
|
||||
echo " . \"\${f}\""; \
|
||||
echo " fi"; \
|
||||
echo " done"; \
|
||||
echo " unset f"; \
|
||||
echo "fi"; \
|
||||
} | tee -a /home/${MY_USER}/${BASH_PROFILE} /root/${BASH_PROFILE} \
|
||||
&& chown ${MY_USER}:${MY_GROUP} /home/${MY_USER}/${BASH_PROFILE}
|
||||
|
||||
|
||||
###
|
||||
@@ -263,13 +242,24 @@ RUN set -x \
|
||||
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi
|
||||
|
||||
RUN set -x \
|
||||
&& composer --version 2>/dev/null | grep -E 'version\s*[.0-9]+' && rm -rf /root/.composer \
|
||||
&& drush --version | grep -E '[.0-9]+' && rm -rf /root/.drush \
|
||||
&& composer --version 2>/dev/null | grep -E 'version\s*[.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]+' \
|
||||
\
|
||||
&& drush --version | grep -E '[.0-9]+' \
|
||||
&& drupal --version | grep -E 'Drupal Console Launcher\s*[.0-9]' \
|
||||
&& wp --allow-root --version | grep -E '[.0-9]+' \
|
||||
&& symfony --version | grep -E 'version\s*[.0-9]+' \
|
||||
&& grunt --version | grep -E '[.0-9]+' \
|
||||
&& laravel --version | grep -E '(Installer|version)\s*[.0-9]+' \
|
||||
&& su - ${MY_USER} -c '/usr/local/src/linuxbrew/bin/brew --version' | grep -E 'Homebrew\s*[.0-9]+' \
|
||||
&& mysqldump-secure --version | grep -E 'Version:\s*[.0-9]+' \
|
||||
&& phalcon commands | grep -E '[.0-9]+' \
|
||||
&& symfony --version | grep -E 'version\s*[.0-9]+' \
|
||||
&& webpack --version | grep -E '[.0-9]+' \
|
||||
&& wp --allow-root --version | grep -E '[.0-9]+' \
|
||||
&& true
|
||||
|
||||
|
||||
@@ -282,7 +272,6 @@ COPY ./data/bash-devilbox /etc/bash-devilbox
|
||||
COPY ./data/sudo-devilbox /etc/sudoers.d/devilbox
|
||||
|
||||
|
||||
|
||||
###
|
||||
### Volumes
|
||||
###
|
||||
@@ -294,7 +283,6 @@ VOLUME /var/log/php
|
||||
VOLUME /var/mail
|
||||
|
||||
|
||||
|
||||
###
|
||||
### Ports
|
||||
###
|
||||
|
||||
@@ -86,12 +86,27 @@ RUN set -x \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
|
||||
|
||||
RUN set -x \
|
||||
# composer
|
||||
RUN set -x true \
|
||||
&& curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer \
|
||||
&& true
|
||||
# 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) \
|
||||
&& ./configure --prefix=/usr/local \
|
||||
&& make install \
|
||||
&& cd / \
|
||||
&& rm -rf /usr/local/src/awesome-ci \
|
||||
\
|
||||
&& gem install mixlib-config -v 2.2.4 \
|
||||
&& gem install mdl \
|
||||
&& gem install scss_lint \
|
||||
&& npm install -g eslint \
|
||||
&& npm install -g jsonlint \
|
||||
&& npm install -g mdlint \
|
||||
&& npm install -g gulp \
|
||||
\
|
||||
# drush
|
||||
RUN set -x true \
|
||||
&& git clone https://github.com/drush-ops/drush.git /usr/local/src/drush \
|
||||
&& cd /usr/local/src/drush \
|
||||
&& git checkout $(git for-each-ref --format='%(*creatordate:raw)%(creatordate:raw) %(refname)' refs/tags | sort -n | tail -1 | sed 's/^.*tags\///g') \
|
||||
@@ -104,26 +119,13 @@ RUN set -x true \
|
||||
&& rm -rf /usr/local/src/drush/examples \
|
||||
&& rm -rf /usr/local/src/drush/misc \
|
||||
&& rm -rf /usr/local/src/drush/tests \
|
||||
&& rm -rf /home/${MY_USER}/.composer \
|
||||
\
|
||||
&& true
|
||||
# drupalconsole
|
||||
RUN set -x true \
|
||||
&& curl https://drupalconsole.com/installer -L -o /usr/local/bin/drupal \
|
||||
&& chmod +x /usr/local/bin/drupal \
|
||||
&& true
|
||||
# wpcli
|
||||
RUN set -x true \
|
||||
&& 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 \
|
||||
&& true
|
||||
# symfony
|
||||
RUN set -x true \
|
||||
&& curl https://symfony.com/installer -L -o /usr/local/bin/symfony \
|
||||
&& chmod +x /usr/local/bin/symfony \
|
||||
&& true
|
||||
# grunt
|
||||
&& npm install -g grunt grunt-cli \
|
||||
# laravel
|
||||
RUN set -x true \
|
||||
&& git clone https://github.com/laravel/installer /usr/local/src/laravel-installer \
|
||||
&& cd /usr/local/src/laravel-installer \
|
||||
&& git checkout v2.0.0 \
|
||||
@@ -133,9 +135,41 @@ RUN set -x true \
|
||||
&& ln -s /usr/local/src/laravel-installer/laravel /usr/local/bin/laravel \
|
||||
&& rm -rf /usr/local/src/laravel-installer/laravel/.git \
|
||||
\
|
||||
&& true
|
||||
# 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 \
|
||||
'echo "PATH=/usr/local/src/linuxbrew/bin:/usr/local/src/linuxbrew/sbin:/usr/bin:/usr/sbin:/bin:/sbin" >> /home/devilbox/${v}' \
|
||||
&& v="${BASH_PROFILE}" su ${MY_USER} -c -p \
|
||||
'echo "export MANPATH=/usr/local/src/linuxbrew/share/man:${MANPATH}" >> /home/devilbox/${v}' \
|
||||
&& v="${BASH_PROFILE}" su ${MY_USER} -c -p \
|
||||
'echo "export INFOPATH=/usr/local/src/linuxbrew/share/man:${INFOPATH}" >> /home/devilbox/${v}' \
|
||||
&& su - ${MY_USER} -c '/usr/local/src/linuxbrew/bin/brew update' \
|
||||
&& su - ${MY_USER} -c '/usr/local/src/linuxbrew/bin/brew config' \
|
||||
\
|
||||
# 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) \
|
||||
&& cp /usr/local/src/mysqldump-secure/bin/mysqldump-secure /usr/local/bin \
|
||||
&& cp /usr/local/src/mysqldump-secure/etc/mysqldump-secure.conf /etc \
|
||||
&& cp /usr/local/src/mysqldump-secure/etc/mysqldump-secure.cnf /etc \
|
||||
&& touch /var/log/mysqldump-secure.log \
|
||||
&& chown ${MY_USER}:${MY_GROUP} /etc/mysqldump-secure.* \
|
||||
&& chown ${MY_USER}:${MY_GROUP} /var/log/mysqldump-secure.log \
|
||||
&& chmod 0400 /etc/mysqldump-secure.conf \
|
||||
&& chmod 0400 /etc/mysqldump-secure.cnf \
|
||||
&& chmod 0644 /var/log/mysqldump-secure.log \
|
||||
&& sed -i'' 's/^COMPRESS_ARG=.*/COMPRESS_ARG="-9 -c"/g' /etc/mysqldump-secure.conf \
|
||||
&& sed -i'' 's/^DUMP_DIR=.*/DUMP_DIR="\/shared\/backups\/mysql"/g' /etc/mysqldump-secure.conf \
|
||||
&& sed -i'' 's/^DUMP_DIR_CHMOD=.*/DUMP_DIR_CHMOD="0755"/g' /etc/mysqldump-secure.conf \
|
||||
&& sed -i'' 's/^DUMP_FILE_CHMOD=.*/DUMP_FILE_CHMOD="0644"/g' /etc/mysqldump-secure.conf \
|
||||
&& sed -i'' 's/^LOG_CHMOD=.*/LOG_CHMOD="0644"/g' /etc/mysqldump-secure.conf \
|
||||
&& sed -i'' 's/^NAGIOS_LOG=.*/NAGIOS_LOG=0/g' /etc/mysqldump-secure.conf \
|
||||
&& cd / \
|
||||
&& rm -rf /usr/local/src/mysqldump-secure \
|
||||
\
|
||||
# phalcon
|
||||
RUN set -x true \
|
||||
&& 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) \
|
||||
@@ -145,112 +179,57 @@ RUN set -x true \
|
||||
&& ln -s /usr/local/src/phalcon-devtools/phalcon.php /usr/local/bin/phalcon \
|
||||
&& cd / \
|
||||
&& rm -rf /usr/local/src/phalcon-devtools/.git \
|
||||
\
|
||||
# symfony
|
||||
&& curl https://symfony.com/installer -L -o /usr/local/bin/symfony \
|
||||
&& chmod +x /usr/local/bin/symfony \
|
||||
# webpack
|
||||
&& npm install -g webpack webpack-cli \
|
||||
# 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
|
||||
&& rm -rf /home/${MY_USER}/.*json \
|
||||
&& rm -rf /home/${MY_USER}/.cache \
|
||||
&& rm -rf /home/${MY_USER}/.composer \
|
||||
&& rm -rf /home/${MY_USER}/.config \
|
||||
&& rm -rf /home/${MY_USER}/.drush \
|
||||
&& rm -rf /home/${MY_USER}/.gem \
|
||||
&& rm -rf /home/${MY_USER}/.npm \
|
||||
&& rm -rf /home/${MY_USER}/.subversion \
|
||||
\
|
||||
&& rm -rf /root/.*json \
|
||||
&& rm -rf /root/.cache \
|
||||
&& rm -rf /root/.composer \
|
||||
&& rm -rf /root/.config \
|
||||
&& rm -rf /root/.drush \
|
||||
&& rm -rf /root/.gem \
|
||||
&& rm -rf /root/.npm \
|
||||
&& rm -rf /root/.subversion \
|
||||
\
|
||||
&& rm -rf /tmp/* \
|
||||
\
|
||||
&& true
|
||||
|
||||
## Mysqldump-secure
|
||||
#RUN set -x \
|
||||
# && mkdir -p /usr/local/src \
|
||||
# && 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) \
|
||||
# && cp /usr/local/src/mysqldump-secure/bin/mysqldump-secure /usr/local/bin \
|
||||
# && cp /usr/local/src/mysqldump-secure/etc/mysqldump-secure.conf /etc \
|
||||
# && cp /usr/local/src/mysqldump-secure/etc/mysqldump-secure.cnf /etc \
|
||||
# && touch /var/log/mysqldump-secure.log \
|
||||
# && chown ${MY_USER}:${MY_GROUP} /etc/mysqldump-secure.* \
|
||||
# && chown ${MY_USER}:${MY_GROUP} /var/log/mysqldump-secure.log \
|
||||
# && chmod 0400 /etc/mysqldump-secure.conf \
|
||||
# && chmod 0400 /etc/mysqldump-secure.cnf \
|
||||
# && chmod 0644 /var/log/mysqldump-secure.log \
|
||||
# && sed -i'' 's/^COMPRESS_ARG=.*/COMPRESS_ARG="-9 -c"/g' /etc/mysqldump-secure.conf \
|
||||
# && sed -i'' 's/^DUMP_DIR=.*/DUMP_DIR="\/shared\/backups\/mysql"/g' /etc/mysqldump-secure.conf \
|
||||
# && sed -i'' 's/^DUMP_DIR_CHMOD=.*/DUMP_DIR_CHMOD="0755"/g' /etc/mysqldump-secure.conf \
|
||||
# && sed -i'' 's/^DUMP_FILE_CHMOD=.*/DUMP_FILE_CHMOD="0644"/g' /etc/mysqldump-secure.conf \
|
||||
# && sed -i'' 's/^LOG_CHMOD=.*/LOG_CHMOD="0644"/g' /etc/mysqldump-secure.conf \
|
||||
# && sed -i'' 's/^NAGIOS_LOG=.*/NAGIOS_LOG=0/g' /etc/mysqldump-secure.conf \
|
||||
# \
|
||||
# && cd / \
|
||||
# && rm -rf /usr/local/src/mysqldump-secure \
|
||||
# && mysqldump-secure --version | grep -E 'Version:\s*[.0-9]+'
|
||||
#
|
||||
## Awesome-CI
|
||||
#RUN set -x \
|
||||
# && mkdir -p /usr/local/src \
|
||||
# && 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) \
|
||||
# && ./configure --prefix=/usr/local \
|
||||
# && make install \
|
||||
# && cd / \
|
||||
# && rm -rf /usr/local/src/awesome-ci
|
||||
#
|
||||
## Awesome-CI requirements
|
||||
#RUN set -x \
|
||||
# && gem install mdl \
|
||||
# && gem install scss_lint \
|
||||
# && npm install -g eslint \
|
||||
# && npm install -g jsonlint \
|
||||
# && npm install -g mdlint \
|
||||
# && npm install -g gulp \
|
||||
# && rm -rf /root/.gem \
|
||||
# && rm -rf /root/.npm \
|
||||
# && rm -rf /root/.config \
|
||||
# && rm -rf /tmp/*
|
||||
#
|
||||
## Grunt
|
||||
#RUN set -x \
|
||||
# && npm install -g grunt \
|
||||
# && npm install -g grunt-cli \
|
||||
# && /usr/local/node/bin/grunt --version | grep -E 'v[.0-9]+' \
|
||||
# && rm -rf /root/.npm \
|
||||
# && rm -rf /root/.config \
|
||||
# && rm -rf /tmp/*
|
||||
#
|
||||
## Webpack
|
||||
#RUN set -x \
|
||||
# && npm install -g --save-dev webpack \
|
||||
# && /usr/local/node/bin/webpack --version | grep -E '[.0-9]+' \
|
||||
# && rm -rf /root/.npm \
|
||||
# && rm -rf /root/.config \
|
||||
# && rm -rf /tmp/*
|
||||
#
|
||||
## Linuxbrew
|
||||
#RUN set -x \
|
||||
# && mkdir -p /usr/local/src \
|
||||
# && 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 \
|
||||
# 'echo "PATH=/usr/local/src/linuxbrew/bin:/usr/local/src/linuxbrew/sbin:/usr/bin:/usr/sbin:/bin:/sbin" >> /home/devilbox/${v}' \
|
||||
# && v="${BASH_PROFILE}" su ${MY_USER} -c -p \
|
||||
# 'echo "export MANPATH=/usr/local/src/linuxbrew/share/man:${MANPATH}" >> /home/devilbox/${v}' \
|
||||
# && v="${BASH_PROFILE}" su ${MY_USER} -c -p \
|
||||
# 'echo "export INFOPATH=/usr/local/src/linuxbrew/share/man:${INFOPATH}" >> /home/devilbox/${v}' \
|
||||
# && su - ${MY_USER} -c '/usr/local/src/linuxbrew/bin/brew update' \
|
||||
# && su - ${MY_USER} -c '/usr/local/src/linuxbrew/bin/brew config' | grep -E 'HOMEBREW_VERSION:\s*[.0-9]+' \
|
||||
# && rm -rf /home/${MY_USER}/.cache
|
||||
#
|
||||
#
|
||||
#
|
||||
####
|
||||
#### Configure Bash
|
||||
####
|
||||
#RUN \
|
||||
# { \
|
||||
# echo "PATH=\${PATH}:/usr/local/bin:/usr/local/sbin:/usr/local/node/bin"; \
|
||||
# echo "export PATH"; \
|
||||
# echo ". /etc/bash-devilbox"; \
|
||||
# echo "if [ -d /etc/bash-custom.d/ ]; then"; \
|
||||
# echo " for f in /etc/bash-custom.d/*.sh ; do"; \
|
||||
# echo " if [ -r \"\${f}\" ]; then"; \
|
||||
# echo " . \"\${f}\""; \
|
||||
# echo " fi"; \
|
||||
# echo " done"; \
|
||||
# echo " unset f"; \
|
||||
# echo "fi"; \
|
||||
# } | tee -a /home/${MY_USER}/${BASH_PROFILE} /root/${BASH_PROFILE} \
|
||||
# && chown ${MY_USER}:${MY_GROUP} /home/${MY_USER}/${BASH_PROFILE}
|
||||
#
|
||||
|
||||
###
|
||||
### Configure Bash
|
||||
###
|
||||
RUN \
|
||||
{ \
|
||||
echo "PATH=\${PATH}:/usr/local/bin:/usr/local/sbin:/usr/local/node/bin"; \
|
||||
echo "export PATH"; \
|
||||
echo ". /etc/bash-devilbox"; \
|
||||
echo "if [ -d /etc/bash-custom.d/ ]; then"; \
|
||||
echo " for f in /etc/bash-custom.d/*.sh ; do"; \
|
||||
echo " if [ -r \"\${f}\" ]; then"; \
|
||||
echo " . \"\${f}\""; \
|
||||
echo " fi"; \
|
||||
echo " done"; \
|
||||
echo " unset f"; \
|
||||
echo "fi"; \
|
||||
} | tee -a /home/${MY_USER}/${BASH_PROFILE} /root/${BASH_PROFILE} \
|
||||
&& chown ${MY_USER}:${MY_GROUP} /home/${MY_USER}/${BASH_PROFILE}
|
||||
|
||||
|
||||
###
|
||||
@@ -263,13 +242,24 @@ RUN set -x \
|
||||
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi
|
||||
|
||||
RUN set -x \
|
||||
&& composer --version 2>/dev/null | grep -E 'version\s*[.0-9]+' && rm -rf /root/.composer \
|
||||
&& drush --version | grep -E '[.0-9]+' && rm -rf /root/.drush \
|
||||
&& composer --version 2>/dev/null | grep -E 'version\s*[.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]+' \
|
||||
\
|
||||
&& drush --version | grep -E '[.0-9]+' \
|
||||
&& drupal --version | grep -E 'Drupal Console Launcher\s*[.0-9]' \
|
||||
&& wp --allow-root --version | grep -E '[.0-9]+' \
|
||||
&& symfony --version | grep -E 'version\s*[.0-9]+' \
|
||||
&& grunt --version | grep -E '[.0-9]+' \
|
||||
&& laravel --version | grep -E '(Installer|version)\s*[.0-9]+' \
|
||||
&& su - ${MY_USER} -c '/usr/local/src/linuxbrew/bin/brew --version' | grep -E 'Homebrew\s*[.0-9]+' \
|
||||
&& mysqldump-secure --version | grep -E 'Version:\s*[.0-9]+' \
|
||||
&& phalcon commands | grep -E '[.0-9]+' \
|
||||
&& symfony --version | grep -E 'version\s*[.0-9]+' \
|
||||
&& webpack --version | grep -E '[.0-9]+' \
|
||||
&& wp --allow-root --version | grep -E '[.0-9]+' \
|
||||
&& true
|
||||
|
||||
|
||||
@@ -282,7 +272,6 @@ COPY ./data/bash-devilbox /etc/bash-devilbox
|
||||
COPY ./data/sudo-devilbox /etc/sudoers.d/devilbox
|
||||
|
||||
|
||||
|
||||
###
|
||||
### Volumes
|
||||
###
|
||||
@@ -294,7 +283,6 @@ VOLUME /var/log/php
|
||||
VOLUME /var/mail
|
||||
|
||||
|
||||
|
||||
###
|
||||
### Ports
|
||||
###
|
||||
|
||||
@@ -86,12 +86,27 @@ RUN set -x \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
|
||||
|
||||
RUN set -x \
|
||||
# composer
|
||||
RUN set -x true \
|
||||
&& curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer \
|
||||
&& true
|
||||
# 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) \
|
||||
&& ./configure --prefix=/usr/local \
|
||||
&& make install \
|
||||
&& cd / \
|
||||
&& rm -rf /usr/local/src/awesome-ci \
|
||||
\
|
||||
&& gem install mixlib-config -v 2.2.4 \
|
||||
&& gem install mdl \
|
||||
&& gem install scss_lint \
|
||||
&& npm install -g eslint \
|
||||
&& npm install -g jsonlint \
|
||||
&& npm install -g mdlint \
|
||||
&& npm install -g gulp \
|
||||
\
|
||||
# drush
|
||||
RUN set -x true \
|
||||
&& git clone https://github.com/drush-ops/drush.git /usr/local/src/drush \
|
||||
&& cd /usr/local/src/drush \
|
||||
&& git checkout $(git for-each-ref --format='%(*creatordate:raw)%(creatordate:raw) %(refname)' refs/tags | sort -n | tail -1 | sed 's/^.*tags\///g') \
|
||||
@@ -104,26 +119,13 @@ RUN set -x true \
|
||||
&& rm -rf /usr/local/src/drush/examples \
|
||||
&& rm -rf /usr/local/src/drush/misc \
|
||||
&& rm -rf /usr/local/src/drush/tests \
|
||||
&& rm -rf /home/${MY_USER}/.composer \
|
||||
\
|
||||
&& true
|
||||
# drupalconsole
|
||||
RUN set -x true \
|
||||
&& curl https://drupalconsole.com/installer -L -o /usr/local/bin/drupal \
|
||||
&& chmod +x /usr/local/bin/drupal \
|
||||
&& true
|
||||
# wpcli
|
||||
RUN set -x true \
|
||||
&& 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 \
|
||||
&& true
|
||||
# symfony
|
||||
RUN set -x true \
|
||||
&& curl https://symfony.com/installer -L -o /usr/local/bin/symfony \
|
||||
&& chmod +x /usr/local/bin/symfony \
|
||||
&& true
|
||||
# grunt
|
||||
&& npm install -g grunt grunt-cli \
|
||||
# laravel
|
||||
RUN set -x true \
|
||||
&& git clone https://github.com/laravel/installer /usr/local/src/laravel-installer \
|
||||
&& cd /usr/local/src/laravel-installer \
|
||||
&& git checkout v2.0.0 \
|
||||
@@ -133,9 +135,41 @@ RUN set -x true \
|
||||
&& ln -s /usr/local/src/laravel-installer/laravel /usr/local/bin/laravel \
|
||||
&& rm -rf /usr/local/src/laravel-installer/laravel/.git \
|
||||
\
|
||||
&& true
|
||||
# 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 \
|
||||
'echo "PATH=/usr/local/src/linuxbrew/bin:/usr/local/src/linuxbrew/sbin:/usr/bin:/usr/sbin:/bin:/sbin" >> /home/devilbox/${v}' \
|
||||
&& v="${BASH_PROFILE}" su ${MY_USER} -c -p \
|
||||
'echo "export MANPATH=/usr/local/src/linuxbrew/share/man:${MANPATH}" >> /home/devilbox/${v}' \
|
||||
&& v="${BASH_PROFILE}" su ${MY_USER} -c -p \
|
||||
'echo "export INFOPATH=/usr/local/src/linuxbrew/share/man:${INFOPATH}" >> /home/devilbox/${v}' \
|
||||
&& su - ${MY_USER} -c '/usr/local/src/linuxbrew/bin/brew update' \
|
||||
&& su - ${MY_USER} -c '/usr/local/src/linuxbrew/bin/brew config' \
|
||||
\
|
||||
# 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) \
|
||||
&& cp /usr/local/src/mysqldump-secure/bin/mysqldump-secure /usr/local/bin \
|
||||
&& cp /usr/local/src/mysqldump-secure/etc/mysqldump-secure.conf /etc \
|
||||
&& cp /usr/local/src/mysqldump-secure/etc/mysqldump-secure.cnf /etc \
|
||||
&& touch /var/log/mysqldump-secure.log \
|
||||
&& chown ${MY_USER}:${MY_GROUP} /etc/mysqldump-secure.* \
|
||||
&& chown ${MY_USER}:${MY_GROUP} /var/log/mysqldump-secure.log \
|
||||
&& chmod 0400 /etc/mysqldump-secure.conf \
|
||||
&& chmod 0400 /etc/mysqldump-secure.cnf \
|
||||
&& chmod 0644 /var/log/mysqldump-secure.log \
|
||||
&& sed -i'' 's/^COMPRESS_ARG=.*/COMPRESS_ARG="-9 -c"/g' /etc/mysqldump-secure.conf \
|
||||
&& sed -i'' 's/^DUMP_DIR=.*/DUMP_DIR="\/shared\/backups\/mysql"/g' /etc/mysqldump-secure.conf \
|
||||
&& sed -i'' 's/^DUMP_DIR_CHMOD=.*/DUMP_DIR_CHMOD="0755"/g' /etc/mysqldump-secure.conf \
|
||||
&& sed -i'' 's/^DUMP_FILE_CHMOD=.*/DUMP_FILE_CHMOD="0644"/g' /etc/mysqldump-secure.conf \
|
||||
&& sed -i'' 's/^LOG_CHMOD=.*/LOG_CHMOD="0644"/g' /etc/mysqldump-secure.conf \
|
||||
&& sed -i'' 's/^NAGIOS_LOG=.*/NAGIOS_LOG=0/g' /etc/mysqldump-secure.conf \
|
||||
&& cd / \
|
||||
&& rm -rf /usr/local/src/mysqldump-secure \
|
||||
\
|
||||
# phalcon
|
||||
RUN set -x true \
|
||||
&& 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) \
|
||||
@@ -145,112 +179,57 @@ RUN set -x true \
|
||||
&& ln -s /usr/local/src/phalcon-devtools/phalcon.php /usr/local/bin/phalcon \
|
||||
&& cd / \
|
||||
&& rm -rf /usr/local/src/phalcon-devtools/.git \
|
||||
\
|
||||
# symfony
|
||||
&& curl https://symfony.com/installer -L -o /usr/local/bin/symfony \
|
||||
&& chmod +x /usr/local/bin/symfony \
|
||||
# webpack
|
||||
&& npm install -g webpack webpack-cli \
|
||||
# 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
|
||||
&& rm -rf /home/${MY_USER}/.*json \
|
||||
&& rm -rf /home/${MY_USER}/.cache \
|
||||
&& rm -rf /home/${MY_USER}/.composer \
|
||||
&& rm -rf /home/${MY_USER}/.config \
|
||||
&& rm -rf /home/${MY_USER}/.drush \
|
||||
&& rm -rf /home/${MY_USER}/.gem \
|
||||
&& rm -rf /home/${MY_USER}/.npm \
|
||||
&& rm -rf /home/${MY_USER}/.subversion \
|
||||
\
|
||||
&& rm -rf /root/.*json \
|
||||
&& rm -rf /root/.cache \
|
||||
&& rm -rf /root/.composer \
|
||||
&& rm -rf /root/.config \
|
||||
&& rm -rf /root/.drush \
|
||||
&& rm -rf /root/.gem \
|
||||
&& rm -rf /root/.npm \
|
||||
&& rm -rf /root/.subversion \
|
||||
\
|
||||
&& rm -rf /tmp/* \
|
||||
\
|
||||
&& true
|
||||
|
||||
## Mysqldump-secure
|
||||
#RUN set -x \
|
||||
# && mkdir -p /usr/local/src \
|
||||
# && 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) \
|
||||
# && cp /usr/local/src/mysqldump-secure/bin/mysqldump-secure /usr/local/bin \
|
||||
# && cp /usr/local/src/mysqldump-secure/etc/mysqldump-secure.conf /etc \
|
||||
# && cp /usr/local/src/mysqldump-secure/etc/mysqldump-secure.cnf /etc \
|
||||
# && touch /var/log/mysqldump-secure.log \
|
||||
# && chown ${MY_USER}:${MY_GROUP} /etc/mysqldump-secure.* \
|
||||
# && chown ${MY_USER}:${MY_GROUP} /var/log/mysqldump-secure.log \
|
||||
# && chmod 0400 /etc/mysqldump-secure.conf \
|
||||
# && chmod 0400 /etc/mysqldump-secure.cnf \
|
||||
# && chmod 0644 /var/log/mysqldump-secure.log \
|
||||
# && sed -i'' 's/^COMPRESS_ARG=.*/COMPRESS_ARG="-9 -c"/g' /etc/mysqldump-secure.conf \
|
||||
# && sed -i'' 's/^DUMP_DIR=.*/DUMP_DIR="\/shared\/backups\/mysql"/g' /etc/mysqldump-secure.conf \
|
||||
# && sed -i'' 's/^DUMP_DIR_CHMOD=.*/DUMP_DIR_CHMOD="0755"/g' /etc/mysqldump-secure.conf \
|
||||
# && sed -i'' 's/^DUMP_FILE_CHMOD=.*/DUMP_FILE_CHMOD="0644"/g' /etc/mysqldump-secure.conf \
|
||||
# && sed -i'' 's/^LOG_CHMOD=.*/LOG_CHMOD="0644"/g' /etc/mysqldump-secure.conf \
|
||||
# && sed -i'' 's/^NAGIOS_LOG=.*/NAGIOS_LOG=0/g' /etc/mysqldump-secure.conf \
|
||||
# \
|
||||
# && cd / \
|
||||
# && rm -rf /usr/local/src/mysqldump-secure \
|
||||
# && mysqldump-secure --version | grep -E 'Version:\s*[.0-9]+'
|
||||
#
|
||||
## Awesome-CI
|
||||
#RUN set -x \
|
||||
# && mkdir -p /usr/local/src \
|
||||
# && 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) \
|
||||
# && ./configure --prefix=/usr/local \
|
||||
# && make install \
|
||||
# && cd / \
|
||||
# && rm -rf /usr/local/src/awesome-ci
|
||||
#
|
||||
## Awesome-CI requirements
|
||||
#RUN set -x \
|
||||
# && gem install mdl \
|
||||
# && gem install scss_lint \
|
||||
# && npm install -g eslint \
|
||||
# && npm install -g jsonlint \
|
||||
# && npm install -g mdlint \
|
||||
# && npm install -g gulp \
|
||||
# && rm -rf /root/.gem \
|
||||
# && rm -rf /root/.npm \
|
||||
# && rm -rf /root/.config \
|
||||
# && rm -rf /tmp/*
|
||||
#
|
||||
## Grunt
|
||||
#RUN set -x \
|
||||
# && npm install -g grunt \
|
||||
# && npm install -g grunt-cli \
|
||||
# && /usr/local/node/bin/grunt --version | grep -E 'v[.0-9]+' \
|
||||
# && rm -rf /root/.npm \
|
||||
# && rm -rf /root/.config \
|
||||
# && rm -rf /tmp/*
|
||||
#
|
||||
## Webpack
|
||||
#RUN set -x \
|
||||
# && npm install -g --save-dev webpack \
|
||||
# && /usr/local/node/bin/webpack --version | grep -E '[.0-9]+' \
|
||||
# && rm -rf /root/.npm \
|
||||
# && rm -rf /root/.config \
|
||||
# && rm -rf /tmp/*
|
||||
#
|
||||
## Linuxbrew
|
||||
#RUN set -x \
|
||||
# && mkdir -p /usr/local/src \
|
||||
# && 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 \
|
||||
# 'echo "PATH=/usr/local/src/linuxbrew/bin:/usr/local/src/linuxbrew/sbin:/usr/bin:/usr/sbin:/bin:/sbin" >> /home/devilbox/${v}' \
|
||||
# && v="${BASH_PROFILE}" su ${MY_USER} -c -p \
|
||||
# 'echo "export MANPATH=/usr/local/src/linuxbrew/share/man:${MANPATH}" >> /home/devilbox/${v}' \
|
||||
# && v="${BASH_PROFILE}" su ${MY_USER} -c -p \
|
||||
# 'echo "export INFOPATH=/usr/local/src/linuxbrew/share/man:${INFOPATH}" >> /home/devilbox/${v}' \
|
||||
# && su - ${MY_USER} -c '/usr/local/src/linuxbrew/bin/brew update' \
|
||||
# && su - ${MY_USER} -c '/usr/local/src/linuxbrew/bin/brew config' | grep -E 'HOMEBREW_VERSION:\s*[.0-9]+' \
|
||||
# && rm -rf /home/${MY_USER}/.cache
|
||||
#
|
||||
#
|
||||
#
|
||||
####
|
||||
#### Configure Bash
|
||||
####
|
||||
#RUN \
|
||||
# { \
|
||||
# echo "PATH=\${PATH}:/usr/local/bin:/usr/local/sbin:/usr/local/node/bin"; \
|
||||
# echo "export PATH"; \
|
||||
# echo ". /etc/bash-devilbox"; \
|
||||
# echo "if [ -d /etc/bash-custom.d/ ]; then"; \
|
||||
# echo " for f in /etc/bash-custom.d/*.sh ; do"; \
|
||||
# echo " if [ -r \"\${f}\" ]; then"; \
|
||||
# echo " . \"\${f}\""; \
|
||||
# echo " fi"; \
|
||||
# echo " done"; \
|
||||
# echo " unset f"; \
|
||||
# echo "fi"; \
|
||||
# } | tee -a /home/${MY_USER}/${BASH_PROFILE} /root/${BASH_PROFILE} \
|
||||
# && chown ${MY_USER}:${MY_GROUP} /home/${MY_USER}/${BASH_PROFILE}
|
||||
#
|
||||
|
||||
###
|
||||
### Configure Bash
|
||||
###
|
||||
RUN \
|
||||
{ \
|
||||
echo "PATH=\${PATH}:/usr/local/bin:/usr/local/sbin:/usr/local/node/bin"; \
|
||||
echo "export PATH"; \
|
||||
echo ". /etc/bash-devilbox"; \
|
||||
echo "if [ -d /etc/bash-custom.d/ ]; then"; \
|
||||
echo " for f in /etc/bash-custom.d/*.sh ; do"; \
|
||||
echo " if [ -r \"\${f}\" ]; then"; \
|
||||
echo " . \"\${f}\""; \
|
||||
echo " fi"; \
|
||||
echo " done"; \
|
||||
echo " unset f"; \
|
||||
echo "fi"; \
|
||||
} | tee -a /home/${MY_USER}/${BASH_PROFILE} /root/${BASH_PROFILE} \
|
||||
&& chown ${MY_USER}:${MY_GROUP} /home/${MY_USER}/${BASH_PROFILE}
|
||||
|
||||
|
||||
###
|
||||
@@ -263,13 +242,24 @@ RUN set -x \
|
||||
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi
|
||||
|
||||
RUN set -x \
|
||||
&& composer --version 2>/dev/null | grep -E 'version\s*[.0-9]+' && rm -rf /root/.composer \
|
||||
&& drush --version | grep -E '[.0-9]+' && rm -rf /root/.drush \
|
||||
&& composer --version 2>/dev/null | grep -E 'version\s*[.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]+' \
|
||||
\
|
||||
&& drush --version | grep -E '[.0-9]+' \
|
||||
&& drupal --version | grep -E 'Drupal Console Launcher\s*[.0-9]' \
|
||||
&& wp --allow-root --version | grep -E '[.0-9]+' \
|
||||
&& symfony --version | grep -E 'version\s*[.0-9]+' \
|
||||
&& grunt --version | grep -E '[.0-9]+' \
|
||||
&& laravel --version | grep -E '(Installer|version)\s*[.0-9]+' \
|
||||
&& su - ${MY_USER} -c '/usr/local/src/linuxbrew/bin/brew --version' | grep -E 'Homebrew\s*[.0-9]+' \
|
||||
&& mysqldump-secure --version | grep -E 'Version:\s*[.0-9]+' \
|
||||
&& phalcon commands | grep -E '[.0-9]+' \
|
||||
&& symfony --version | grep -E 'version\s*[.0-9]+' \
|
||||
&& webpack --version | grep -E '[.0-9]+' \
|
||||
&& wp --allow-root --version | grep -E '[.0-9]+' \
|
||||
&& true
|
||||
|
||||
|
||||
@@ -282,7 +272,6 @@ COPY ./data/bash-devilbox /etc/bash-devilbox
|
||||
COPY ./data/sudo-devilbox /etc/sudoers.d/devilbox
|
||||
|
||||
|
||||
|
||||
###
|
||||
### Volumes
|
||||
###
|
||||
@@ -294,7 +283,6 @@ VOLUME /var/log/php
|
||||
VOLUME /var/mail
|
||||
|
||||
|
||||
|
||||
###
|
||||
### Ports
|
||||
###
|
||||
|
||||
@@ -86,12 +86,27 @@ RUN set -x \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
|
||||
|
||||
RUN set -x \
|
||||
# composer
|
||||
RUN set -x true \
|
||||
&& curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer \
|
||||
&& true
|
||||
# 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) \
|
||||
&& ./configure --prefix=/usr/local \
|
||||
&& make install \
|
||||
&& cd / \
|
||||
&& rm -rf /usr/local/src/awesome-ci \
|
||||
\
|
||||
&& gem install mixlib-config -v 2.2.4 \
|
||||
&& gem install mdl \
|
||||
&& gem install scss_lint \
|
||||
&& npm install -g eslint \
|
||||
&& npm install -g jsonlint \
|
||||
&& npm install -g mdlint \
|
||||
&& npm install -g gulp \
|
||||
\
|
||||
# drush
|
||||
RUN set -x true \
|
||||
&& git clone https://github.com/drush-ops/drush.git /usr/local/src/drush \
|
||||
&& cd /usr/local/src/drush \
|
||||
&& git checkout $(git for-each-ref --format='%(*creatordate:raw)%(creatordate:raw) %(refname)' refs/tags | sort -n | tail -1 | sed 's/^.*tags\///g') \
|
||||
@@ -104,26 +119,13 @@ RUN set -x true \
|
||||
&& rm -rf /usr/local/src/drush/examples \
|
||||
&& rm -rf /usr/local/src/drush/misc \
|
||||
&& rm -rf /usr/local/src/drush/tests \
|
||||
&& rm -rf /home/${MY_USER}/.composer \
|
||||
\
|
||||
&& true
|
||||
# drupalconsole
|
||||
RUN set -x true \
|
||||
&& curl https://drupalconsole.com/installer -L -o /usr/local/bin/drupal \
|
||||
&& chmod +x /usr/local/bin/drupal \
|
||||
&& true
|
||||
# wpcli
|
||||
RUN set -x true \
|
||||
&& 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 \
|
||||
&& true
|
||||
# symfony
|
||||
RUN set -x true \
|
||||
&& curl https://symfony.com/installer -L -o /usr/local/bin/symfony \
|
||||
&& chmod +x /usr/local/bin/symfony \
|
||||
&& true
|
||||
# grunt
|
||||
&& npm install -g grunt grunt-cli \
|
||||
# laravel
|
||||
RUN set -x true \
|
||||
&& git clone https://github.com/laravel/installer /usr/local/src/laravel-installer \
|
||||
&& cd /usr/local/src/laravel-installer \
|
||||
&& git checkout $(git describe --abbrev=0 --tags) \
|
||||
@@ -133,9 +135,41 @@ RUN set -x true \
|
||||
&& ln -s /usr/local/src/laravel-installer/laravel /usr/local/bin/laravel \
|
||||
&& rm -rf /usr/local/src/laravel-installer/laravel/.git \
|
||||
\
|
||||
&& true
|
||||
# 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 \
|
||||
'echo "PATH=/usr/local/src/linuxbrew/bin:/usr/local/src/linuxbrew/sbin:/usr/bin:/usr/sbin:/bin:/sbin" >> /home/devilbox/${v}' \
|
||||
&& v="${BASH_PROFILE}" su ${MY_USER} -c -p \
|
||||
'echo "export MANPATH=/usr/local/src/linuxbrew/share/man:${MANPATH}" >> /home/devilbox/${v}' \
|
||||
&& v="${BASH_PROFILE}" su ${MY_USER} -c -p \
|
||||
'echo "export INFOPATH=/usr/local/src/linuxbrew/share/man:${INFOPATH}" >> /home/devilbox/${v}' \
|
||||
&& su - ${MY_USER} -c '/usr/local/src/linuxbrew/bin/brew update' \
|
||||
&& su - ${MY_USER} -c '/usr/local/src/linuxbrew/bin/brew config' \
|
||||
\
|
||||
# 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) \
|
||||
&& cp /usr/local/src/mysqldump-secure/bin/mysqldump-secure /usr/local/bin \
|
||||
&& cp /usr/local/src/mysqldump-secure/etc/mysqldump-secure.conf /etc \
|
||||
&& cp /usr/local/src/mysqldump-secure/etc/mysqldump-secure.cnf /etc \
|
||||
&& touch /var/log/mysqldump-secure.log \
|
||||
&& chown ${MY_USER}:${MY_GROUP} /etc/mysqldump-secure.* \
|
||||
&& chown ${MY_USER}:${MY_GROUP} /var/log/mysqldump-secure.log \
|
||||
&& chmod 0400 /etc/mysqldump-secure.conf \
|
||||
&& chmod 0400 /etc/mysqldump-secure.cnf \
|
||||
&& chmod 0644 /var/log/mysqldump-secure.log \
|
||||
&& sed -i'' 's/^COMPRESS_ARG=.*/COMPRESS_ARG="-9 -c"/g' /etc/mysqldump-secure.conf \
|
||||
&& sed -i'' 's/^DUMP_DIR=.*/DUMP_DIR="\/shared\/backups\/mysql"/g' /etc/mysqldump-secure.conf \
|
||||
&& sed -i'' 's/^DUMP_DIR_CHMOD=.*/DUMP_DIR_CHMOD="0755"/g' /etc/mysqldump-secure.conf \
|
||||
&& sed -i'' 's/^DUMP_FILE_CHMOD=.*/DUMP_FILE_CHMOD="0644"/g' /etc/mysqldump-secure.conf \
|
||||
&& sed -i'' 's/^LOG_CHMOD=.*/LOG_CHMOD="0644"/g' /etc/mysqldump-secure.conf \
|
||||
&& sed -i'' 's/^NAGIOS_LOG=.*/NAGIOS_LOG=0/g' /etc/mysqldump-secure.conf \
|
||||
&& cd / \
|
||||
&& rm -rf /usr/local/src/mysqldump-secure \
|
||||
\
|
||||
# phalcon
|
||||
RUN set -x true \
|
||||
&& 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) \
|
||||
@@ -145,112 +179,57 @@ RUN set -x true \
|
||||
&& ln -s /usr/local/src/phalcon-devtools/phalcon.php /usr/local/bin/phalcon \
|
||||
&& cd / \
|
||||
&& rm -rf /usr/local/src/phalcon-devtools/.git \
|
||||
\
|
||||
# symfony
|
||||
&& curl https://symfony.com/installer -L -o /usr/local/bin/symfony \
|
||||
&& chmod +x /usr/local/bin/symfony \
|
||||
# webpack
|
||||
&& npm install -g webpack webpack-cli \
|
||||
# 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
|
||||
&& rm -rf /home/${MY_USER}/.*json \
|
||||
&& rm -rf /home/${MY_USER}/.cache \
|
||||
&& rm -rf /home/${MY_USER}/.composer \
|
||||
&& rm -rf /home/${MY_USER}/.config \
|
||||
&& rm -rf /home/${MY_USER}/.drush \
|
||||
&& rm -rf /home/${MY_USER}/.gem \
|
||||
&& rm -rf /home/${MY_USER}/.npm \
|
||||
&& rm -rf /home/${MY_USER}/.subversion \
|
||||
\
|
||||
&& rm -rf /root/.*json \
|
||||
&& rm -rf /root/.cache \
|
||||
&& rm -rf /root/.composer \
|
||||
&& rm -rf /root/.config \
|
||||
&& rm -rf /root/.drush \
|
||||
&& rm -rf /root/.gem \
|
||||
&& rm -rf /root/.npm \
|
||||
&& rm -rf /root/.subversion \
|
||||
\
|
||||
&& rm -rf /tmp/* \
|
||||
\
|
||||
&& true
|
||||
|
||||
## Mysqldump-secure
|
||||
#RUN set -x \
|
||||
# && mkdir -p /usr/local/src \
|
||||
# && 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) \
|
||||
# && cp /usr/local/src/mysqldump-secure/bin/mysqldump-secure /usr/local/bin \
|
||||
# && cp /usr/local/src/mysqldump-secure/etc/mysqldump-secure.conf /etc \
|
||||
# && cp /usr/local/src/mysqldump-secure/etc/mysqldump-secure.cnf /etc \
|
||||
# && touch /var/log/mysqldump-secure.log \
|
||||
# && chown ${MY_USER}:${MY_GROUP} /etc/mysqldump-secure.* \
|
||||
# && chown ${MY_USER}:${MY_GROUP} /var/log/mysqldump-secure.log \
|
||||
# && chmod 0400 /etc/mysqldump-secure.conf \
|
||||
# && chmod 0400 /etc/mysqldump-secure.cnf \
|
||||
# && chmod 0644 /var/log/mysqldump-secure.log \
|
||||
# && sed -i'' 's/^COMPRESS_ARG=.*/COMPRESS_ARG="-9 -c"/g' /etc/mysqldump-secure.conf \
|
||||
# && sed -i'' 's/^DUMP_DIR=.*/DUMP_DIR="\/shared\/backups\/mysql"/g' /etc/mysqldump-secure.conf \
|
||||
# && sed -i'' 's/^DUMP_DIR_CHMOD=.*/DUMP_DIR_CHMOD="0755"/g' /etc/mysqldump-secure.conf \
|
||||
# && sed -i'' 's/^DUMP_FILE_CHMOD=.*/DUMP_FILE_CHMOD="0644"/g' /etc/mysqldump-secure.conf \
|
||||
# && sed -i'' 's/^LOG_CHMOD=.*/LOG_CHMOD="0644"/g' /etc/mysqldump-secure.conf \
|
||||
# && sed -i'' 's/^NAGIOS_LOG=.*/NAGIOS_LOG=0/g' /etc/mysqldump-secure.conf \
|
||||
# \
|
||||
# && cd / \
|
||||
# && rm -rf /usr/local/src/mysqldump-secure \
|
||||
# && mysqldump-secure --version | grep -E 'Version:\s*[.0-9]+'
|
||||
#
|
||||
## Awesome-CI
|
||||
#RUN set -x \
|
||||
# && mkdir -p /usr/local/src \
|
||||
# && 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) \
|
||||
# && ./configure --prefix=/usr/local \
|
||||
# && make install \
|
||||
# && cd / \
|
||||
# && rm -rf /usr/local/src/awesome-ci
|
||||
#
|
||||
## Awesome-CI requirements
|
||||
#RUN set -x \
|
||||
# && gem install mdl \
|
||||
# && gem install scss_lint \
|
||||
# && npm install -g eslint \
|
||||
# && npm install -g jsonlint \
|
||||
# && npm install -g mdlint \
|
||||
# && npm install -g gulp \
|
||||
# && rm -rf /root/.gem \
|
||||
# && rm -rf /root/.npm \
|
||||
# && rm -rf /root/.config \
|
||||
# && rm -rf /tmp/*
|
||||
#
|
||||
## Grunt
|
||||
#RUN set -x \
|
||||
# && npm install -g grunt \
|
||||
# && npm install -g grunt-cli \
|
||||
# && /usr/local/node/bin/grunt --version | grep -E 'v[.0-9]+' \
|
||||
# && rm -rf /root/.npm \
|
||||
# && rm -rf /root/.config \
|
||||
# && rm -rf /tmp/*
|
||||
#
|
||||
## Webpack
|
||||
#RUN set -x \
|
||||
# && npm install -g --save-dev webpack \
|
||||
# && /usr/local/node/bin/webpack --version | grep -E '[.0-9]+' \
|
||||
# && rm -rf /root/.npm \
|
||||
# && rm -rf /root/.config \
|
||||
# && rm -rf /tmp/*
|
||||
#
|
||||
## Linuxbrew
|
||||
#RUN set -x \
|
||||
# && mkdir -p /usr/local/src \
|
||||
# && 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 \
|
||||
# 'echo "PATH=/usr/local/src/linuxbrew/bin:/usr/local/src/linuxbrew/sbin:/usr/bin:/usr/sbin:/bin:/sbin" >> /home/devilbox/${v}' \
|
||||
# && v="${BASH_PROFILE}" su ${MY_USER} -c -p \
|
||||
# 'echo "export MANPATH=/usr/local/src/linuxbrew/share/man:${MANPATH}" >> /home/devilbox/${v}' \
|
||||
# && v="${BASH_PROFILE}" su ${MY_USER} -c -p \
|
||||
# 'echo "export INFOPATH=/usr/local/src/linuxbrew/share/man:${INFOPATH}" >> /home/devilbox/${v}' \
|
||||
# && su - ${MY_USER} -c '/usr/local/src/linuxbrew/bin/brew update' \
|
||||
# && su - ${MY_USER} -c '/usr/local/src/linuxbrew/bin/brew config' | grep -E 'HOMEBREW_VERSION:\s*[.0-9]+' \
|
||||
# && rm -rf /home/${MY_USER}/.cache
|
||||
#
|
||||
#
|
||||
#
|
||||
####
|
||||
#### Configure Bash
|
||||
####
|
||||
#RUN \
|
||||
# { \
|
||||
# echo "PATH=\${PATH}:/usr/local/bin:/usr/local/sbin:/usr/local/node/bin"; \
|
||||
# echo "export PATH"; \
|
||||
# echo ". /etc/bash-devilbox"; \
|
||||
# echo "if [ -d /etc/bash-custom.d/ ]; then"; \
|
||||
# echo " for f in /etc/bash-custom.d/*.sh ; do"; \
|
||||
# echo " if [ -r \"\${f}\" ]; then"; \
|
||||
# echo " . \"\${f}\""; \
|
||||
# echo " fi"; \
|
||||
# echo " done"; \
|
||||
# echo " unset f"; \
|
||||
# echo "fi"; \
|
||||
# } | tee -a /home/${MY_USER}/${BASH_PROFILE} /root/${BASH_PROFILE} \
|
||||
# && chown ${MY_USER}:${MY_GROUP} /home/${MY_USER}/${BASH_PROFILE}
|
||||
#
|
||||
|
||||
###
|
||||
### Configure Bash
|
||||
###
|
||||
RUN \
|
||||
{ \
|
||||
echo "PATH=\${PATH}:/usr/local/bin:/usr/local/sbin:/usr/local/node/bin"; \
|
||||
echo "export PATH"; \
|
||||
echo ". /etc/bash-devilbox"; \
|
||||
echo "if [ -d /etc/bash-custom.d/ ]; then"; \
|
||||
echo " for f in /etc/bash-custom.d/*.sh ; do"; \
|
||||
echo " if [ -r \"\${f}\" ]; then"; \
|
||||
echo " . \"\${f}\""; \
|
||||
echo " fi"; \
|
||||
echo " done"; \
|
||||
echo " unset f"; \
|
||||
echo "fi"; \
|
||||
} | tee -a /home/${MY_USER}/${BASH_PROFILE} /root/${BASH_PROFILE} \
|
||||
&& chown ${MY_USER}:${MY_GROUP} /home/${MY_USER}/${BASH_PROFILE}
|
||||
|
||||
|
||||
###
|
||||
@@ -263,13 +242,24 @@ RUN set -x \
|
||||
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi
|
||||
|
||||
RUN set -x \
|
||||
&& composer --version 2>/dev/null | grep -E 'version\s*[.0-9]+' && rm -rf /root/.composer \
|
||||
&& drush --version | grep -E '[.0-9]+' && rm -rf /root/.drush \
|
||||
&& composer --version 2>/dev/null | grep -E 'version\s*[.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]+' \
|
||||
\
|
||||
&& drush --version | grep -E '[.0-9]+' \
|
||||
&& drupal --version | grep -E 'Drupal Console Launcher\s*[.0-9]' \
|
||||
&& wp --allow-root --version | grep -E '[.0-9]+' \
|
||||
&& symfony --version | grep -E 'version\s*[.0-9]+' \
|
||||
&& grunt --version | grep -E '[.0-9]+' \
|
||||
&& laravel --version | grep -E '(Installer|version)\s*[.0-9]+' \
|
||||
&& su - ${MY_USER} -c '/usr/local/src/linuxbrew/bin/brew --version' | grep -E 'Homebrew\s*[.0-9]+' \
|
||||
&& mysqldump-secure --version | grep -E 'Version:\s*[.0-9]+' \
|
||||
&& phalcon commands | grep -E '[.0-9]+' \
|
||||
&& symfony --version | grep -E 'version\s*[.0-9]+' \
|
||||
&& webpack --version | grep -E '[.0-9]+' \
|
||||
&& wp --allow-root --version | grep -E '[.0-9]+' \
|
||||
&& true
|
||||
|
||||
|
||||
@@ -282,7 +272,6 @@ COPY ./data/bash-devilbox /etc/bash-devilbox
|
||||
COPY ./data/sudo-devilbox /etc/sudoers.d/devilbox
|
||||
|
||||
|
||||
|
||||
###
|
||||
### Volumes
|
||||
###
|
||||
@@ -294,7 +283,6 @@ VOLUME /var/log/php
|
||||
VOLUME /var/mail
|
||||
|
||||
|
||||
|
||||
###
|
||||
### Ports
|
||||
###
|
||||
|
||||
@@ -86,12 +86,27 @@ RUN set -x \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
|
||||
|
||||
RUN set -x \
|
||||
# composer
|
||||
RUN set -x true \
|
||||
&& curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer \
|
||||
&& true
|
||||
# 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) \
|
||||
&& ./configure --prefix=/usr/local \
|
||||
&& make install \
|
||||
&& cd / \
|
||||
&& rm -rf /usr/local/src/awesome-ci \
|
||||
\
|
||||
&& gem install mixlib-config -v 2.2.4 \
|
||||
&& gem install mdl \
|
||||
&& gem install scss_lint \
|
||||
&& npm install -g eslint \
|
||||
&& npm install -g jsonlint \
|
||||
&& npm install -g mdlint \
|
||||
&& npm install -g gulp \
|
||||
\
|
||||
# drush
|
||||
RUN set -x true \
|
||||
&& git clone https://github.com/drush-ops/drush.git /usr/local/src/drush \
|
||||
&& cd /usr/local/src/drush \
|
||||
&& git checkout $(git for-each-ref --format='%(*creatordate:raw)%(creatordate:raw) %(refname)' refs/tags | sort -n | tail -1 | sed 's/^.*tags\///g') \
|
||||
@@ -104,26 +119,13 @@ RUN set -x true \
|
||||
&& rm -rf /usr/local/src/drush/examples \
|
||||
&& rm -rf /usr/local/src/drush/misc \
|
||||
&& rm -rf /usr/local/src/drush/tests \
|
||||
&& rm -rf /home/${MY_USER}/.composer \
|
||||
\
|
||||
&& true
|
||||
# drupalconsole
|
||||
RUN set -x true \
|
||||
&& curl https://drupalconsole.com/installer -L -o /usr/local/bin/drupal \
|
||||
&& chmod +x /usr/local/bin/drupal \
|
||||
&& true
|
||||
# wpcli
|
||||
RUN set -x true \
|
||||
&& 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 \
|
||||
&& true
|
||||
# symfony
|
||||
RUN set -x true \
|
||||
&& curl https://symfony.com/installer -L -o /usr/local/bin/symfony \
|
||||
&& chmod +x /usr/local/bin/symfony \
|
||||
&& true
|
||||
# grunt
|
||||
&& npm install -g grunt grunt-cli \
|
||||
# laravel
|
||||
RUN set -x true \
|
||||
&& git clone https://github.com/laravel/installer /usr/local/src/laravel-installer \
|
||||
&& cd /usr/local/src/laravel-installer \
|
||||
&& git checkout $(git describe --abbrev=0 --tags) \
|
||||
@@ -133,9 +135,41 @@ RUN set -x true \
|
||||
&& ln -s /usr/local/src/laravel-installer/laravel /usr/local/bin/laravel \
|
||||
&& rm -rf /usr/local/src/laravel-installer/laravel/.git \
|
||||
\
|
||||
&& true
|
||||
# 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 \
|
||||
'echo "PATH=/usr/local/src/linuxbrew/bin:/usr/local/src/linuxbrew/sbin:/usr/bin:/usr/sbin:/bin:/sbin" >> /home/devilbox/${v}' \
|
||||
&& v="${BASH_PROFILE}" su ${MY_USER} -c -p \
|
||||
'echo "export MANPATH=/usr/local/src/linuxbrew/share/man:${MANPATH}" >> /home/devilbox/${v}' \
|
||||
&& v="${BASH_PROFILE}" su ${MY_USER} -c -p \
|
||||
'echo "export INFOPATH=/usr/local/src/linuxbrew/share/man:${INFOPATH}" >> /home/devilbox/${v}' \
|
||||
&& su - ${MY_USER} -c '/usr/local/src/linuxbrew/bin/brew update' \
|
||||
&& su - ${MY_USER} -c '/usr/local/src/linuxbrew/bin/brew config' \
|
||||
\
|
||||
# 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) \
|
||||
&& cp /usr/local/src/mysqldump-secure/bin/mysqldump-secure /usr/local/bin \
|
||||
&& cp /usr/local/src/mysqldump-secure/etc/mysqldump-secure.conf /etc \
|
||||
&& cp /usr/local/src/mysqldump-secure/etc/mysqldump-secure.cnf /etc \
|
||||
&& touch /var/log/mysqldump-secure.log \
|
||||
&& chown ${MY_USER}:${MY_GROUP} /etc/mysqldump-secure.* \
|
||||
&& chown ${MY_USER}:${MY_GROUP} /var/log/mysqldump-secure.log \
|
||||
&& chmod 0400 /etc/mysqldump-secure.conf \
|
||||
&& chmod 0400 /etc/mysqldump-secure.cnf \
|
||||
&& chmod 0644 /var/log/mysqldump-secure.log \
|
||||
&& sed -i'' 's/^COMPRESS_ARG=.*/COMPRESS_ARG="-9 -c"/g' /etc/mysqldump-secure.conf \
|
||||
&& sed -i'' 's/^DUMP_DIR=.*/DUMP_DIR="\/shared\/backups\/mysql"/g' /etc/mysqldump-secure.conf \
|
||||
&& sed -i'' 's/^DUMP_DIR_CHMOD=.*/DUMP_DIR_CHMOD="0755"/g' /etc/mysqldump-secure.conf \
|
||||
&& sed -i'' 's/^DUMP_FILE_CHMOD=.*/DUMP_FILE_CHMOD="0644"/g' /etc/mysqldump-secure.conf \
|
||||
&& sed -i'' 's/^LOG_CHMOD=.*/LOG_CHMOD="0644"/g' /etc/mysqldump-secure.conf \
|
||||
&& sed -i'' 's/^NAGIOS_LOG=.*/NAGIOS_LOG=0/g' /etc/mysqldump-secure.conf \
|
||||
&& cd / \
|
||||
&& rm -rf /usr/local/src/mysqldump-secure \
|
||||
\
|
||||
# phalcon
|
||||
RUN set -x true \
|
||||
&& 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) \
|
||||
@@ -145,112 +179,57 @@ RUN set -x true \
|
||||
&& ln -s /usr/local/src/phalcon-devtools/phalcon.php /usr/local/bin/phalcon \
|
||||
&& cd / \
|
||||
&& rm -rf /usr/local/src/phalcon-devtools/.git \
|
||||
\
|
||||
# symfony
|
||||
&& curl https://symfony.com/installer -L -o /usr/local/bin/symfony \
|
||||
&& chmod +x /usr/local/bin/symfony \
|
||||
# webpack
|
||||
&& npm install -g webpack webpack-cli \
|
||||
# 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
|
||||
&& rm -rf /home/${MY_USER}/.*json \
|
||||
&& rm -rf /home/${MY_USER}/.cache \
|
||||
&& rm -rf /home/${MY_USER}/.composer \
|
||||
&& rm -rf /home/${MY_USER}/.config \
|
||||
&& rm -rf /home/${MY_USER}/.drush \
|
||||
&& rm -rf /home/${MY_USER}/.gem \
|
||||
&& rm -rf /home/${MY_USER}/.npm \
|
||||
&& rm -rf /home/${MY_USER}/.subversion \
|
||||
\
|
||||
&& rm -rf /root/.*json \
|
||||
&& rm -rf /root/.cache \
|
||||
&& rm -rf /root/.composer \
|
||||
&& rm -rf /root/.config \
|
||||
&& rm -rf /root/.drush \
|
||||
&& rm -rf /root/.gem \
|
||||
&& rm -rf /root/.npm \
|
||||
&& rm -rf /root/.subversion \
|
||||
\
|
||||
&& rm -rf /tmp/* \
|
||||
\
|
||||
&& true
|
||||
|
||||
## Mysqldump-secure
|
||||
#RUN set -x \
|
||||
# && mkdir -p /usr/local/src \
|
||||
# && 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) \
|
||||
# && cp /usr/local/src/mysqldump-secure/bin/mysqldump-secure /usr/local/bin \
|
||||
# && cp /usr/local/src/mysqldump-secure/etc/mysqldump-secure.conf /etc \
|
||||
# && cp /usr/local/src/mysqldump-secure/etc/mysqldump-secure.cnf /etc \
|
||||
# && touch /var/log/mysqldump-secure.log \
|
||||
# && chown ${MY_USER}:${MY_GROUP} /etc/mysqldump-secure.* \
|
||||
# && chown ${MY_USER}:${MY_GROUP} /var/log/mysqldump-secure.log \
|
||||
# && chmod 0400 /etc/mysqldump-secure.conf \
|
||||
# && chmod 0400 /etc/mysqldump-secure.cnf \
|
||||
# && chmod 0644 /var/log/mysqldump-secure.log \
|
||||
# && sed -i'' 's/^COMPRESS_ARG=.*/COMPRESS_ARG="-9 -c"/g' /etc/mysqldump-secure.conf \
|
||||
# && sed -i'' 's/^DUMP_DIR=.*/DUMP_DIR="\/shared\/backups\/mysql"/g' /etc/mysqldump-secure.conf \
|
||||
# && sed -i'' 's/^DUMP_DIR_CHMOD=.*/DUMP_DIR_CHMOD="0755"/g' /etc/mysqldump-secure.conf \
|
||||
# && sed -i'' 's/^DUMP_FILE_CHMOD=.*/DUMP_FILE_CHMOD="0644"/g' /etc/mysqldump-secure.conf \
|
||||
# && sed -i'' 's/^LOG_CHMOD=.*/LOG_CHMOD="0644"/g' /etc/mysqldump-secure.conf \
|
||||
# && sed -i'' 's/^NAGIOS_LOG=.*/NAGIOS_LOG=0/g' /etc/mysqldump-secure.conf \
|
||||
# \
|
||||
# && cd / \
|
||||
# && rm -rf /usr/local/src/mysqldump-secure \
|
||||
# && mysqldump-secure --version | grep -E 'Version:\s*[.0-9]+'
|
||||
#
|
||||
## Awesome-CI
|
||||
#RUN set -x \
|
||||
# && mkdir -p /usr/local/src \
|
||||
# && 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) \
|
||||
# && ./configure --prefix=/usr/local \
|
||||
# && make install \
|
||||
# && cd / \
|
||||
# && rm -rf /usr/local/src/awesome-ci
|
||||
#
|
||||
## Awesome-CI requirements
|
||||
#RUN set -x \
|
||||
# && gem install mdl \
|
||||
# && gem install scss_lint \
|
||||
# && npm install -g eslint \
|
||||
# && npm install -g jsonlint \
|
||||
# && npm install -g mdlint \
|
||||
# && npm install -g gulp \
|
||||
# && rm -rf /root/.gem \
|
||||
# && rm -rf /root/.npm \
|
||||
# && rm -rf /root/.config \
|
||||
# && rm -rf /tmp/*
|
||||
#
|
||||
## Grunt
|
||||
#RUN set -x \
|
||||
# && npm install -g grunt \
|
||||
# && npm install -g grunt-cli \
|
||||
# && /usr/local/node/bin/grunt --version | grep -E 'v[.0-9]+' \
|
||||
# && rm -rf /root/.npm \
|
||||
# && rm -rf /root/.config \
|
||||
# && rm -rf /tmp/*
|
||||
#
|
||||
## Webpack
|
||||
#RUN set -x \
|
||||
# && npm install -g --save-dev webpack \
|
||||
# && /usr/local/node/bin/webpack --version | grep -E '[.0-9]+' \
|
||||
# && rm -rf /root/.npm \
|
||||
# && rm -rf /root/.config \
|
||||
# && rm -rf /tmp/*
|
||||
#
|
||||
## Linuxbrew
|
||||
#RUN set -x \
|
||||
# && mkdir -p /usr/local/src \
|
||||
# && 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 \
|
||||
# 'echo "PATH=/usr/local/src/linuxbrew/bin:/usr/local/src/linuxbrew/sbin:/usr/bin:/usr/sbin:/bin:/sbin" >> /home/devilbox/${v}' \
|
||||
# && v="${BASH_PROFILE}" su ${MY_USER} -c -p \
|
||||
# 'echo "export MANPATH=/usr/local/src/linuxbrew/share/man:${MANPATH}" >> /home/devilbox/${v}' \
|
||||
# && v="${BASH_PROFILE}" su ${MY_USER} -c -p \
|
||||
# 'echo "export INFOPATH=/usr/local/src/linuxbrew/share/man:${INFOPATH}" >> /home/devilbox/${v}' \
|
||||
# && su - ${MY_USER} -c '/usr/local/src/linuxbrew/bin/brew update' \
|
||||
# && su - ${MY_USER} -c '/usr/local/src/linuxbrew/bin/brew config' | grep -E 'HOMEBREW_VERSION:\s*[.0-9]+' \
|
||||
# && rm -rf /home/${MY_USER}/.cache
|
||||
#
|
||||
#
|
||||
#
|
||||
####
|
||||
#### Configure Bash
|
||||
####
|
||||
#RUN \
|
||||
# { \
|
||||
# echo "PATH=\${PATH}:/usr/local/bin:/usr/local/sbin:/usr/local/node/bin"; \
|
||||
# echo "export PATH"; \
|
||||
# echo ". /etc/bash-devilbox"; \
|
||||
# echo "if [ -d /etc/bash-custom.d/ ]; then"; \
|
||||
# echo " for f in /etc/bash-custom.d/*.sh ; do"; \
|
||||
# echo " if [ -r \"\${f}\" ]; then"; \
|
||||
# echo " . \"\${f}\""; \
|
||||
# echo " fi"; \
|
||||
# echo " done"; \
|
||||
# echo " unset f"; \
|
||||
# echo "fi"; \
|
||||
# } | tee -a /home/${MY_USER}/${BASH_PROFILE} /root/${BASH_PROFILE} \
|
||||
# && chown ${MY_USER}:${MY_GROUP} /home/${MY_USER}/${BASH_PROFILE}
|
||||
#
|
||||
|
||||
###
|
||||
### Configure Bash
|
||||
###
|
||||
RUN \
|
||||
{ \
|
||||
echo "PATH=\${PATH}:/usr/local/bin:/usr/local/sbin:/usr/local/node/bin"; \
|
||||
echo "export PATH"; \
|
||||
echo ". /etc/bash-devilbox"; \
|
||||
echo "if [ -d /etc/bash-custom.d/ ]; then"; \
|
||||
echo " for f in /etc/bash-custom.d/*.sh ; do"; \
|
||||
echo " if [ -r \"\${f}\" ]; then"; \
|
||||
echo " . \"\${f}\""; \
|
||||
echo " fi"; \
|
||||
echo " done"; \
|
||||
echo " unset f"; \
|
||||
echo "fi"; \
|
||||
} | tee -a /home/${MY_USER}/${BASH_PROFILE} /root/${BASH_PROFILE} \
|
||||
&& chown ${MY_USER}:${MY_GROUP} /home/${MY_USER}/${BASH_PROFILE}
|
||||
|
||||
|
||||
###
|
||||
@@ -263,13 +242,24 @@ RUN set -x \
|
||||
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi
|
||||
|
||||
RUN set -x \
|
||||
&& composer --version 2>/dev/null | grep -E 'version\s*[.0-9]+' && rm -rf /root/.composer \
|
||||
&& drush --version | grep -E '[.0-9]+' && rm -rf /root/.drush \
|
||||
&& composer --version 2>/dev/null | grep -E 'version\s*[.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]+' \
|
||||
\
|
||||
&& drush --version | grep -E '[.0-9]+' \
|
||||
&& drupal --version | grep -E 'Drupal Console Launcher\s*[.0-9]' \
|
||||
&& wp --allow-root --version | grep -E '[.0-9]+' \
|
||||
&& symfony --version | grep -E 'version\s*[.0-9]+' \
|
||||
&& grunt --version | grep -E '[.0-9]+' \
|
||||
&& laravel --version | grep -E '(Installer|version)\s*[.0-9]+' \
|
||||
&& su - ${MY_USER} -c '/usr/local/src/linuxbrew/bin/brew --version' | grep -E 'Homebrew\s*[.0-9]+' \
|
||||
&& mysqldump-secure --version | grep -E 'Version:\s*[.0-9]+' \
|
||||
&& phalcon commands | grep -E '[.0-9]+' \
|
||||
&& symfony --version | grep -E 'version\s*[.0-9]+' \
|
||||
&& webpack --version | grep -E '[.0-9]+' \
|
||||
&& wp --allow-root --version | grep -E '[.0-9]+' \
|
||||
&& true
|
||||
|
||||
|
||||
@@ -282,7 +272,6 @@ COPY ./data/bash-devilbox /etc/bash-devilbox
|
||||
COPY ./data/sudo-devilbox /etc/sudoers.d/devilbox
|
||||
|
||||
|
||||
|
||||
###
|
||||
### Volumes
|
||||
###
|
||||
@@ -294,7 +283,6 @@ VOLUME /var/log/php
|
||||
VOLUME /var/mail
|
||||
|
||||
|
||||
|
||||
###
|
||||
### Ports
|
||||
###
|
||||
|
||||
@@ -103,11 +103,11 @@ RUN set -x \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
|
||||
|
||||
RUN set -x \
|
||||
{% for tool in software_enabled %}
|
||||
{# Not disabled #}
|
||||
{% if ('disabled' not in software_available[tool]) or (php_version not in software_available[tool]['disabled']) %}
|
||||
# {{ tool }}
|
||||
RUN set -x true \
|
||||
{# Version specific pre-command available? #}
|
||||
{% if php_version in software_available[tool] and 'pre' in software_available[tool][php_version] %}
|
||||
&& {{ software_available[tool][php_version]['pre'] }} \
|
||||
@@ -129,113 +129,29 @@ RUN set -x true \
|
||||
{% elif 'all' in software_available[tool] and 'post' in software_available[tool]['all'] %}
|
||||
&& {{ software_available[tool]['all']['post'] }} \
|
||||
{% endif %}
|
||||
&& true
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
&& true
|
||||
|
||||
## Mysqldump-secure
|
||||
#RUN set -x \
|
||||
# && mkdir -p /usr/local/src \
|
||||
# && 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) \
|
||||
# && cp /usr/local/src/mysqldump-secure/bin/mysqldump-secure /usr/local/bin \
|
||||
# && cp /usr/local/src/mysqldump-secure/etc/mysqldump-secure.conf /etc \
|
||||
# && cp /usr/local/src/mysqldump-secure/etc/mysqldump-secure.cnf /etc \
|
||||
# && touch /var/log/mysqldump-secure.log \
|
||||
# && chown ${MY_USER}:${MY_GROUP} /etc/mysqldump-secure.* \
|
||||
# && chown ${MY_USER}:${MY_GROUP} /var/log/mysqldump-secure.log \
|
||||
# && chmod 0400 /etc/mysqldump-secure.conf \
|
||||
# && chmod 0400 /etc/mysqldump-secure.cnf \
|
||||
# && chmod 0644 /var/log/mysqldump-secure.log \
|
||||
# && sed -i'' 's/^COMPRESS_ARG=.*/COMPRESS_ARG="-9 -c"/g' /etc/mysqldump-secure.conf \
|
||||
# && sed -i'' 's/^DUMP_DIR=.*/DUMP_DIR="\/shared\/backups\/mysql"/g' /etc/mysqldump-secure.conf \
|
||||
# && sed -i'' 's/^DUMP_DIR_CHMOD=.*/DUMP_DIR_CHMOD="0755"/g' /etc/mysqldump-secure.conf \
|
||||
# && sed -i'' 's/^DUMP_FILE_CHMOD=.*/DUMP_FILE_CHMOD="0644"/g' /etc/mysqldump-secure.conf \
|
||||
# && sed -i'' 's/^LOG_CHMOD=.*/LOG_CHMOD="0644"/g' /etc/mysqldump-secure.conf \
|
||||
# && sed -i'' 's/^NAGIOS_LOG=.*/NAGIOS_LOG=0/g' /etc/mysqldump-secure.conf \
|
||||
# \
|
||||
# && cd / \
|
||||
# && rm -rf /usr/local/src/mysqldump-secure \
|
||||
# && mysqldump-secure --version | grep -E 'Version:\s*[.0-9]+'
|
||||
#
|
||||
## Awesome-CI
|
||||
#RUN set -x \
|
||||
# && mkdir -p /usr/local/src \
|
||||
# && 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) \
|
||||
# && ./configure --prefix=/usr/local \
|
||||
# && make install \
|
||||
# && cd / \
|
||||
# && rm -rf /usr/local/src/awesome-ci
|
||||
#
|
||||
## Awesome-CI requirements
|
||||
#RUN set -x \
|
||||
# && gem install mdl \
|
||||
# && gem install scss_lint \
|
||||
# && npm install -g eslint \
|
||||
# && npm install -g jsonlint \
|
||||
# && npm install -g mdlint \
|
||||
# && npm install -g gulp \
|
||||
# && rm -rf /root/.gem \
|
||||
# && rm -rf /root/.npm \
|
||||
# && rm -rf /root/.config \
|
||||
# && rm -rf /tmp/*
|
||||
#
|
||||
## Grunt
|
||||
#RUN set -x \
|
||||
# && npm install -g grunt \
|
||||
# && npm install -g grunt-cli \
|
||||
# && /usr/local/node/bin/grunt --version | grep -E 'v[.0-9]+' \
|
||||
# && rm -rf /root/.npm \
|
||||
# && rm -rf /root/.config \
|
||||
# && rm -rf /tmp/*
|
||||
#
|
||||
## Webpack
|
||||
#RUN set -x \
|
||||
# && npm install -g --save-dev webpack \
|
||||
# && /usr/local/node/bin/webpack --version | grep -E '[.0-9]+' \
|
||||
# && rm -rf /root/.npm \
|
||||
# && rm -rf /root/.config \
|
||||
# && rm -rf /tmp/*
|
||||
#
|
||||
## Linuxbrew
|
||||
#RUN set -x \
|
||||
# && mkdir -p /usr/local/src \
|
||||
# && 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 \
|
||||
# 'echo "PATH=/usr/local/src/linuxbrew/bin:/usr/local/src/linuxbrew/sbin:/usr/bin:/usr/sbin:/bin:/sbin" >> /home/devilbox/${v}' \
|
||||
# && v="${BASH_PROFILE}" su ${MY_USER} -c -p \
|
||||
# 'echo "export MANPATH=/usr/local/src/linuxbrew/share/man:${MANPATH}" >> /home/devilbox/${v}' \
|
||||
# && v="${BASH_PROFILE}" su ${MY_USER} -c -p \
|
||||
# 'echo "export INFOPATH=/usr/local/src/linuxbrew/share/man:${INFOPATH}" >> /home/devilbox/${v}' \
|
||||
# && su - ${MY_USER} -c '/usr/local/src/linuxbrew/bin/brew update' \
|
||||
# && su - ${MY_USER} -c '/usr/local/src/linuxbrew/bin/brew config' | grep -E 'HOMEBREW_VERSION:\s*[.0-9]+' \
|
||||
# && rm -rf /home/${MY_USER}/.cache
|
||||
#
|
||||
#
|
||||
#
|
||||
####
|
||||
#### Configure Bash
|
||||
####
|
||||
#RUN \
|
||||
# { \
|
||||
# echo "PATH=\${PATH}:/usr/local/bin:/usr/local/sbin:/usr/local/node/bin"; \
|
||||
# echo "export PATH"; \
|
||||
# echo ". /etc/bash-devilbox"; \
|
||||
# echo "if [ -d /etc/bash-custom.d/ ]; then"; \
|
||||
# echo " for f in /etc/bash-custom.d/*.sh ; do"; \
|
||||
# echo " if [ -r \"\${f}\" ]; then"; \
|
||||
# echo " . \"\${f}\""; \
|
||||
# echo " fi"; \
|
||||
# echo " done"; \
|
||||
# echo " unset f"; \
|
||||
# echo "fi"; \
|
||||
# } | tee -a /home/${MY_USER}/${BASH_PROFILE} /root/${BASH_PROFILE} \
|
||||
# && chown ${MY_USER}:${MY_GROUP} /home/${MY_USER}/${BASH_PROFILE}
|
||||
#
|
||||
|
||||
###
|
||||
### Configure Bash
|
||||
###
|
||||
RUN \
|
||||
{ \
|
||||
echo "PATH=\${PATH}:/usr/local/bin:/usr/local/sbin:/usr/local/node/bin"; \
|
||||
echo "export PATH"; \
|
||||
echo ". /etc/bash-devilbox"; \
|
||||
echo "if [ -d /etc/bash-custom.d/ ]; then"; \
|
||||
echo " for f in /etc/bash-custom.d/*.sh ; do"; \
|
||||
echo " if [ -r \"\${f}\" ]; then"; \
|
||||
echo " . \"\${f}\""; \
|
||||
echo " fi"; \
|
||||
echo " done"; \
|
||||
echo " unset f"; \
|
||||
echo "fi"; \
|
||||
} | tee -a /home/${MY_USER}/${BASH_PROFILE} /root/${BASH_PROFILE} \
|
||||
&& chown ${MY_USER}:${MY_GROUP} /home/${MY_USER}/${BASH_PROFILE}
|
||||
|
||||
|
||||
{% if debug %}
|
||||
@@ -252,8 +168,10 @@ RUN set -x \
|
||||
{% for tool in software_enabled %}
|
||||
{# Not disabled #}
|
||||
{% if ('disabled' not in software_available[tool]) or (php_version not in software_available[tool]['disabled']) %}
|
||||
{% if 'check' in software_available[tool] %}
|
||||
&& {{ software_available[tool]['check'] }} \
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
&& true
|
||||
|
||||
@@ -268,7 +186,6 @@ COPY ./data/bash-devilbox /etc/bash-devilbox
|
||||
COPY ./data/sudo-devilbox /etc/sudoers.d/devilbox
|
||||
|
||||
|
||||
|
||||
###
|
||||
### Volumes
|
||||
###
|
||||
@@ -280,7 +197,6 @@ VOLUME /var/log/php
|
||||
VOLUME /var/mail
|
||||
|
||||
|
||||
|
||||
###
|
||||
### Ports
|
||||
###
|
||||
|
||||
@@ -48,14 +48,22 @@ apt_repositories_enabled:
|
||||
### Software to actually install
|
||||
###
|
||||
software_enabled:
|
||||
# Composer needs to be first, others rely on it
|
||||
- composer
|
||||
# Normal packages start here
|
||||
- awesomeci
|
||||
- drush
|
||||
- drupalconsole
|
||||
- wpcli
|
||||
- symfony
|
||||
- grunt
|
||||
- laravel
|
||||
- linuxbrew
|
||||
- mysqldumpsecure
|
||||
- phalcon
|
||||
|
||||
- symfony
|
||||
- webpack
|
||||
- wpcli
|
||||
# Cleanup needs to be last
|
||||
- cleanup
|
||||
|
||||
|
||||
|
||||
@@ -109,6 +117,7 @@ apt_repositories_available:
|
||||
# all: is generic version of defines
|
||||
# 7.2: is specific version of defines
|
||||
# disabled: [optional] Array of PHP versions for which to disable this module
|
||||
# check: [optional] Include a check command to test if it was installed successfully
|
||||
#
|
||||
# all, 7.2, 7.1, 7.0, 5.6, 5.5, 5.4:
|
||||
# pre: [optional] Run command before 'command:' statement
|
||||
@@ -116,12 +125,38 @@ apt_repositories_available:
|
||||
# pre: [optional] Run command after 'command:' statement
|
||||
#
|
||||
software_available:
|
||||
awesomeci:
|
||||
check: |
|
||||
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]+' \
|
||||
all:
|
||||
command: |
|
||||
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) \
|
||||
&& ./configure --prefix=/usr/local \
|
||||
&& make install \
|
||||
&& cd / \
|
||||
&& rm -rf /usr/local/src/awesome-ci \
|
||||
# awesome-ci requirements
|
||||
post: |
|
||||
gem install mixlib-config -v 2.2.4 \
|
||||
&& gem install mdl \
|
||||
&& gem install scss_lint \
|
||||
&& npm install -g eslint \
|
||||
&& npm install -g jsonlint \
|
||||
&& npm install -g mdlint \
|
||||
&& npm install -g gulp \
|
||||
composer:
|
||||
check: composer --version 2>/dev/null | grep -E 'version\s*[.0-9]+' && rm -rf /root/.composer
|
||||
check: composer --version 2>/dev/null | grep -E 'version\s*[.0-9]+'
|
||||
all:
|
||||
command: curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer
|
||||
drush:
|
||||
check: drush --version | grep -E '[.0-9]+' && rm -rf /root/.drush
|
||||
check: drush --version | grep -E '[.0-9]+'
|
||||
5.5:
|
||||
pre: |
|
||||
git clone https://github.com/drush-ops/drush.git /usr/local/src/drush \
|
||||
@@ -146,13 +181,16 @@ software_available:
|
||||
&& rm -rf /usr/local/src/drush/examples \
|
||||
&& rm -rf /usr/local/src/drush/misc \
|
||||
&& rm -rf /usr/local/src/drush/tests \
|
||||
&& rm -rf /home/${MY_USER}/.composer \
|
||||
drupalconsole:
|
||||
disabled: [5.4]
|
||||
check: drupal --version | grep -E 'Drupal Console Launcher\s*[.0-9]'
|
||||
all:
|
||||
command: curl https://drupalconsole.com/installer -L -o /usr/local/bin/drupal
|
||||
post: chmod +x /usr/local/bin/drupal
|
||||
grunt:
|
||||
check: grunt --version | grep -E '[.0-9]+'
|
||||
all:
|
||||
command: npm install -g grunt grunt-cli
|
||||
laravel:
|
||||
check: laravel --version | grep -E '(Installer|version)\s*[.0-9]+'
|
||||
7.0:
|
||||
@@ -185,6 +223,44 @@ software_available:
|
||||
&& su - ${MY_USER} -c 'PATH=/usr/local/bin:$PATH; cd /usr/local/src/laravel-installer && composer install' \
|
||||
&& ln -s /usr/local/src/laravel-installer/laravel /usr/local/bin/laravel \
|
||||
&& rm -rf /usr/local/src/laravel-installer/laravel/.git \
|
||||
linuxbrew:
|
||||
check: su - ${MY_USER} -c '/usr/local/src/linuxbrew/bin/brew --version' | grep -E 'Homebrew\s*[.0-9]+'
|
||||
all:
|
||||
command: |
|
||||
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 \
|
||||
'echo "PATH=/usr/local/src/linuxbrew/bin:/usr/local/src/linuxbrew/sbin:/usr/bin:/usr/sbin:/bin:/sbin" >> /home/devilbox/${v}' \
|
||||
&& v="${BASH_PROFILE}" su ${MY_USER} -c -p \
|
||||
'echo "export MANPATH=/usr/local/src/linuxbrew/share/man:${MANPATH}" >> /home/devilbox/${v}' \
|
||||
&& v="${BASH_PROFILE}" su ${MY_USER} -c -p \
|
||||
'echo "export INFOPATH=/usr/local/src/linuxbrew/share/man:${INFOPATH}" >> /home/devilbox/${v}' \
|
||||
&& su - ${MY_USER} -c '/usr/local/src/linuxbrew/bin/brew update' \
|
||||
&& su - ${MY_USER} -c '/usr/local/src/linuxbrew/bin/brew config' \
|
||||
mysqldumpsecure:
|
||||
check: mysqldump-secure --version | grep -E 'Version:\s*[.0-9]+'
|
||||
all:
|
||||
command: |
|
||||
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) \
|
||||
&& cp /usr/local/src/mysqldump-secure/bin/mysqldump-secure /usr/local/bin \
|
||||
&& cp /usr/local/src/mysqldump-secure/etc/mysqldump-secure.conf /etc \
|
||||
&& cp /usr/local/src/mysqldump-secure/etc/mysqldump-secure.cnf /etc \
|
||||
&& touch /var/log/mysqldump-secure.log \
|
||||
&& chown ${MY_USER}:${MY_GROUP} /etc/mysqldump-secure.* \
|
||||
&& chown ${MY_USER}:${MY_GROUP} /var/log/mysqldump-secure.log \
|
||||
&& chmod 0400 /etc/mysqldump-secure.conf \
|
||||
&& chmod 0400 /etc/mysqldump-secure.cnf \
|
||||
&& chmod 0644 /var/log/mysqldump-secure.log \
|
||||
&& sed -i'' 's/^COMPRESS_ARG=.*/COMPRESS_ARG="-9 -c"/g' /etc/mysqldump-secure.conf \
|
||||
&& sed -i'' 's/^DUMP_DIR=.*/DUMP_DIR="\/shared\/backups\/mysql"/g' /etc/mysqldump-secure.conf \
|
||||
&& sed -i'' 's/^DUMP_DIR_CHMOD=.*/DUMP_DIR_CHMOD="0755"/g' /etc/mysqldump-secure.conf \
|
||||
&& sed -i'' 's/^DUMP_FILE_CHMOD=.*/DUMP_FILE_CHMOD="0644"/g' /etc/mysqldump-secure.conf \
|
||||
&& sed -i'' 's/^LOG_CHMOD=.*/LOG_CHMOD="0644"/g' /etc/mysqldump-secure.conf \
|
||||
&& sed -i'' 's/^NAGIOS_LOG=.*/NAGIOS_LOG=0/g' /etc/mysqldump-secure.conf \
|
||||
&& cd / \
|
||||
&& rm -rf /usr/local/src/mysqldump-secure \
|
||||
phalcon:
|
||||
check: phalcon commands | grep -E '[.0-9]+'
|
||||
5.4:
|
||||
@@ -213,10 +289,32 @@ software_available:
|
||||
all:
|
||||
command: curl 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
|
||||
|
||||
|
||||
|
||||
|
||||
webpack:
|
||||
check: webpack --version | grep -E '[.0-9]+'
|
||||
all:
|
||||
command: npm install -g webpack webpack-cli
|
||||
cleanup:
|
||||
all:
|
||||
command: |
|
||||
rm -rf /home/${MY_USER}/.*json \
|
||||
&& rm -rf /home/${MY_USER}/.cache \
|
||||
&& rm -rf /home/${MY_USER}/.composer \
|
||||
&& rm -rf /home/${MY_USER}/.config \
|
||||
&& rm -rf /home/${MY_USER}/.drush \
|
||||
&& rm -rf /home/${MY_USER}/.gem \
|
||||
&& rm -rf /home/${MY_USER}/.npm \
|
||||
&& rm -rf /home/${MY_USER}/.subversion \
|
||||
\
|
||||
&& rm -rf /root/.*json \
|
||||
&& rm -rf /root/.cache \
|
||||
&& rm -rf /root/.composer \
|
||||
&& rm -rf /root/.config \
|
||||
&& rm -rf /root/.drush \
|
||||
&& rm -rf /root/.gem \
|
||||
&& rm -rf /root/.npm \
|
||||
&& rm -rf /root/.subversion \
|
||||
\
|
||||
&& rm -rf /tmp/* \
|
||||
|
||||
|
||||
################################################################################
|
||||
|
||||
Reference in New Issue
Block a user