Compare commits

..

21 Commits
0.20 ... 0.27

Author SHA1 Message Date
cytopia
89cd367c1e Merge pull request #39 from devilbox/release-0.27
Sane defaults for php.ini
2018-07-29 10:16:52 +02:00
cytopia
99754afd72 max_input_vars does not yet exist in PHP 5.3 2018-07-28 11:46:59 +02:00
cytopia
b2a7e7b041 Ensure memory_limit, post_max_size and upload_max_filesize have a correct ration 2018-07-28 11:39:59 +02:00
cytopia
9c9d325724 Ensure deprecated ini settings are removed in respective versions 2018-07-28 11:28:24 +02:00
cytopia
1b6799da58 Sane defaults for php.ini 2018-07-28 10:55:57 +02:00
cytopia
b66ddfbd3e Merge pull request #38 from devilbox/linkcheck
Add tool: linkcheck
2018-07-28 08:58:09 +02:00
cytopia
1663d3af7d Add tool: linkcheck 2018-07-27 19:36:45 +02:00
cytopia
46512b05a1 Merge pull request #37 from devilbox/release-0.25
Add PHPUnit
2018-07-27 18:03:52 +02:00
cytopia
a95be98d1c Add PHPUnit 2018-07-27 14:04:39 +02:00
cytopia
ba0709f3f0 Merge pull request #35 from devilbox/release-0.24
Add tool: Ansible
2018-07-23 08:27:23 +02:00
cytopia
329e7bf2ec Fix build error 2018-07-22 20:54:05 +02:00
cytopia
d84cc5708c Ansible dependencies 2018-07-22 20:38:52 +02:00
cytopia
21177a801c Add tool: Ansible 2018-07-22 10:42:27 +02:00
cytopia
d9ae1e9ff5 Merge pull request #34 from devilbox/release-0.23
Add tool: patch
2018-07-20 23:22:07 +02:00
cytopia
c6750acfce Add tool: patch 2018-07-20 19:00:08 +02:00
cytopia
5751f9ae96 Merge pull request #33 from devilbox/release-0.22
Add tool: Codeception
2018-07-20 18:58:57 +02:00
cytopia
72b675fa2a Add tool: Codeception 2018-07-20 16:23:35 +02:00
cytopia
1c867e1cfc Merge pull request #32 from Tuurlijk/master
Add mhsendmail for optional mailhandling by MailHog
2018-07-16 08:41:03 +02:00
Michiel Roos
e3512da650 Add mhsendmail so it can be used in php.ini to enable mailhandling by MailHog 2018-07-13 22:44:06 +02:00
cytopia
b2dc2c7704 Merge pull request #31 from devilbox/release-0.21
Fix swoole for PHP 7.0
2018-06-17 23:30:56 +02:00
cytopia
a3819e9add Fix swoole for PHP 7.0 2018-06-17 19:03:47 +02:00
59 changed files with 1053 additions and 61 deletions

View File

@@ -56,6 +56,7 @@ RUN set -x \
###
### Copy files
###
COPY ./data/php.d/php-5.3.ini /usr/local/etc/php/conf.d/yyy-devilbox-01-base.ini
COPY ./data/docker-entrypoint.sh /docker-entrypoint.sh
COPY ./data/docker-entrypoint.d /docker-entrypoint.d
COPY ./data/php-fpm.conf /usr/local/etc/php-fpm.conf

View File

@@ -56,6 +56,7 @@ RUN set -x \
###
### Copy files
###
COPY ./data/php.d/php-5.4.ini /usr/local/etc/php/conf.d/yyy-devilbox-01-base.ini
COPY ./data/docker-entrypoint.sh /docker-entrypoint.sh
COPY ./data/docker-entrypoint.d /docker-entrypoint.d
COPY ./data/php-fpm.conf /usr/local/etc/php-fpm.conf

View File

@@ -56,6 +56,7 @@ RUN set -x \
###
### Copy files
###
COPY ./data/php.d/php-5.5.ini /usr/local/etc/php/conf.d/yyy-devilbox-01-base.ini
COPY ./data/docker-entrypoint.sh /docker-entrypoint.sh
COPY ./data/docker-entrypoint.d /docker-entrypoint.d
COPY ./data/php-fpm.conf /usr/local/etc/php-fpm.conf

View File

@@ -56,6 +56,7 @@ RUN set -x \
###
### Copy files
###
COPY ./data/php.d/php-5.6.ini /usr/local/etc/php/conf.d/yyy-devilbox-01-base.ini
COPY ./data/docker-entrypoint.sh /docker-entrypoint.sh
COPY ./data/docker-entrypoint.d /docker-entrypoint.d
COPY ./data/php-fpm.conf /usr/local/etc/php-fpm.conf

View File

@@ -56,6 +56,7 @@ RUN set -x \
###
### Copy files
###
COPY ./data/php.d/php-7.0.ini /usr/local/etc/php/conf.d/yyy-devilbox-01-base.ini
COPY ./data/docker-entrypoint.sh /docker-entrypoint.sh
COPY ./data/docker-entrypoint.d /docker-entrypoint.d
COPY ./data/php-fpm.conf /usr/local/etc/php-fpm.conf

View File

@@ -56,6 +56,7 @@ RUN set -x \
###
### Copy files
###
COPY ./data/php.d/php-7.1.ini /usr/local/etc/php/conf.d/yyy-devilbox-01-base.ini
COPY ./data/docker-entrypoint.sh /docker-entrypoint.sh
COPY ./data/docker-entrypoint.d /docker-entrypoint.d
COPY ./data/php-fpm.conf /usr/local/etc/php-fpm.conf

View File

@@ -56,6 +56,7 @@ RUN set -x \
###
### Copy files
###
COPY ./data/php.d/php-7.2.ini /usr/local/etc/php/conf.d/yyy-devilbox-01-base.ini
COPY ./data/docker-entrypoint.sh /docker-entrypoint.sh
COPY ./data/docker-entrypoint.d /docker-entrypoint.d
COPY ./data/php-fpm.conf /usr/local/etc/php-fpm.conf

View File

@@ -56,6 +56,7 @@ RUN set -x \
###
### Copy files
###
COPY ./data/php.d/php-7.3.ini /usr/local/etc/php/conf.d/yyy-devilbox-01-base.ini
COPY ./data/docker-entrypoint.sh /docker-entrypoint.sh
COPY ./data/docker-entrypoint.d /docker-entrypoint.d
COPY ./data/php-fpm.conf /usr/local/etc/php-fpm.conf

View File

@@ -0,0 +1,43 @@
; ############################################################
; # Devilbox PHP defaults for all Docker images
; ############################################################
; This php.ini is applied to the base container and inherited
; by every image built on top of it.
; Note that prod and work images overwrite specific settings
; for their use-case.
[PHP]
; Memory
; Note: "memory_limit" should be larger than "post_max_size"
memory_limit = 512M
; Timeouts
max_execution_time = 180
max_input_time = 180
; Uploads
; Note: "post_max_size" should be greater than "upload_max_filesize"
post_max_size = 384M
upload_max_filesize = 256M
max_file_uploads = 20
; Vars
variables_order = EGPCS
max_input_nesting_level = 64
; Error reporting
; Note: error_log is dynamic and handled during start to set appropriate setting
error_reporting = E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED
xmlrpc_errors = Off
report_memleaks = On
display_errors = Off
display_startup_errors = Off
track_errors = On
log_errors = On

View File

@@ -0,0 +1,44 @@
; ############################################################
; # Devilbox PHP defaults for all Docker images
; ############################################################
; This php.ini is applied to the base container and inherited
; by every image built on top of it.
; Note that prod and work images overwrite specific settings
; for their use-case.
[PHP]
; Memory
; Note: "memory_limit" should be larger than "post_max_size"
memory_limit = 512M
; Timeouts
max_execution_time = 180
max_input_time = 180
; Uploads
; Note: "post_max_size" should be greater than "upload_max_filesize"
post_max_size = 384M
upload_max_filesize = 256M
max_file_uploads = 20
; Vars
variables_order = EGPCS
max_input_vars = 8000
max_input_nesting_level = 64
; Error reporting
; Note: error_log is dynamic and handled during start to set appropriate setting
error_reporting = E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED
xmlrpc_errors = Off
report_memleaks = On
display_errors = Off
display_startup_errors = Off
track_errors = On
log_errors = On

View File

@@ -0,0 +1,44 @@
; ############################################################
; # Devilbox PHP defaults for all Docker images
; ############################################################
; This php.ini is applied to the base container and inherited
; by every image built on top of it.
; Note that prod and work images overwrite specific settings
; for their use-case.
[PHP]
; Memory
; Note: "memory_limit" should be larger than "post_max_size"
memory_limit = 512M
; Timeouts
max_execution_time = 180
max_input_time = 180
; Uploads
; Note: "post_max_size" should be greater than "upload_max_filesize"
post_max_size = 384M
upload_max_filesize = 256M
max_file_uploads = 20
; Vars
variables_order = EGPCS
max_input_vars = 8000
max_input_nesting_level = 64
; Error reporting
; Note: error_log is dynamic and handled during start to set appropriate setting
error_reporting = E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED
xmlrpc_errors = Off
report_memleaks = On
display_errors = Off
display_startup_errors = Off
track_errors = On
log_errors = On

View File

@@ -0,0 +1,44 @@
; ############################################################
; # Devilbox PHP defaults for all Docker images
; ############################################################
; This php.ini is applied to the base container and inherited
; by every image built on top of it.
; Note that prod and work images overwrite specific settings
; for their use-case.
[PHP]
; Memory
; Note: "memory_limit" should be larger than "post_max_size"
memory_limit = 512M
; Timeouts
max_execution_time = 180
max_input_time = 180
; Uploads
; Note: "post_max_size" should be greater than "upload_max_filesize"
post_max_size = 384M
upload_max_filesize = 256M
max_file_uploads = 20
; Vars
variables_order = EGPCS
max_input_vars = 8000
max_input_nesting_level = 64
; Error reporting
; Note: error_log is dynamic and handled during start to set appropriate setting
error_reporting = E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED
xmlrpc_errors = Off
report_memleaks = On
display_errors = Off
display_startup_errors = Off
track_errors = On
log_errors = On

View File

@@ -0,0 +1,44 @@
; ############################################################
; # Devilbox PHP defaults for all Docker images
; ############################################################
; This php.ini is applied to the base container and inherited
; by every image built on top of it.
; Note that prod and work images overwrite specific settings
; for their use-case.
[PHP]
; Memory
; Note: "memory_limit" should be larger than "post_max_size"
memory_limit = 512M
; Timeouts
max_execution_time = 180
max_input_time = 180
; Uploads
; Note: "post_max_size" should be greater than "upload_max_filesize"
post_max_size = 384M
upload_max_filesize = 256M
max_file_uploads = 20
; Vars
variables_order = EGPCS
max_input_vars = 8000
max_input_nesting_level = 64
; Error reporting
; Note: error_log is dynamic and handled during start to set appropriate setting
error_reporting = E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED
xmlrpc_errors = Off
report_memleaks = On
display_errors = Off
display_startup_errors = Off
track_errors = On
log_errors = On

View File

@@ -0,0 +1,44 @@
; ############################################################
; # Devilbox PHP defaults for all Docker images
; ############################################################
; This php.ini is applied to the base container and inherited
; by every image built on top of it.
; Note that prod and work images overwrite specific settings
; for their use-case.
[PHP]
; Memory
; Note: "memory_limit" should be larger than "post_max_size"
memory_limit = 512M
; Timeouts
max_execution_time = 180
max_input_time = 180
; Uploads
; Note: "post_max_size" should be greater than "upload_max_filesize"
post_max_size = 384M
upload_max_filesize = 256M
max_file_uploads = 20
; Vars
variables_order = EGPCS
max_input_vars = 8000
max_input_nesting_level = 64
; Error reporting
; Note: error_log is dynamic and handled during start to set appropriate setting
error_reporting = E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED
xmlrpc_errors = Off
report_memleaks = On
display_errors = Off
display_startup_errors = Off
track_errors = On
log_errors = On

View File

@@ -0,0 +1,43 @@
; ############################################################
; # Devilbox PHP defaults for all Docker images
; ############################################################
; This php.ini is applied to the base container and inherited
; by every image built on top of it.
; Note that prod and work images overwrite specific settings
; for their use-case.
[PHP]
; Memory
; Note: "memory_limit" should be larger than "post_max_size"
memory_limit = 512M
; Timeouts
max_execution_time = 180
max_input_time = 180
; Uploads
; Note: "post_max_size" should be greater than "upload_max_filesize"
post_max_size = 384M
upload_max_filesize = 256M
max_file_uploads = 20
; Vars
variables_order = EGPCS
max_input_vars = 8000
max_input_nesting_level = 64
; Error reporting
; Note: error_log is dynamic and handled during start to set appropriate setting
error_reporting = E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED
xmlrpc_errors = Off
report_memleaks = On
display_errors = Off
display_startup_errors = Off
log_errors = On

View File

@@ -0,0 +1,43 @@
; ############################################################
; # Devilbox PHP defaults for all Docker images
; ############################################################
; This php.ini is applied to the base container and inherited
; by every image built on top of it.
; Note that prod and work images overwrite specific settings
; for their use-case.
[PHP]
; Memory
; Note: "memory_limit" should be larger than "post_max_size"
memory_limit = 512M
; Timeouts
max_execution_time = 180
max_input_time = 180
; Uploads
; Note: "post_max_size" should be greater than "upload_max_filesize"
post_max_size = 384M
upload_max_filesize = 256M
max_file_uploads = 20
; Vars
variables_order = EGPCS
max_input_vars = 8000
max_input_nesting_level = 64
; Error reporting
; Note: error_log is dynamic and handled during start to set appropriate setting
error_reporting = E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED
xmlrpc_errors = Off
report_memleaks = On
display_errors = Off
display_startup_errors = Off
log_errors = On

View File

@@ -215,7 +215,7 @@ RUN set -x \
&& /usr/local/bin/docker-php-ext-configure soap --with-libxml-dir=/usr \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) soap \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) sockets \
&& pecl install swoole \
&& pecl install swoole-2.2.0 \
&& docker-php-ext-enable swoole \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) sysvmsg \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) sysvsem \

View File

@@ -48,6 +48,7 @@ RUN set -x \
###
### Copy files
###
COPY ./data/php.d/php-5.3.ini /usr/local/etc/php/conf.d/yyy-devilbox-03-prod.ini
COPY ./data/docker-entrypoint.sh /docker-entrypoint.sh
COPY ./data/docker-entrypoint.d/*.sh /docker-entrypoint.d/
COPY ./data/postfix.sh /usr/local/sbin/postfix.sh

View File

@@ -48,6 +48,7 @@ RUN set -x \
###
### Copy files
###
COPY ./data/php.d/php-5.4.ini /usr/local/etc/php/conf.d/yyy-devilbox-03-prod.ini
COPY ./data/docker-entrypoint.sh /docker-entrypoint.sh
COPY ./data/docker-entrypoint.d/*.sh /docker-entrypoint.d/
COPY ./data/postfix.sh /usr/local/sbin/postfix.sh

View File

@@ -48,6 +48,7 @@ RUN set -x \
###
### Copy files
###
COPY ./data/php.d/php-5.5.ini /usr/local/etc/php/conf.d/yyy-devilbox-03-prod.ini
COPY ./data/docker-entrypoint.sh /docker-entrypoint.sh
COPY ./data/docker-entrypoint.d/*.sh /docker-entrypoint.d/
COPY ./data/postfix.sh /usr/local/sbin/postfix.sh

View File

@@ -48,6 +48,7 @@ RUN set -x \
###
### Copy files
###
COPY ./data/php.d/php-5.6.ini /usr/local/etc/php/conf.d/yyy-devilbox-03-prod.ini
COPY ./data/docker-entrypoint.sh /docker-entrypoint.sh
COPY ./data/docker-entrypoint.d/*.sh /docker-entrypoint.d/
COPY ./data/postfix.sh /usr/local/sbin/postfix.sh

View File

@@ -48,6 +48,7 @@ RUN set -x \
###
### Copy files
###
COPY ./data/php.d/php-7.0.ini /usr/local/etc/php/conf.d/yyy-devilbox-03-prod.ini
COPY ./data/docker-entrypoint.sh /docker-entrypoint.sh
COPY ./data/docker-entrypoint.d/*.sh /docker-entrypoint.d/
COPY ./data/postfix.sh /usr/local/sbin/postfix.sh

View File

@@ -48,6 +48,7 @@ RUN set -x \
###
### Copy files
###
COPY ./data/php.d/php-7.1.ini /usr/local/etc/php/conf.d/yyy-devilbox-03-prod.ini
COPY ./data/docker-entrypoint.sh /docker-entrypoint.sh
COPY ./data/docker-entrypoint.d/*.sh /docker-entrypoint.d/
COPY ./data/postfix.sh /usr/local/sbin/postfix.sh

View File

@@ -48,6 +48,7 @@ RUN set -x \
###
### Copy files
###
COPY ./data/php.d/php-7.2.ini /usr/local/etc/php/conf.d/yyy-devilbox-03-prod.ini
COPY ./data/docker-entrypoint.sh /docker-entrypoint.sh
COPY ./data/docker-entrypoint.d/*.sh /docker-entrypoint.d/
COPY ./data/postfix.sh /usr/local/sbin/postfix.sh

View File

@@ -48,6 +48,7 @@ RUN set -x \
###
### Copy files
###
COPY ./data/php.d/php-7.3.ini /usr/local/etc/php/conf.d/yyy-devilbox-03-prod.ini
COPY ./data/docker-entrypoint.sh /docker-entrypoint.sh
COPY ./data/docker-entrypoint.d/*.sh /docker-entrypoint.d/
COPY ./data/postfix.sh /usr/local/sbin/postfix.sh

View File

@@ -0,0 +1,9 @@
; ############################################################
; # Devilbox PHP defaults for all production Docker images
; ############################################################
; This php.ini is applied to the prod container and inherited
; by every image built on top of it.
[PHP]

View File

@@ -0,0 +1,9 @@
; ############################################################
; # Devilbox PHP defaults for all production Docker images
; ############################################################
; This php.ini is applied to the prod container and inherited
; by every image built on top of it.
[PHP]

View File

@@ -0,0 +1,9 @@
; ############################################################
; # Devilbox PHP defaults for all production Docker images
; ############################################################
; This php.ini is applied to the prod container and inherited
; by every image built on top of it.
[PHP]

View File

@@ -0,0 +1,9 @@
; ############################################################
; # Devilbox PHP defaults for all production Docker images
; ############################################################
; This php.ini is applied to the prod container and inherited
; by every image built on top of it.
[PHP]

View File

@@ -0,0 +1,9 @@
; ############################################################
; # Devilbox PHP defaults for all production Docker images
; ############################################################
; This php.ini is applied to the prod container and inherited
; by every image built on top of it.
[PHP]

View File

@@ -0,0 +1,9 @@
; ############################################################
; # Devilbox PHP defaults for all production Docker images
; ############################################################
; This php.ini is applied to the prod container and inherited
; by every image built on top of it.
[PHP]

View File

@@ -0,0 +1,9 @@
; ############################################################
; # Devilbox PHP defaults for all production Docker images
; ############################################################
; This php.ini is applied to the prod container and inherited
; by every image built on top of it.
[PHP]

View File

@@ -0,0 +1,9 @@
; ############################################################
; # Devilbox PHP defaults for all production Docker images
; ############################################################
; This php.ini is applied to the prod container and inherited
; by every image built on top of it.
[PHP]

View File

@@ -46,6 +46,7 @@ RUN set -x \
autoconf \
automake \
bash-completion \
build-essential \
bzip2 \
coreutils \
curl \
@@ -62,6 +63,8 @@ RUN set -x \
iputils-ping \
less \
libc-dev \
libffi-dev\
libssl-dev\
make \
mongodb-org-shell \
mongodb-org-tools \
@@ -72,8 +75,12 @@ RUN set -x \
netcat \
nodejs \
openssh-client \
patch \
postgresql-client \
python-cffi \
python-dev \
python-pip \
python-wheel \
redis-tools \
rubygems \
ruby-dev \
@@ -95,6 +102,10 @@ RUN set -x \
RUN set -x \
# composer
&& curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer \
# ansible
&& pip install --upgrade setuptools \
&& pip install ansible \
\
# awesomeci
&& git clone https://github.com/cytopia/awesome-ci.git /usr/local/src/awesome-ci \
&& cd /usr/local/src/awesome-ci \
@@ -112,6 +123,10 @@ RUN set -x \
&& npm install -g mdlint \
&& npm install -g gulp \
\
# codeception
&& COMPOSER_HOME="/usr/local/src/composer" composer global require codeception/codeception --dev \
&& ln -s /usr/local/src/composer/vendor/codeception/codeception/codecept /usr/local/bin/codecept \
\
# drush
&& git clone https://github.com/drush-ops/drush.git /usr/local/src/drush \
&& cd /usr/local/src/drush \
@@ -134,18 +149,27 @@ RUN set -x \
\
# grunt
&& npm install -g grunt grunt-cli \
# linkcheck
&& curl https://raw.githubusercontent.com/cytopia/linkcheck/master/linkcheck > /usr/local/bin/linkcheck \
&& chmod +x /usr/local/bin/linkcheck \
\
# 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}' \
'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}' \
'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}' \
'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' \
\
# mhsendmail
&& wget https://github.com/mailhog/mhsendmail/releases/download/v0.2.0/mhsendmail_linux_amd64 \
&& chmod +x mhsendmail_linux_amd64 \
&& mv mhsendmail_linux_amd64 /usr/local/bin/mhsendmai \
\
# mysqldumpsecure
&& git clone https://github.com/cytopia/mysqldump-secure.git /usr/local/src/mysqldump-secure \
&& cd /usr/local/src/mysqldump-secure \
@@ -187,6 +211,10 @@ RUN set -x \
&& curl -qL https://github.com/squizlabs/PHP_CodeSniffer/releases/download/2.9.0/phpcbf.phar > /usr/local/bin/phpcbf 2>/dev/null \
&& chmod +x /usr/local/bin/phpcbf \
\
# phpunit
&& curl -qL https://phar.phpunit.de/phpunit-4.phar > /usr/local/bin/phpunit 2>/dev/null \
&& chmod +x /usr/local/bin/phpunit \
\
# sass
&& gem install sass \
# webpack
@@ -253,6 +281,7 @@ RUN set -x \
RUN set -x \
&& composer --version 2>/dev/null | grep -E 'version\s*[.0-9]+' \
&& ansible --version | grep -E '^ansible [.0-9]+$' \
&& mdl --version | grep -E '[.0-9]+' \
&& scss-lint --version | grep -E '[.0-9]+' \
&& eslint -v | grep -E '[.0-9]+' \
@@ -260,14 +289,17 @@ RUN set -x \
&& mdlint --version | grep -E '[.0-9]+' \
&& gulp --version | grep -E '[.0-9]+' \
\
&& codecept --version 2>/dev/null | grep -E '^Codeception(\sversion)?\s[.0-9]+$' \
&& drush --version | grep -E '[.0-9]+' \
&& git-flow version | grep -E '[.0-9]+' \
&& grunt --version | grep -E '[.0-9]+' \
&& linkcheck --version | grep -E '^linkcheck\sv[.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]+' \
&& phpcs --version | grep -E 'version [.0-9]+' \
&& phpcbf --version | grep -E 'version [.0-9]+' \
&& phpunit --version | grep -iE '^PHPUnit\s[.0-9]+' \
&& sass --version | grep -E '[.0-9]+' \
&& webpack --version | grep -E '[.0-9]+' \
&& wp --allow-root --version | grep -E '[.0-9]+' \
@@ -278,7 +310,7 @@ RUN set -x \
###
### Copy files
###
COPY ./data/php.d/error-reporting.ini /usr/local/etc/php/conf.d/devilbox-error-reporting.ini
COPY ./data/php.d/php-5.3.ini /usr/local/etc/php/conf.d/yyy-devilbox-04-work.ini
COPY ./data/docker-entrypoint.sh /docker-entrypoint.sh
COPY ./data/docker-entrypoint.d/*.sh /docker-entrypoint.d/
COPY ./data/bash-devilbox /etc/bash-devilbox

View File

@@ -46,6 +46,7 @@ RUN set -x \
autoconf \
automake \
bash-completion \
build-essential \
bzip2 \
coreutils \
curl \
@@ -62,6 +63,8 @@ RUN set -x \
iputils-ping \
less \
libc-dev \
libffi-dev\
libssl-dev\
make \
mongodb-org-shell \
mongodb-org-tools \
@@ -72,8 +75,12 @@ RUN set -x \
netcat \
nodejs \
openssh-client \
patch \
postgresql-client \
python-cffi \
python-dev \
python-pip \
python-wheel \
redis-tools \
rubygems \
ruby-dev \
@@ -95,6 +102,10 @@ RUN set -x \
RUN set -x \
# composer
&& curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer \
# ansible
&& pip install --upgrade setuptools \
&& pip install ansible \
\
# awesomeci
&& git clone https://github.com/cytopia/awesome-ci.git /usr/local/src/awesome-ci \
&& cd /usr/local/src/awesome-ci \
@@ -112,6 +123,10 @@ RUN set -x \
&& npm install -g mdlint \
&& npm install -g gulp \
\
# codeception
&& COMPOSER_HOME="/usr/local/src/composer" composer global require codeception/codeception --dev \
&& ln -s /usr/local/src/composer/vendor/codeception/codeception/codecept /usr/local/bin/codecept \
\
# drush
&& git clone https://github.com/drush-ops/drush.git /usr/local/src/drush \
&& cd /usr/local/src/drush \
@@ -144,18 +159,27 @@ RUN set -x \
&& ln -s /usr/local/src/laravel-installer/laravel /usr/local/bin/laravel \
&& rm -rf /usr/local/src/laravel-installer/laravel/.git \
\
# linkcheck
&& curl https://raw.githubusercontent.com/cytopia/linkcheck/master/linkcheck > /usr/local/bin/linkcheck \
&& chmod +x /usr/local/bin/linkcheck \
\
# 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}' \
'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}' \
'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}' \
'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' \
\
# mhsendmail
&& wget https://github.com/mailhog/mhsendmail/releases/download/v0.2.0/mhsendmail_linux_amd64 \
&& chmod +x mhsendmail_linux_amd64 \
&& mv mhsendmail_linux_amd64 /usr/local/bin/mhsendmai \
\
# mysqldumpsecure
&& git clone https://github.com/cytopia/mysqldump-secure.git /usr/local/src/mysqldump-secure \
&& cd /usr/local/src/mysqldump-secure \
@@ -197,6 +221,10 @@ RUN set -x \
&& curl -q https://squizlabs.github.io/PHP_CodeSniffer/phpcbf.phar > /usr/local/bin/phpcbf 2>/dev/null \
&& chmod +x /usr/local/bin/phpcbf \
\
# phpunit
&& curl -qL https://phar.phpunit.de/phpunit-4.phar > /usr/local/bin/phpunit 2>/dev/null \
&& chmod +x /usr/local/bin/phpunit \
\
# sass
&& gem install sass \
# symfony
@@ -266,6 +294,7 @@ RUN set -x \
RUN set -x \
&& composer --version 2>/dev/null | grep -E 'version\s*[.0-9]+' \
&& ansible --version | grep -E '^ansible [.0-9]+$' \
&& mdl --version | grep -E '[.0-9]+' \
&& scss-lint --version | grep -E '[.0-9]+' \
&& eslint -v | grep -E '[.0-9]+' \
@@ -273,15 +302,18 @@ RUN set -x \
&& mdlint --version | grep -E '[.0-9]+' \
&& gulp --version | grep -E '[.0-9]+' \
\
&& codecept --version 2>/dev/null | grep -E '^Codeception(\sversion)?\s[.0-9]+$' \
&& drush --version | grep -E '[.0-9]+' \
&& git-flow version | grep -E '[.0-9]+' \
&& grunt --version | grep -E '[.0-9]+' \
&& laravel --version | grep -E '(Installer|version)\s*[.0-9]+' \
&& linkcheck --version | grep -E '^linkcheck\sv[.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]+' \
&& phpcs --version | grep -E 'version [.0-9]+' \
&& phpcbf --version | grep -E 'version [.0-9]+' \
&& phpunit --version | grep -iE '^PHPUnit\s[.0-9]+' \
&& sass --version | grep -E '[.0-9]+' \
&& symfony --version | grep -E 'version\s*[.0-9]+' \
&& webpack --version | grep -E '[.0-9]+' \
@@ -293,7 +325,7 @@ RUN set -x \
###
### Copy files
###
COPY ./data/php.d/error-reporting.ini /usr/local/etc/php/conf.d/devilbox-error-reporting.ini
COPY ./data/php.d/php-5.4.ini /usr/local/etc/php/conf.d/yyy-devilbox-04-work.ini
COPY ./data/docker-entrypoint.sh /docker-entrypoint.sh
COPY ./data/docker-entrypoint.d/*.sh /docker-entrypoint.d/
COPY ./data/bash-devilbox /etc/bash-devilbox

View File

@@ -46,6 +46,7 @@ RUN set -x \
autoconf \
automake \
bash-completion \
build-essential \
bzip2 \
coreutils \
curl \
@@ -62,6 +63,8 @@ RUN set -x \
iputils-ping \
less \
libc-dev \
libffi-dev\
libssl-dev\
make \
mongodb-org-shell \
mongodb-org-tools \
@@ -72,8 +75,12 @@ RUN set -x \
netcat \
nodejs \
openssh-client \
patch \
postgresql-client \
python-cffi \
python-dev \
python-pip \
python-wheel \
redis-tools \
rubygems \
ruby-dev \
@@ -95,6 +102,10 @@ RUN set -x \
RUN set -x \
# composer
&& curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer \
# ansible
&& pip install --upgrade setuptools \
&& pip install ansible \
\
# awesomeci
&& git clone https://github.com/cytopia/awesome-ci.git /usr/local/src/awesome-ci \
&& cd /usr/local/src/awesome-ci \
@@ -112,6 +123,10 @@ RUN set -x \
&& npm install -g mdlint \
&& npm install -g gulp \
\
# codeception
&& COMPOSER_HOME="/usr/local/src/composer" composer global require codeception/codeception --dev \
&& ln -s /usr/local/src/composer/vendor/codeception/codeception/codecept /usr/local/bin/codecept \
\
# drush
&& git clone https://github.com/drush-ops/drush.git /usr/local/src/drush \
&& cd /usr/local/src/drush \
@@ -147,18 +162,27 @@ RUN set -x \
&& ln -s /usr/local/src/laravel-installer/laravel /usr/local/bin/laravel \
&& rm -rf /usr/local/src/laravel-installer/laravel/.git \
\
# linkcheck
&& curl https://raw.githubusercontent.com/cytopia/linkcheck/master/linkcheck > /usr/local/bin/linkcheck \
&& chmod +x /usr/local/bin/linkcheck \
\
# 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}' \
'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}' \
'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}' \
'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' \
\
# mhsendmail
&& wget https://github.com/mailhog/mhsendmail/releases/download/v0.2.0/mhsendmail_linux_amd64 \
&& chmod +x mhsendmail_linux_amd64 \
&& mv mhsendmail_linux_amd64 /usr/local/bin/mhsendmai \
\
# mysqldumpsecure
&& git clone https://github.com/cytopia/mysqldump-secure.git /usr/local/src/mysqldump-secure \
&& cd /usr/local/src/mysqldump-secure \
@@ -200,6 +224,10 @@ RUN set -x \
&& curl -q https://squizlabs.github.io/PHP_CodeSniffer/phpcbf.phar > /usr/local/bin/phpcbf 2>/dev/null \
&& chmod +x /usr/local/bin/phpcbf \
\
# phpunit
&& curl -qL https://phar.phpunit.de/phpunit-4.phar > /usr/local/bin/phpunit 2>/dev/null \
&& chmod +x /usr/local/bin/phpunit \
\
# photon
&& COMPOSER_HOME="/usr/local/src/composer" composer global require "photoncms/installer" \
&& ln -s /usr/local/src/composer/vendor/photoncms/installer/photon /usr/local/bin/photon \
@@ -273,6 +301,7 @@ RUN set -x \
RUN set -x \
&& composer --version 2>/dev/null | grep -E 'version\s*[.0-9]+' \
&& ansible --version | grep -E '^ansible [.0-9]+$' \
&& mdl --version | grep -E '[.0-9]+' \
&& scss-lint --version | grep -E '[.0-9]+' \
&& eslint -v | grep -E '[.0-9]+' \
@@ -280,16 +309,19 @@ RUN set -x \
&& mdlint --version | grep -E '[.0-9]+' \
&& gulp --version | grep -E '[.0-9]+' \
\
&& codecept --version 2>/dev/null | grep -E '^Codeception(\sversion)?\s[.0-9]+$' \
&& drush --version | grep -E '[.0-9]+' \
&& drupal --version | grep -E 'Drupal Console Launcher\s*[.0-9]' \
&& git-flow version | grep -E '[.0-9]+' \
&& grunt --version | grep -E '[.0-9]+' \
&& laravel --version | grep -E '(Installer|version)\s*[.0-9]+' \
&& linkcheck --version | grep -E '^linkcheck\sv[.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]+' \
&& phpcs --version | grep -E 'version [.0-9]+' \
&& phpcbf --version | grep -E 'version [.0-9]+' \
&& phpunit --version | grep -iE '^PHPUnit\s[.0-9]+' \
&& photon --version | grep -E 'Installer [.0-9]+' \
&& sass --version | grep -E '[.0-9]+' \
&& symfony --version | grep -E 'version\s*[.0-9]+' \
@@ -302,7 +334,7 @@ RUN set -x \
###
### Copy files
###
COPY ./data/php.d/error-reporting.ini /usr/local/etc/php/conf.d/devilbox-error-reporting.ini
COPY ./data/php.d/php-5.5.ini /usr/local/etc/php/conf.d/yyy-devilbox-04-work.ini
COPY ./data/docker-entrypoint.sh /docker-entrypoint.sh
COPY ./data/docker-entrypoint.d/*.sh /docker-entrypoint.d/
COPY ./data/bash-devilbox /etc/bash-devilbox

View File

@@ -46,6 +46,7 @@ RUN set -x \
autoconf \
automake \
bash-completion \
build-essential \
bzip2 \
coreutils \
curl \
@@ -62,6 +63,8 @@ RUN set -x \
iputils-ping \
less \
libc-dev \
libffi-dev\
libssl-dev\
make \
mongodb-org-shell \
mongodb-org-tools \
@@ -72,8 +75,12 @@ RUN set -x \
netcat \
nodejs \
openssh-client \
patch \
postgresql-client \
python-cffi \
python-dev \
python-pip \
python-wheel \
redis-tools \
rubygems \
ruby-dev \
@@ -95,6 +102,10 @@ RUN set -x \
RUN set -x \
# composer
&& curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer \
# ansible
&& pip install --upgrade setuptools \
&& pip install ansible \
\
# awesomeci
&& git clone https://github.com/cytopia/awesome-ci.git /usr/local/src/awesome-ci \
&& cd /usr/local/src/awesome-ci \
@@ -112,6 +123,10 @@ RUN set -x \
&& npm install -g mdlint \
&& npm install -g gulp \
\
# codeception
&& COMPOSER_HOME="/usr/local/src/composer" composer global require codeception/codeception --dev \
&& ln -s /usr/local/src/composer/vendor/codeception/codeception/codecept /usr/local/bin/codecept \
\
# drush
&& git clone https://github.com/drush-ops/drush.git /usr/local/src/drush \
&& cd /usr/local/src/drush \
@@ -147,18 +162,27 @@ RUN set -x \
&& ln -s /usr/local/src/laravel-installer/laravel /usr/local/bin/laravel \
&& rm -rf /usr/local/src/laravel-installer/laravel/.git \
\
# linkcheck
&& curl https://raw.githubusercontent.com/cytopia/linkcheck/master/linkcheck > /usr/local/bin/linkcheck \
&& chmod +x /usr/local/bin/linkcheck \
\
# 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}' \
'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}' \
'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}' \
'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' \
\
# mhsendmail
&& wget https://github.com/mailhog/mhsendmail/releases/download/v0.2.0/mhsendmail_linux_amd64 \
&& chmod +x mhsendmail_linux_amd64 \
&& mv mhsendmail_linux_amd64 /usr/local/bin/mhsendmai \
\
# mysqldumpsecure
&& git clone https://github.com/cytopia/mysqldump-secure.git /usr/local/src/mysqldump-secure \
&& cd /usr/local/src/mysqldump-secure \
@@ -200,6 +224,10 @@ RUN set -x \
&& curl -q https://squizlabs.github.io/PHP_CodeSniffer/phpcbf.phar > /usr/local/bin/phpcbf 2>/dev/null \
&& chmod +x /usr/local/bin/phpcbf \
\
# phpunit
&& curl -qL https://phar.phpunit.de/phpunit-5.phar > /usr/local/bin/phpunit 2>/dev/null \
&& chmod +x /usr/local/bin/phpunit \
\
# photon
&& COMPOSER_HOME="/usr/local/src/composer" composer global require "photoncms/installer" \
&& ln -s /usr/local/src/composer/vendor/photoncms/installer/photon /usr/local/bin/photon \
@@ -273,6 +301,7 @@ RUN set -x \
RUN set -x \
&& composer --version 2>/dev/null | grep -E 'version\s*[.0-9]+' \
&& ansible --version | grep -E '^ansible [.0-9]+$' \
&& mdl --version | grep -E '[.0-9]+' \
&& scss-lint --version | grep -E '[.0-9]+' \
&& eslint -v | grep -E '[.0-9]+' \
@@ -280,16 +309,19 @@ RUN set -x \
&& mdlint --version | grep -E '[.0-9]+' \
&& gulp --version | grep -E '[.0-9]+' \
\
&& codecept --version 2>/dev/null | grep -E '^Codeception(\sversion)?\s[.0-9]+$' \
&& drush --version | grep -E '[.0-9]+' \
&& drupal --version | grep -E 'Drupal Console Launcher\s*[.0-9]' \
&& git-flow version | grep -E '[.0-9]+' \
&& grunt --version | grep -E '[.0-9]+' \
&& laravel --version | grep -E '(Installer|version)\s*[.0-9]+' \
&& linkcheck --version | grep -E '^linkcheck\sv[.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]+' \
&& phpcs --version | grep -E 'version [.0-9]+' \
&& phpcbf --version | grep -E 'version [.0-9]+' \
&& phpunit --version | grep -iE '^PHPUnit\s[.0-9]+' \
&& photon --version | grep -E 'Installer [.0-9]+' \
&& sass --version | grep -E '[.0-9]+' \
&& symfony --version | grep -E 'version\s*[.0-9]+' \
@@ -302,7 +334,7 @@ RUN set -x \
###
### Copy files
###
COPY ./data/php.d/error-reporting.ini /usr/local/etc/php/conf.d/devilbox-error-reporting.ini
COPY ./data/php.d/php-5.6.ini /usr/local/etc/php/conf.d/yyy-devilbox-04-work.ini
COPY ./data/docker-entrypoint.sh /docker-entrypoint.sh
COPY ./data/docker-entrypoint.d/*.sh /docker-entrypoint.d/
COPY ./data/bash-devilbox /etc/bash-devilbox

View File

@@ -46,6 +46,7 @@ RUN set -x \
autoconf \
automake \
bash-completion \
build-essential \
bzip2 \
coreutils \
curl \
@@ -62,6 +63,8 @@ RUN set -x \
iputils-ping \
less \
libc-dev \
libffi-dev\
libssl-dev\
make \
mongodb-org-shell \
mongodb-org-tools \
@@ -72,8 +75,12 @@ RUN set -x \
netcat \
nodejs \
openssh-client \
patch \
postgresql-client \
python-cffi \
python-dev \
python-pip \
python-wheel \
redis-tools \
rubygems \
ruby-dev \
@@ -95,6 +102,10 @@ RUN set -x \
RUN set -x \
# composer
&& curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer \
# ansible
&& pip install --upgrade setuptools \
&& pip install ansible \
\
# awesomeci
&& git clone https://github.com/cytopia/awesome-ci.git /usr/local/src/awesome-ci \
&& cd /usr/local/src/awesome-ci \
@@ -112,6 +123,10 @@ RUN set -x \
&& npm install -g mdlint \
&& npm install -g gulp \
\
# codeception
&& COMPOSER_HOME="/usr/local/src/composer" composer global require codeception/codeception --dev \
&& ln -s /usr/local/src/composer/vendor/codeception/codeception/codecept /usr/local/bin/codecept \
\
# drush
&& git clone https://github.com/drush-ops/drush.git /usr/local/src/drush \
&& cd /usr/local/src/drush \
@@ -147,18 +162,27 @@ RUN set -x \
&& ln -s /usr/local/src/laravel-installer/laravel /usr/local/bin/laravel \
&& rm -rf /usr/local/src/laravel-installer/laravel/.git \
\
# linkcheck
&& curl https://raw.githubusercontent.com/cytopia/linkcheck/master/linkcheck > /usr/local/bin/linkcheck \
&& chmod +x /usr/local/bin/linkcheck \
\
# 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}' \
'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}' \
'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}' \
'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' \
\
# mhsendmail
&& wget https://github.com/mailhog/mhsendmail/releases/download/v0.2.0/mhsendmail_linux_amd64 \
&& chmod +x mhsendmail_linux_amd64 \
&& mv mhsendmail_linux_amd64 /usr/local/bin/mhsendmai \
\
# mysqldumpsecure
&& git clone https://github.com/cytopia/mysqldump-secure.git /usr/local/src/mysqldump-secure \
&& cd /usr/local/src/mysqldump-secure \
@@ -200,6 +224,10 @@ RUN set -x \
&& curl -q https://squizlabs.github.io/PHP_CodeSniffer/phpcbf.phar > /usr/local/bin/phpcbf 2>/dev/null \
&& chmod +x /usr/local/bin/phpcbf \
\
# phpunit
&& curl -qL https://phar.phpunit.de/phpunit-6.phar > /usr/local/bin/phpunit 2>/dev/null \
&& chmod +x /usr/local/bin/phpunit \
\
# photon
&& COMPOSER_HOME="/usr/local/src/composer" composer global require "photoncms/installer" \
&& ln -s /usr/local/src/composer/vendor/photoncms/installer/photon /usr/local/bin/photon \
@@ -273,6 +301,7 @@ RUN set -x \
RUN set -x \
&& composer --version 2>/dev/null | grep -E 'version\s*[.0-9]+' \
&& ansible --version | grep -E '^ansible [.0-9]+$' \
&& mdl --version | grep -E '[.0-9]+' \
&& scss-lint --version | grep -E '[.0-9]+' \
&& eslint -v | grep -E '[.0-9]+' \
@@ -280,16 +309,19 @@ RUN set -x \
&& mdlint --version | grep -E '[.0-9]+' \
&& gulp --version | grep -E '[.0-9]+' \
\
&& codecept --version 2>/dev/null | grep -E '^Codeception(\sversion)?\s[.0-9]+$' \
&& drush --version | grep -E '[.0-9]+' \
&& drupal --version | grep -E 'Drupal Console Launcher\s*[.0-9]' \
&& git-flow version | grep -E '[.0-9]+' \
&& grunt --version | grep -E '[.0-9]+' \
&& laravel --version | grep -E '(Installer|version)\s*[.0-9]+' \
&& linkcheck --version | grep -E '^linkcheck\sv[.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]+' \
&& phpcs --version | grep -E 'version [.0-9]+' \
&& phpcbf --version | grep -E 'version [.0-9]+' \
&& phpunit --version | grep -iE '^PHPUnit\s[.0-9]+' \
&& photon --version | grep -E 'Installer [.0-9]+' \
&& sass --version | grep -E '[.0-9]+' \
&& symfony --version | grep -E 'version\s*[.0-9]+' \
@@ -302,7 +334,7 @@ RUN set -x \
###
### Copy files
###
COPY ./data/php.d/error-reporting.ini /usr/local/etc/php/conf.d/devilbox-error-reporting.ini
COPY ./data/php.d/php-7.0.ini /usr/local/etc/php/conf.d/yyy-devilbox-04-work.ini
COPY ./data/docker-entrypoint.sh /docker-entrypoint.sh
COPY ./data/docker-entrypoint.d/*.sh /docker-entrypoint.d/
COPY ./data/bash-devilbox /etc/bash-devilbox

View File

@@ -46,6 +46,7 @@ RUN set -x \
autoconf \
automake \
bash-completion \
build-essential \
bzip2 \
coreutils \
curl \
@@ -62,6 +63,8 @@ RUN set -x \
iputils-ping \
less \
libc-dev \
libffi-dev\
libssl-dev\
make \
mongodb-org-shell \
mongodb-org-tools \
@@ -72,8 +75,12 @@ RUN set -x \
netcat \
nodejs \
openssh-client \
patch \
postgresql-client \
python-cffi \
python-dev \
python-pip \
python-wheel \
redis-tools \
rubygems \
ruby-dev \
@@ -95,6 +102,10 @@ RUN set -x \
RUN set -x \
# composer
&& curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer \
# ansible
&& pip install --upgrade setuptools \
&& pip install ansible \
\
# awesomeci
&& git clone https://github.com/cytopia/awesome-ci.git /usr/local/src/awesome-ci \
&& cd /usr/local/src/awesome-ci \
@@ -112,6 +123,10 @@ RUN set -x \
&& npm install -g mdlint \
&& npm install -g gulp \
\
# codeception
&& COMPOSER_HOME="/usr/local/src/composer" composer global require codeception/codeception --dev \
&& ln -s /usr/local/src/composer/vendor/codeception/codeception/codecept /usr/local/bin/codecept \
\
# drush
&& git clone https://github.com/drush-ops/drush.git /usr/local/src/drush \
&& cd /usr/local/src/drush \
@@ -147,18 +162,27 @@ RUN set -x \
&& ln -s /usr/local/src/laravel-installer/laravel /usr/local/bin/laravel \
&& rm -rf /usr/local/src/laravel-installer/laravel/.git \
\
# linkcheck
&& curl https://raw.githubusercontent.com/cytopia/linkcheck/master/linkcheck > /usr/local/bin/linkcheck \
&& chmod +x /usr/local/bin/linkcheck \
\
# 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}' \
'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}' \
'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}' \
'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' \
\
# mhsendmail
&& wget https://github.com/mailhog/mhsendmail/releases/download/v0.2.0/mhsendmail_linux_amd64 \
&& chmod +x mhsendmail_linux_amd64 \
&& mv mhsendmail_linux_amd64 /usr/local/bin/mhsendmai \
\
# mysqldumpsecure
&& git clone https://github.com/cytopia/mysqldump-secure.git /usr/local/src/mysqldump-secure \
&& cd /usr/local/src/mysqldump-secure \
@@ -200,6 +224,10 @@ RUN set -x \
&& curl -q https://squizlabs.github.io/PHP_CodeSniffer/phpcbf.phar > /usr/local/bin/phpcbf 2>/dev/null \
&& chmod +x /usr/local/bin/phpcbf \
\
# phpunit
&& curl -qL https://phar.phpunit.de/phpunit-7.phar > /usr/local/bin/phpunit 2>/dev/null \
&& chmod +x /usr/local/bin/phpunit \
\
# photon
&& COMPOSER_HOME="/usr/local/src/composer" composer global require "photoncms/installer" \
&& ln -s /usr/local/src/composer/vendor/photoncms/installer/photon /usr/local/bin/photon \
@@ -273,6 +301,7 @@ RUN set -x \
RUN set -x \
&& composer --version 2>/dev/null | grep -E 'version\s*[.0-9]+' \
&& ansible --version | grep -E '^ansible [.0-9]+$' \
&& mdl --version | grep -E '[.0-9]+' \
&& scss-lint --version | grep -E '[.0-9]+' \
&& eslint -v | grep -E '[.0-9]+' \
@@ -280,16 +309,19 @@ RUN set -x \
&& mdlint --version | grep -E '[.0-9]+' \
&& gulp --version | grep -E '[.0-9]+' \
\
&& codecept --version 2>/dev/null | grep -E '^Codeception(\sversion)?\s[.0-9]+$' \
&& drush --version | grep -E '[.0-9]+' \
&& drupal --version | grep -E 'Drupal Console Launcher\s*[.0-9]' \
&& git-flow version | grep -E '[.0-9]+' \
&& grunt --version | grep -E '[.0-9]+' \
&& laravel --version | grep -E '(Installer|version)\s*[.0-9]+' \
&& linkcheck --version | grep -E '^linkcheck\sv[.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]+' \
&& phpcs --version | grep -E 'version [.0-9]+' \
&& phpcbf --version | grep -E 'version [.0-9]+' \
&& phpunit --version | grep -iE '^PHPUnit\s[.0-9]+' \
&& photon --version | grep -E 'Installer [.0-9]+' \
&& sass --version | grep -E '[.0-9]+' \
&& symfony --version | grep -E 'version\s*[.0-9]+' \
@@ -302,7 +334,7 @@ RUN set -x \
###
### Copy files
###
COPY ./data/php.d/error-reporting.ini /usr/local/etc/php/conf.d/devilbox-error-reporting.ini
COPY ./data/php.d/php-7.1.ini /usr/local/etc/php/conf.d/yyy-devilbox-04-work.ini
COPY ./data/docker-entrypoint.sh /docker-entrypoint.sh
COPY ./data/docker-entrypoint.d/*.sh /docker-entrypoint.d/
COPY ./data/bash-devilbox /etc/bash-devilbox

View File

@@ -46,6 +46,7 @@ RUN set -x \
autoconf \
automake \
bash-completion \
build-essential \
bzip2 \
coreutils \
curl \
@@ -62,6 +63,8 @@ RUN set -x \
iputils-ping \
less \
libc-dev \
libffi-dev\
libssl-dev\
make \
mongodb-org-shell \
mongodb-org-tools \
@@ -72,8 +75,12 @@ RUN set -x \
netcat \
nodejs \
openssh-client \
patch \
postgresql-client \
python-cffi \
python-dev \
python-pip \
python-wheel \
redis-tools \
rubygems \
ruby-dev \
@@ -95,6 +102,10 @@ RUN set -x \
RUN set -x \
# composer
&& curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer \
# ansible
&& pip install --upgrade setuptools \
&& pip install ansible \
\
# awesomeci
&& git clone https://github.com/cytopia/awesome-ci.git /usr/local/src/awesome-ci \
&& cd /usr/local/src/awesome-ci \
@@ -112,6 +123,10 @@ RUN set -x \
&& npm install -g mdlint \
&& npm install -g gulp \
\
# codeception
&& COMPOSER_HOME="/usr/local/src/composer" composer global require codeception/codeception --dev \
&& ln -s /usr/local/src/composer/vendor/codeception/codeception/codecept /usr/local/bin/codecept \
\
# drush
&& git clone https://github.com/drush-ops/drush.git /usr/local/src/drush \
&& cd /usr/local/src/drush \
@@ -147,18 +162,27 @@ RUN set -x \
&& ln -s /usr/local/src/laravel-installer/laravel /usr/local/bin/laravel \
&& rm -rf /usr/local/src/laravel-installer/laravel/.git \
\
# linkcheck
&& curl https://raw.githubusercontent.com/cytopia/linkcheck/master/linkcheck > /usr/local/bin/linkcheck \
&& chmod +x /usr/local/bin/linkcheck \
\
# 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}' \
'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}' \
'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}' \
'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' \
\
# mhsendmail
&& wget https://github.com/mailhog/mhsendmail/releases/download/v0.2.0/mhsendmail_linux_amd64 \
&& chmod +x mhsendmail_linux_amd64 \
&& mv mhsendmail_linux_amd64 /usr/local/bin/mhsendmai \
\
# mysqldumpsecure
&& git clone https://github.com/cytopia/mysqldump-secure.git /usr/local/src/mysqldump-secure \
&& cd /usr/local/src/mysqldump-secure \
@@ -200,6 +224,10 @@ RUN set -x \
&& curl -q https://squizlabs.github.io/PHP_CodeSniffer/phpcbf.phar > /usr/local/bin/phpcbf 2>/dev/null \
&& chmod +x /usr/local/bin/phpcbf \
\
# phpunit
&& curl -qL https://phar.phpunit.de/phpunit-7.phar > /usr/local/bin/phpunit 2>/dev/null \
&& chmod +x /usr/local/bin/phpunit \
\
# photon
&& COMPOSER_HOME="/usr/local/src/composer" composer global require "photoncms/installer" \
&& ln -s /usr/local/src/composer/vendor/photoncms/installer/photon /usr/local/bin/photon \
@@ -273,6 +301,7 @@ RUN set -x \
RUN set -x \
&& composer --version 2>/dev/null | grep -E 'version\s*[.0-9]+' \
&& ansible --version | grep -E '^ansible [.0-9]+$' \
&& mdl --version | grep -E '[.0-9]+' \
&& scss-lint --version | grep -E '[.0-9]+' \
&& eslint -v | grep -E '[.0-9]+' \
@@ -280,16 +309,19 @@ RUN set -x \
&& mdlint --version | grep -E '[.0-9]+' \
&& gulp --version | grep -E '[.0-9]+' \
\
&& codecept --version 2>/dev/null | grep -E '^Codeception(\sversion)?\s[.0-9]+$' \
&& drush --version | grep -E '[.0-9]+' \
&& drupal --version | grep -E 'Drupal Console Launcher\s*[.0-9]' \
&& git-flow version | grep -E '[.0-9]+' \
&& grunt --version | grep -E '[.0-9]+' \
&& laravel --version | grep -E '(Installer|version)\s*[.0-9]+' \
&& linkcheck --version | grep -E '^linkcheck\sv[.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]+' \
&& phpcs --version | grep -E 'version [.0-9]+' \
&& phpcbf --version | grep -E 'version [.0-9]+' \
&& phpunit --version | grep -iE '^PHPUnit\s[.0-9]+' \
&& photon --version | grep -E 'Installer [.0-9]+' \
&& sass --version | grep -E '[.0-9]+' \
&& symfony --version | grep -E 'version\s*[.0-9]+' \
@@ -302,7 +334,7 @@ RUN set -x \
###
### Copy files
###
COPY ./data/php.d/error-reporting.ini /usr/local/etc/php/conf.d/devilbox-error-reporting.ini
COPY ./data/php.d/php-7.2.ini /usr/local/etc/php/conf.d/yyy-devilbox-04-work.ini
COPY ./data/docker-entrypoint.sh /docker-entrypoint.sh
COPY ./data/docker-entrypoint.d/*.sh /docker-entrypoint.d/
COPY ./data/bash-devilbox /etc/bash-devilbox

View File

@@ -46,6 +46,7 @@ RUN set -x \
autoconf \
automake \
bash-completion \
build-essential \
bzip2 \
coreutils \
curl \
@@ -62,6 +63,8 @@ RUN set -x \
iputils-ping \
less \
libc-dev \
libffi-dev\
libssl-dev\
make \
mongodb-org-shell \
mongodb-org-tools \
@@ -72,8 +75,12 @@ RUN set -x \
netcat \
nodejs \
openssh-client \
patch \
postgresql-client \
python-cffi \
python-dev \
python-pip \
python-wheel \
redis-tools \
rubygems \
ruby-dev \
@@ -95,6 +102,10 @@ RUN set -x \
RUN set -x \
# composer
&& curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer \
# ansible
&& pip install --upgrade setuptools \
&& pip install ansible \
\
# awesomeci
&& git clone https://github.com/cytopia/awesome-ci.git /usr/local/src/awesome-ci \
&& cd /usr/local/src/awesome-ci \
@@ -112,6 +123,10 @@ RUN set -x \
&& npm install -g mdlint \
&& npm install -g gulp \
\
# codeception
&& COMPOSER_HOME="/usr/local/src/composer" composer global require codeception/codeception --dev \
&& ln -s /usr/local/src/composer/vendor/codeception/codeception/codecept /usr/local/bin/codecept \
\
# drush
&& git clone https://github.com/drush-ops/drush.git /usr/local/src/drush \
&& cd /usr/local/src/drush \
@@ -147,18 +162,27 @@ RUN set -x \
&& ln -s /usr/local/src/laravel-installer/laravel /usr/local/bin/laravel \
&& rm -rf /usr/local/src/laravel-installer/laravel/.git \
\
# linkcheck
&& curl https://raw.githubusercontent.com/cytopia/linkcheck/master/linkcheck > /usr/local/bin/linkcheck \
&& chmod +x /usr/local/bin/linkcheck \
\
# 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}' \
'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}' \
'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}' \
'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' \
\
# mhsendmail
&& wget https://github.com/mailhog/mhsendmail/releases/download/v0.2.0/mhsendmail_linux_amd64 \
&& chmod +x mhsendmail_linux_amd64 \
&& mv mhsendmail_linux_amd64 /usr/local/bin/mhsendmai \
\
# mysqldumpsecure
&& git clone https://github.com/cytopia/mysqldump-secure.git /usr/local/src/mysqldump-secure \
&& cd /usr/local/src/mysqldump-secure \
@@ -189,6 +213,10 @@ RUN set -x \
&& curl -q https://squizlabs.github.io/PHP_CodeSniffer/phpcbf.phar > /usr/local/bin/phpcbf 2>/dev/null \
&& chmod +x /usr/local/bin/phpcbf \
\
# phpunit
&& curl -qL https://phar.phpunit.de/phpunit-7.phar > /usr/local/bin/phpunit 2>/dev/null \
&& chmod +x /usr/local/bin/phpunit \
\
# photon
&& COMPOSER_HOME="/usr/local/src/composer" composer global require "photoncms/installer" \
&& ln -s /usr/local/src/composer/vendor/photoncms/installer/photon /usr/local/bin/photon \
@@ -262,6 +290,7 @@ RUN set -x \
RUN set -x \
&& composer --version 2>/dev/null | grep -E 'version\s*[.0-9]+' \
&& ansible --version | grep -E '^ansible [.0-9]+$' \
&& mdl --version | grep -E '[.0-9]+' \
&& scss-lint --version | grep -E '[.0-9]+' \
&& eslint -v | grep -E '[.0-9]+' \
@@ -269,15 +298,18 @@ RUN set -x \
&& mdlint --version | grep -E '[.0-9]+' \
&& gulp --version | grep -E '[.0-9]+' \
\
&& codecept --version 2>/dev/null | grep -E '^Codeception(\sversion)?\s[.0-9]+$' \
&& drush --version | grep -E '[.0-9]+' \
&& drupal --version | grep -E 'Drupal Console Launcher\s*[.0-9]' \
&& git-flow version | grep -E '[.0-9]+' \
&& grunt --version | grep -E '[.0-9]+' \
&& laravel --version | grep -E '(Installer|version)\s*[.0-9]+' \
&& linkcheck --version | grep -E '^linkcheck\sv[.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]+' \
&& phpcs --version | grep -E 'version [.0-9]+' \
&& phpcbf --version | grep -E 'version [.0-9]+' \
&& phpunit --version | grep -iE '^PHPUnit\s[.0-9]+' \
&& photon --version | grep -E 'Installer [.0-9]+' \
&& sass --version | grep -E '[.0-9]+' \
&& symfony --version | grep -E 'version\s*[.0-9]+' \
@@ -290,7 +322,7 @@ RUN set -x \
###
### Copy files
###
COPY ./data/php.d/error-reporting.ini /usr/local/etc/php/conf.d/devilbox-error-reporting.ini
COPY ./data/php.d/php-7.3.ini /usr/local/etc/php/conf.d/yyy-devilbox-04-work.ini
COPY ./data/docker-entrypoint.sh /docker-entrypoint.sh
COPY ./data/docker-entrypoint.d/*.sh /docker-entrypoint.d/
COPY ./data/bash-devilbox /etc/bash-devilbox

View File

@@ -1,12 +0,0 @@
; PHP Development configuration for errors
; Show all errors
display_errors = On
display_startup_errors = On
; Log all errors
log_errors = On
; What errors to show/log
error_reporting = E_ALL | E_STRICT
xmlrpc_errors = On

View File

@@ -0,0 +1,17 @@
; ############################################################
; # Devilbox PHP defaults for all development Docker images
; ############################################################
; This php.ini is applied to the work container.
[PHP]
; Error reporting
; Note: error_log is dynamic and handled during start to set appropriate setting
error_reporting = E_ALL | E_NOTICE | E_STRICT | E_DEPRECATED
display_errors = On
display_startup_errors = On
track_errors = On
log_errors = On
html_errors = On

View File

@@ -0,0 +1,17 @@
; ############################################################
; # Devilbox PHP defaults for all development Docker images
; ############################################################
; This php.ini is applied to the work container.
[PHP]
; Error reporting
; Note: error_log is dynamic and handled during start to set appropriate setting
error_reporting = E_ALL | E_NOTICE | E_STRICT | E_DEPRECATED
display_errors = On
display_startup_errors = On
track_errors = On
log_errors = On
html_errors = On

View File

@@ -0,0 +1,17 @@
; ############################################################
; # Devilbox PHP defaults for all development Docker images
; ############################################################
; This php.ini is applied to the work container.
[PHP]
; Error reporting
; Note: error_log is dynamic and handled during start to set appropriate setting
error_reporting = E_ALL | E_NOTICE | E_STRICT | E_DEPRECATED
display_errors = On
display_startup_errors = On
track_errors = On
log_errors = On
html_errors = On

View File

@@ -0,0 +1,17 @@
; ############################################################
; # Devilbox PHP defaults for all development Docker images
; ############################################################
; This php.ini is applied to the work container.
[PHP]
; Error reporting
; Note: error_log is dynamic and handled during start to set appropriate setting
error_reporting = E_ALL | E_NOTICE | E_STRICT | E_DEPRECATED
display_errors = On
display_startup_errors = On
track_errors = On
log_errors = On
html_errors = On

View File

@@ -0,0 +1,17 @@
; ############################################################
; # Devilbox PHP defaults for all development Docker images
; ############################################################
; This php.ini is applied to the work container.
[PHP]
; Error reporting
; Note: error_log is dynamic and handled during start to set appropriate setting
error_reporting = E_ALL | E_NOTICE | E_STRICT | E_DEPRECATED
display_errors = On
display_startup_errors = On
track_errors = On
log_errors = On
html_errors = On

View File

@@ -0,0 +1,17 @@
; ############################################################
; # Devilbox PHP defaults for all development Docker images
; ############################################################
; This php.ini is applied to the work container.
[PHP]
; Error reporting
; Note: error_log is dynamic and handled during start to set appropriate setting
error_reporting = E_ALL | E_NOTICE | E_STRICT | E_DEPRECATED
display_errors = On
display_startup_errors = On
track_errors = On
log_errors = On
html_errors = On

View File

@@ -0,0 +1,16 @@
; ############################################################
; # Devilbox PHP defaults for all development Docker images
; ############################################################
; This php.ini is applied to the work container.
[PHP]
; Error reporting
; Note: error_log is dynamic and handled during start to set appropriate setting
error_reporting = E_ALL | E_NOTICE | E_STRICT | E_DEPRECATED
display_errors = On
display_startup_errors = On
log_errors = On
html_errors = On

View File

@@ -0,0 +1,16 @@
; ############################################################
; # Devilbox PHP defaults for all development Docker images
; ############################################################
; This php.ini is applied to the work container.
[PHP]
; Error reporting
; Note: error_log is dynamic and handled during start to set appropriate setting
error_reporting = E_ALL | E_NOTICE | E_STRICT | E_DEPRECATED
display_errors = On
display_startup_errors = On
log_errors = On
html_errors = On

View File

@@ -37,10 +37,11 @@ versions and packed with different types of integrated PHP modules. It also solv
1. [Environment variables](#environment-variables)
2. [Volumes](#volumes)
3. [Ports](#ports)
5. **[Integrated Development Environment](#integrated-development-environment)**
5. **[PHP Default Configuration](#php-default-configuration)**
6. **[Integrated Development Environment](#integrated-development-environment)**
1. [What toos can you expect](#what-tools-can-you-expect)
2. [What else is available](#what-else-is-available)
6. **[Examples](#examples)**
7. **[Examples](#examples)**
1. [Provide PHP-FPM port to host](#provide-php-fpm-port-to-host)
2. [Alter PHP-FPM and system timezone](#alter-php-fpm-and-system-timezone)
3. [Load custom PHP configuration](#load-custom-php-configuration)
@@ -50,10 +51,10 @@ versions and packed with different types of integrated PHP modules. It also solv
7. [Launch Postfix for mail-catching](#launch-postfix-for-mail-catching)
8. [Webserver and PHP-FPM](#webserver-and-php-fpm)
9. [Create MySQL Backups](#create-mysql-backups)
7. **[Automated builds](#automated-builds)**
8. **[Contributing](#contributing)**
9. **[Credits](#credits)**
10. **[License](#license)**
8. **[Automated builds](#automated-builds)**
9. **[Contributing](#contributing)**
10. **[Credits](#credits)**
11. **[License](#license)**
----
@@ -748,6 +749,20 @@ Have a look at the following table to see all offered exposed ports for each Doc
<h2><img id="php-default-configuration" width="20" src="https://github.com/devilbox/artwork/raw/master/submissions_logo/cytopia/01/png/logo_64_trans.png"> PHP Default Configuration</h2>
Each PHP version is using the same sane default php.ini values, making it pain-free to switch versions and not having to worry about different php.ini settings.
**Note:** Flavours alway inherit the settings from its parent flavour and will selectively overwrite specific settings.
| Flavour | Applied php.ini files|
|---------|------------------------------------------|
| base | [base.ini](Dockerfiles/base/data/php.d/) |
| mods | - |
| prod | [prod.ini](Dockerfiles/prod/data/php.d/) |
| work | [work.ini](Dockerfiles/work/data/php.d/) |
<h2><img id="integrated-development-environment" width="20" src="https://github.com/devilbox/artwork/raw/master/submissions_logo/cytopia/01/png/logo_64_trans.png"> Integrated Development Environment</h2>
If you plan to use the PHP-FPM image for development, hence being able to execute common commands inside the container itself, you should go with the **work** Image.

View File

@@ -0,0 +1,48 @@
; ############################################################
; # Devilbox PHP defaults for all Docker images
; ############################################################
; This php.ini is applied to the base container and inherited
; by every image built on top of it.
; Note that prod and work images overwrite specific settings
; for their use-case.
[PHP]
; Memory
; Note: "memory_limit" should be larger than "post_max_size"
memory_limit = 512M
; Timeouts
max_execution_time = 180
max_input_time = 180
; Uploads
; Note: "post_max_size" should be greater than "upload_max_filesize"
post_max_size = 384M
upload_max_filesize = 256M
max_file_uploads = 20
; Vars
variables_order = EGPCS
{% if not (php_version == 5.2 or php_version == 5.3 ) %}
max_input_vars = 8000
{% endif %}
max_input_nesting_level = 64
; Error reporting
; Note: error_log is dynamic and handled during start to set appropriate setting
error_reporting = E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED
xmlrpc_errors = Off
report_memleaks = On
display_errors = Off
display_startup_errors = Off
{% if php_version == 5.2 or php_version == 5.3 or php_version == 5.4 or php_version == 5.5 or php_version == 5.6 or php_version == 7.0 or php_version == 7.1 %}
track_errors = On
{% endif %}
log_errors = On

View File

@@ -0,0 +1,9 @@
; ############################################################
; # Devilbox PHP defaults for all production Docker images
; ############################################################
; This php.ini is applied to the prod container and inherited
; by every image built on top of it.
[PHP]

View File

@@ -0,0 +1,19 @@
; ############################################################
; # Devilbox PHP defaults for all development Docker images
; ############################################################
; This php.ini is applied to the work container.
[PHP]
; Error reporting
; Note: error_log is dynamic and handled during start to set appropriate setting
error_reporting = E_ALL | E_NOTICE | E_STRICT | E_DEPRECATED
display_errors = On
display_startup_errors = On
{% if php_version == 5.2 or php_version == 5.3 or php_version == 5.4 or php_version == 5.5 or php_version == 5.6 or php_version == 7.0 or php_version == 7.1 %}
track_errors = On
{% endif %}
log_errors = On
html_errors = On

View File

@@ -62,6 +62,7 @@ RUN set -x \
###
### Copy files
###
COPY ./data/php.d/php-{{ php_version }}.ini /usr/local/etc/php/conf.d/yyy-devilbox-01-base.ini
COPY ./data/docker-entrypoint.sh /docker-entrypoint.sh
COPY ./data/docker-entrypoint.d /docker-entrypoint.d
COPY ./data/php-fpm.conf /usr/local/etc/php-fpm.conf

View File

@@ -50,6 +50,7 @@ RUN set -x \
###
### Copy files
###
COPY ./data/php.d/php-{{ php_version }}.ini /usr/local/etc/php/conf.d/yyy-devilbox-03-prod.ini
COPY ./data/docker-entrypoint.sh /docker-entrypoint.sh
COPY ./data/docker-entrypoint.d/*.sh /docker-entrypoint.d/
COPY ./data/postfix.sh /usr/local/sbin/postfix.sh

View File

@@ -61,6 +61,7 @@ RUN set -x \
autoconf \
automake \
bash-completion \
build-essential \
bzip2 \
coreutils \
curl \
@@ -77,6 +78,8 @@ RUN set -x \
iputils-ping \
less \
libc-dev \
libffi-dev\
libssl-dev\
make \
mongodb-org-shell \
mongodb-org-tools \
@@ -87,8 +90,12 @@ RUN set -x \
netcat \
nodejs \
openssh-client \
patch \
postgresql-client \
python-cffi \
python-dev \
python-pip \
python-wheel \
redis-tools \
rubygems \
ruby-dev \
@@ -184,7 +191,7 @@ RUN set -x \
###
### Copy files
###
COPY ./data/php.d/error-reporting.ini /usr/local/etc/php/conf.d/devilbox-error-reporting.ini
COPY ./data/php.d/php-{{ php_version }}.ini /usr/local/etc/php/conf.d/yyy-devilbox-04-work.ini
COPY ./data/docker-entrypoint.sh /docker-entrypoint.sh
COPY ./data/docker-entrypoint.d/*.sh /docker-entrypoint.d/
COPY ./data/bash-devilbox /etc/bash-devilbox

View File

@@ -1,5 +1,6 @@
---
# All available Docker flavours (for each version)
template_files:
- src: DOCKERFILES/Dockerfile-base.j2
dst: "../../Dockerfiles/base/Dockerfile-{{ php_version }}"
@@ -10,7 +11,14 @@ template_files:
- src: DOCKERFILES/Dockerfile-work.j2
dst: "../../Dockerfiles/work/Dockerfile-{{ php_version }}"
# PHP.ini files to apply sane defaults
ini_files:
- src: CONFIGURATION/php-base.ini.j2
dst: "../../Dockerfiles/base/data/php.d/php-{{ php_version }}.ini"
- src: CONFIGURATION/php-prod.ini.j2
dst: "../../Dockerfiles/prod/data/php.d/php-{{ php_version }}.ini"
- src: CONFIGURATION/php-work.ini.j2
dst: "../../Dockerfiles/work/data/php.d/php-{{ php_version }}.ini"
# Adds self-validating checks to Dockerfile
@@ -18,6 +26,7 @@ template_files:
debug: True
# All available PHP version
php_all_versions:
- 5.3
- 5.4
@@ -29,6 +38,9 @@ php_all_versions:
- 7.3
# Global variables
compose_home: /usr/local/src/composer
################################################################################
# Defines for Dockerfile "work"
@@ -54,17 +66,22 @@ software_enabled:
# Composer needs to be first, others rely on it
- composer
# Normal packages start here
- ansible
- awesomeci
- codeception
- drush
- drupalconsole
- gitflow
- grunt
- laravel
- linkcheck
- linuxbrew
- mhsendmail
- mysqldumpsecure
- phalcon
- phpcs
- phpcbf
- phpunit
- photon
- sass
- symfony
@@ -140,6 +157,12 @@ apt_repositories_available:
# pre: [optional] Run command after 'command:' statement
#
software_available:
ansible:
check: ansible --version | grep -E '^ansible [.0-9]+$'
all:
command: |
pip install --upgrade setuptools \
&& pip install ansible \
awesomeci:
check: |
mdl --version | grep -E '[.0-9]+' \
@@ -201,6 +224,12 @@ software_available:
&& rm -rf /usr/local/src/drush/examples \
&& rm -rf /usr/local/src/drush/misc \
&& rm -rf /usr/local/src/drush/tests \
codeception:
check: codecept --version 2>/dev/null | grep -E '^Codeception(\sversion)?\s[.0-9]+$'
all:
command: |
COMPOSER_HOME="{{ compose_home }}" composer global require codeception/codeception --dev \
&& ln -s {{ compose_home }}/vendor/codeception/codeception/codecept /usr/local/bin/codecept \
drupalconsole:
disabled: [5.3, 5.4]
check: drupal --version | grep -E 'Drupal Console Launcher\s*[.0-9]'
@@ -252,6 +281,12 @@ 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 \
linkcheck:
check: linkcheck --version | grep -E '^linkcheck\sv[.0-9]+'
all:
command: |
curl https://raw.githubusercontent.com/cytopia/linkcheck/master/linkcheck > /usr/local/bin/linkcheck \
&& chmod +x /usr/local/bin/linkcheck \
linuxbrew:
check: su - ${MY_USER} -c '/usr/local/src/linuxbrew/bin/brew --version' | grep -E 'Homebrew\s*[.0-9]+'
all:
@@ -259,13 +294,19 @@ software_available:
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}' \
'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}' \
'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}' \
'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' \
mhsendmail:
all:
command: |
wget https://github.com/mailhog/mhsendmail/releases/download/v0.2.0/mhsendmail_linux_amd64 \
&& chmod +x mhsendmail_linux_amd64 \
&& mv mhsendmail_linux_amd64 /usr/local/bin/mhsendmai \
mysqldumpsecure:
check: mysqldump-secure --version | grep -E 'Version:\s*[.0-9]+'
all:
@@ -334,13 +375,39 @@ software_available:
command: |
curl -q https://squizlabs.github.io/PHP_CodeSniffer/phpcbf.phar > /usr/local/bin/phpcbf 2>/dev/null \
&& chmod +x /usr/local/bin/phpcbf \
phpunit:
check: phpunit --version | grep -iE '^PHPUnit\s[.0-9]+'
5.3:
command: |
curl -qL https://phar.phpunit.de/phpunit-4.phar > /usr/local/bin/phpunit 2>/dev/null \
&& chmod +x /usr/local/bin/phpunit \
5.4:
command: |
curl -qL https://phar.phpunit.de/phpunit-4.phar > /usr/local/bin/phpunit 2>/dev/null \
&& chmod +x /usr/local/bin/phpunit \
5.5:
command: |
curl -qL https://phar.phpunit.de/phpunit-4.phar > /usr/local/bin/phpunit 2>/dev/null \
&& chmod +x /usr/local/bin/phpunit \
5.6:
command: |
curl -qL https://phar.phpunit.de/phpunit-5.phar > /usr/local/bin/phpunit 2>/dev/null \
&& chmod +x /usr/local/bin/phpunit \
7.0:
command: |
curl -qL https://phar.phpunit.de/phpunit-6.phar > /usr/local/bin/phpunit 2>/dev/null \
&& chmod +x /usr/local/bin/phpunit \
all:
command: |
curl -qL https://phar.phpunit.de/phpunit-7.phar > /usr/local/bin/phpunit 2>/dev/null \
&& chmod +x /usr/local/bin/phpunit \
photon:
check: photon --version | grep -E 'Installer [.0-9]+'
disabled: [5.3, 5.4]
all:
command: |
COMPOSER_HOME="/usr/local/src/composer" composer global require "photoncms/installer" \
&& ln -s /usr/local/src/composer/vendor/photoncms/installer/photon /usr/local/bin/photon \
COMPOSER_HOME="{{ compose_home }}" composer global require "photoncms/installer" \
&& ln -s {{ compose_home }}/vendor/photoncms/installer/photon /usr/local/bin/photon \
sass:
check: sass --version | grep -E '[.0-9]+'
all:
@@ -966,8 +1033,9 @@ extensions_available:
5.6:
type: pecl
version: 1.9.23
7.2:
7.0:
type: pecl
version: 2.2.0
7.3:
type: git
git_url: https://github.com/swoole/swoole-src

View File

@@ -2,9 +2,18 @@
- name: render template
template:
src: "{{ item.src }}"
src: "{{ item.src }}"
dest: "{{ item.dst }}"
force: True
mode: 0644
mode: 0644
with_items:
- "{{ template_files }}"
- name: copy php.ini configuration
template:
src: "{{ item.src }}"
dest: "{{ item.dst }}"
force: True
mode: 0644
with_items:
- "{{ ini_files }}"