Compare commits

...

21 Commits
0.1 ... 0.5

Author SHA1 Message Date
cytopia
199efdcdf3 Merge pull request #6 from devilbox/release-0.5
Release 0.5
2018-03-19 13:46:03 +01:00
cytopia
a6b1fa82a9 Fix PHP 7.2 install 2018-03-19 07:50:43 +01:00
cytopia
070e7ad7e9 Add Python requirements 2018-03-18 21:20:51 +01:00
cytopia
02d9e64233 Fix curl download 2018-03-18 18:38:18 +01:00
cytopia
cb1ff74b4d Adding: Redis tools 2018-03-18 16:42:20 +01:00
cytopia
741933918b Adding: sass 2018-03-18 16:25:44 +01:00
cytopia
b84d05844f Fix typo in bashrc 2018-03-18 16:20:03 +01:00
cytopia
29baa10b85 Adding: yamllint 2018-03-18 16:19:46 +01:00
cytopia
7af0b2c98b REL-0.5 Adding PHPCS/PHPCBF 2018-03-18 15:59:40 +01:00
cytopia
fabaf4a187 Merge pull request #5 from devilbox/release-0.4
REL-0.4 Add deprecated mongo extension
2018-03-13 06:57:52 +01:00
cytopia
eba440839a REL-0.4 Add deprecated mongo extension 2018-03-12 23:45:23 +01:00
cytopia
7cac20d86d Merge pull request #4 from devilbox/release-0.3
Release v0.3
2018-03-12 23:16:44 +01:00
cytopia
a6ed7cb16b Supress warning about tail 2018-03-05 23:50:16 +01:00
cytopia
4b2a450d1e Merge pull request #3 from devilbox/release-0.2
Release 0.2
2018-03-05 21:47:33 +01:00
cytopia
fe379ae977 Fix docker logs for PHP mail func logging 2018-03-05 18:40:34 +01:00
cytopia
389b962aaf Ensure ps is installed by default 2018-03-05 17:53:07 +01:00
cytopia
503decb518 Test for correct uid of started FPM service 2018-03-05 09:44:33 +01:00
cytopia
519ae5e8a7 Ensure PHP-FPM config is correct 2018-03-05 09:25:22 +01:00
cytopia
a13ad86820 Fix missing debug level for func params 2018-03-05 09:12:11 +01:00
cytopia
b104211a0a Fix shared/httpd www data dir permissions 2018-03-05 01:37:03 +01:00
cytopia
30a0d45bad Fix fs permissions 2018-03-05 01:36:44 +01:00
28 changed files with 361 additions and 32 deletions

0
.gitignore vendored Executable file → Normal file
View File

View File

@@ -32,14 +32,23 @@ RUN set -x \
### ###
### Upgrade ### Upgrade (install ps)
### ###
RUN set -x \ RUN set -x \
&& apt-get update \ && apt-get update \
&& apt-get upgrade -y \ && apt-get upgrade -y \
&& apt-get install --no-install-recommends --no-install-suggests -y procps \
&& rm -rf /var/lib/apt/lists/* && rm -rf /var/lib/apt/lists/*
###
### Configure
###
RUN set -x \
&& rm -rf /usr/local/etc/php-fpm.d \
&& mkdir -p /usr/local/etc/php-fpm.d
### ###
### Copy files ### Copy files
### ###

View File

@@ -32,14 +32,23 @@ RUN set -x \
### ###
### Upgrade ### Upgrade (install ps)
### ###
RUN set -x \ RUN set -x \
&& apt-get update \ && apt-get update \
&& apt-get upgrade -y \ && apt-get upgrade -y \
&& apt-get install --no-install-recommends --no-install-suggests -y procps \
&& rm -rf /var/lib/apt/lists/* && rm -rf /var/lib/apt/lists/*
###
### Configure
###
RUN set -x \
&& rm -rf /usr/local/etc/php-fpm.d \
&& mkdir -p /usr/local/etc/php-fpm.d
### ###
### Copy files ### Copy files
### ###

View File

@@ -32,14 +32,23 @@ RUN set -x \
### ###
### Upgrade ### Upgrade (install ps)
### ###
RUN set -x \ RUN set -x \
&& apt-get update \ && apt-get update \
&& apt-get upgrade -y \ && apt-get upgrade -y \
&& apt-get install --no-install-recommends --no-install-suggests -y procps \
&& rm -rf /var/lib/apt/lists/* && rm -rf /var/lib/apt/lists/*
###
### Configure
###
RUN set -x \
&& rm -rf /usr/local/etc/php-fpm.d \
&& mkdir -p /usr/local/etc/php-fpm.d
### ###
### Copy files ### Copy files
### ###

View File

@@ -32,14 +32,23 @@ RUN set -x \
### ###
### Upgrade ### Upgrade (install ps)
### ###
RUN set -x \ RUN set -x \
&& apt-get update \ && apt-get update \
&& apt-get upgrade -y \ && apt-get upgrade -y \
&& apt-get install --no-install-recommends --no-install-suggests -y procps \
&& rm -rf /var/lib/apt/lists/* && rm -rf /var/lib/apt/lists/*
###
### Configure
###
RUN set -x \
&& rm -rf /usr/local/etc/php-fpm.d \
&& mkdir -p /usr/local/etc/php-fpm.d
### ###
### Copy files ### Copy files
### ###

View File

@@ -32,14 +32,23 @@ RUN set -x \
### ###
### Upgrade ### Upgrade (install ps)
### ###
RUN set -x \ RUN set -x \
&& apt-get update \ && apt-get update \
&& apt-get upgrade -y \ && apt-get upgrade -y \
&& apt-get install --no-install-recommends --no-install-suggests -y procps \
&& rm -rf /var/lib/apt/lists/* && rm -rf /var/lib/apt/lists/*
###
### Configure
###
RUN set -x \
&& rm -rf /usr/local/etc/php-fpm.d \
&& mkdir -p /usr/local/etc/php-fpm.d
### ###
### Copy files ### Copy files
### ###

View File

@@ -32,14 +32,23 @@ RUN set -x \
### ###
### Upgrade ### Upgrade (install ps)
### ###
RUN set -x \ RUN set -x \
&& apt-get update \ && apt-get update \
&& apt-get upgrade -y \ && apt-get upgrade -y \
&& apt-get install --no-install-recommends --no-install-suggests -y procps \
&& rm -rf /var/lib/apt/lists/* && rm -rf /var/lib/apt/lists/*
###
### Configure
###
RUN set -x \
&& rm -rf /usr/local/etc/php-fpm.d \
&& mkdir -p /usr/local/etc/php-fpm.d
### ###
### Copy files ### Copy files
### ###

View File

@@ -46,6 +46,8 @@ ENV BUILD_DEPS \
zlib1g-dev \ zlib1g-dev \
libmemcached-dev \ libmemcached-dev \
libssl-dev \ libssl-dev \
libsasl2-dev \
libssl-dev \
freetds-dev \ freetds-dev \
libfbclient2 \ libfbclient2 \
libib-util \ libib-util \
@@ -156,6 +158,8 @@ RUN set -x \
&& docker-php-ext-enable memcache \ && docker-php-ext-enable memcache \
&& pecl install memcached-2.2.0 \ && pecl install memcached-2.2.0 \
&& docker-php-ext-enable memcached \ && docker-php-ext-enable memcached \
&& yes | pecl install mongo \
&& docker-php-ext-enable mongo \
&& pecl install mongodb-1.2.11 \ && pecl install mongodb-1.2.11 \
&& docker-php-ext-enable mongodb \ && docker-php-ext-enable mongodb \
&& pecl install msgpack-0.5.7 \ && pecl install msgpack-0.5.7 \
@@ -301,6 +305,8 @@ RUN set -x \
&& php-fpm -m | grep -oiE '^memcache$' \ && php-fpm -m | grep -oiE '^memcache$' \
&& php -m | grep -oiE '^memcached$' \ && php -m | grep -oiE '^memcached$' \
&& php-fpm -m | grep -oiE '^memcached$' \ && php-fpm -m | grep -oiE '^memcached$' \
&& php -m | grep -oiE '^mongo$' \
&& php-fpm -m | grep -oiE '^mongo$' \
&& php -m | grep -oiE '^mongodb$' \ && php -m | grep -oiE '^mongodb$' \
&& php-fpm -m | grep -oiE '^mongodb$' \ && php-fpm -m | grep -oiE '^mongodb$' \
&& php -m | grep -oiE '^msgpack$' \ && php -m | grep -oiE '^msgpack$' \

View File

@@ -46,6 +46,8 @@ ENV BUILD_DEPS \
zlib1g-dev \ zlib1g-dev \
libmemcached-dev \ libmemcached-dev \
libssl-dev \ libssl-dev \
libsasl2-dev \
libssl-dev \
freetds-dev \ freetds-dev \
libfbclient2 \ libfbclient2 \
libib-util \ libib-util \
@@ -158,6 +160,8 @@ RUN set -x \
&& docker-php-ext-enable memcache \ && docker-php-ext-enable memcache \
&& pecl install memcached-2.2.0 \ && pecl install memcached-2.2.0 \
&& docker-php-ext-enable memcached \ && docker-php-ext-enable memcached \
&& yes | pecl install mongo \
&& docker-php-ext-enable mongo \
&& pecl install mongodb \ && pecl install mongodb \
&& docker-php-ext-enable mongodb \ && docker-php-ext-enable mongodb \
&& pecl install msgpack-0.5.7 \ && pecl install msgpack-0.5.7 \
@@ -303,6 +307,8 @@ RUN set -x \
&& php-fpm -m | grep -oiE '^memcache$' \ && php-fpm -m | grep -oiE '^memcache$' \
&& php -m | grep -oiE '^memcached$' \ && php -m | grep -oiE '^memcached$' \
&& php-fpm -m | grep -oiE '^memcached$' \ && php-fpm -m | grep -oiE '^memcached$' \
&& php -m | grep -oiE '^mongo$' \
&& php-fpm -m | grep -oiE '^mongo$' \
&& php -m | grep -oiE '^mongodb$' \ && php -m | grep -oiE '^mongodb$' \
&& php-fpm -m | grep -oiE '^mongodb$' \ && php-fpm -m | grep -oiE '^mongodb$' \
&& php -m | grep -oiE '^msgpack$' \ && php -m | grep -oiE '^msgpack$' \

View File

@@ -46,6 +46,8 @@ ENV BUILD_DEPS \
zlib1g-dev \ zlib1g-dev \
libmemcached-dev \ libmemcached-dev \
libssl-dev \ libssl-dev \
libsasl2-dev \
libssl-dev \
freetds-dev \ freetds-dev \
libfbclient2 \ libfbclient2 \
libib-util \ libib-util \
@@ -160,6 +162,8 @@ RUN set -x \
&& docker-php-ext-enable memcache \ && docker-php-ext-enable memcache \
&& pecl install memcached-2.2.0 \ && pecl install memcached-2.2.0 \
&& docker-php-ext-enable memcached \ && docker-php-ext-enable memcached \
&& yes | pecl install mongo \
&& docker-php-ext-enable mongo \
&& pecl install mongodb \ && pecl install mongodb \
&& docker-php-ext-enable mongodb \ && docker-php-ext-enable mongodb \
&& pecl install msgpack-0.5.7 \ && pecl install msgpack-0.5.7 \
@@ -305,6 +309,8 @@ RUN set -x \
&& php-fpm -m | grep -oiE '^memcache$' \ && php-fpm -m | grep -oiE '^memcache$' \
&& php -m | grep -oiE '^memcached$' \ && php -m | grep -oiE '^memcached$' \
&& php-fpm -m | grep -oiE '^memcached$' \ && php-fpm -m | grep -oiE '^memcached$' \
&& php -m | grep -oiE '^mongo$' \
&& php-fpm -m | grep -oiE '^mongo$' \
&& php -m | grep -oiE '^mongodb$' \ && php -m | grep -oiE '^mongodb$' \
&& php-fpm -m | grep -oiE '^mongodb$' \ && php-fpm -m | grep -oiE '^mongodb$' \
&& php -m | grep -oiE '^msgpack$' \ && php -m | grep -oiE '^msgpack$' \

View File

@@ -17,7 +17,9 @@ set_postfix() {
local username="${2}" local username="${2}"
local groupname="${3}" local groupname="${3}"
local php_ini_dir="${4}" local php_ini_dir="${4}"
local debug="${5}" local php_mail_log="${5}"
local docker_logs="${6}"
local debug="${7}"
local php_ini_file="${php_ini_dir}/devilbox-runtime-sendmail.ini" local php_ini_file="${php_ini_dir}/devilbox-runtime-sendmail.ini"
local catch_all= local catch_all=
@@ -37,9 +39,23 @@ set_postfix() {
echo "sendmail_path = $( which sendmail ) -t -i"; echo "sendmail_path = $( which sendmail ) -t -i";
echo ";mail.force_extra_parameters ="; echo ";mail.force_extra_parameters =";
echo "mail.add_x_header = On"; echo "mail.add_x_header = On";
echo "mail.log = /var/log/php/mail.log"; echo "mail.log = ${php_mail_log}";
} > "${php_ini_file}" } > "${php_ini_file}"
# PHP mail function logs to file
if [ "${docker_logs}" != "1" ]; then
# Fix PHP mail log file dir/file and permissions
if [ ! -d "$( dirname "${php_mail_log}" )" ]; then
run "mkdir -p $( dirname "${php_mail_log}" )" "${debug}"
fi
if [ ! -f "${php_mail_log}" ]; then
run "touch ${php_mail_log}" "${debug}"
fi
run "chown ${username}:${groupname} $( dirname "${php_mail_log}" )" "${debug}"
run "chown ${username}:${groupname} ${php_mail_log}" "${debug}"
run "chmod 0644 ${php_mail_log}" "${debug}"
fi
# Add Mail dir/file if it does not exist # Add Mail dir/file if it does not exist
if [ ! -d "/var/mail" ]; then if [ ! -d "/var/mail" ]; then
run "mkdir /var/mail" "${debug}" run "mkdir /var/mail" "${debug}"

View File

@@ -51,6 +51,26 @@ _log_to_files() {
# Functions # Functions
############################################################ ############################################################
###
### Get info if we log to docker logs
###
is_docker_logs_enabled() {
local env_varname="${1}"
if env_set "${env_varname}"; then
docker_logs="$( env_get "${env_varname}" )"
if [ "${docker_logs}" = "1" ]; then
# Use docker logs
echo "1"
return 0
fi
fi
# Use file based logging
echo "0"
return 1
}
### ###
### Change PHP-FPM logging (file or docker logs) ### Change PHP-FPM logging (file or docker logs)
### ###

View File

@@ -21,6 +21,9 @@ CONFIG_DIR="/docker-entrypoint.d"
# php.ini.d directory # php.ini.d directory
PHP_INI_DIR="/usr/local/etc/php/conf.d" PHP_INI_DIR="/usr/local/etc/php/conf.d"
# This is the log file for any mail related functions
PHP_MAIL_LOG="/var/log/mail.log"
# This file holds error and access log definitions # This file holds error and access log definitions
FPM_CONF_LOGFILE="/usr/local/etc/php-fpm.d/logfiles.conf" FPM_CONF_LOGFILE="/usr/local/etc/php-fpm.d/logfiles.conf"
@@ -69,12 +72,6 @@ set_gid "NEW_GID" "${MY_GROUP}" "/home/${MY_USER}" "${DEBUG_LEVEL}"
set_timezone "TIMEZONE" "${PHP_INI_DIR}" "${DEBUG_LEVEL}" set_timezone "TIMEZONE" "${PHP_INI_DIR}" "${DEBUG_LEVEL}"
###
### Setup postfix
###
set_postfix "ENABLE_MAIL" "${MY_USER}" "${MY_GROUP}" "${PHP_INI_DIR}" "${DEBUG_LEVEL}"
### ###
### Set Logging ### Set Logging
### ###
@@ -87,6 +84,18 @@ set_docker_logs \
"${DEBUG_LEVEL}" "${DEBUG_LEVEL}"
###
### Setup postfix
###
if is_docker_logs_enabled "DOCKER_LOGS" >/dev/null; then
# PHP mail function should log to stderr
set_postfix "ENABLE_MAIL" "${MY_USER}" "${MY_GROUP}" "${PHP_INI_DIR}" "/proc/self/fd/2" "1" "${DEBUG_LEVEL}"
else
# PHP mail function should log to file
set_postfix "ENABLE_MAIL" "${MY_USER}" "${MY_GROUP}" "${PHP_INI_DIR}" "${PHP_MAIL_LOG}" "0" "${DEBUG_LEVEL}"
fi
### ###
### Validate socat port forwards ### Validate socat port forwards
### ###

View File

@@ -70,7 +70,7 @@ trap "postfix reload" SIGHUP
postfix start postfix start
# Capture output # Capture output
tail -qF -n 0 "${MAILLOG}" & tail -qF -n 0 "${MAILLOG}" 2>/dev/null &
tail_pid="${?}" tail_pid="${?}"

View File

@@ -73,6 +73,7 @@ RUN set -x \
nodejs \ nodejs \
postgresql-client \ postgresql-client \
python-pip \ python-pip \
redis-tools \
rubygems \ rubygems \
ruby-dev \ ruby-dev \
shellcheck \ shellcheck \
@@ -187,6 +188,16 @@ RUN set -x \
&& cd / \ && cd / \
&& rm -rf /usr/local/src/phalcon-devtools/.git \ && rm -rf /usr/local/src/phalcon-devtools/.git \
\ \
# phpcs
&& curl -q https://squizlabs.github.io/PHP_CodeSniffer/phpcs.phar > /usr/local/bin/phpcs 2>/dev/null \
&& chmod +x /usr/local/bin/phpcs \
\
# phpcbf
&& curl -q https://squizlabs.github.io/PHP_CodeSniffer/phpcbf.phar > /usr/local/bin/phpcbf 2>/dev/null \
&& chmod +x /usr/local/bin/phpcbf \
\
# sass
&& gem install sass \
# symfony # symfony
&& curl https://symfony.com/installer -L -o /usr/local/bin/symfony \ && curl https://symfony.com/installer -L -o /usr/local/bin/symfony \
&& chmod +x /usr/local/bin/symfony \ && chmod +x /usr/local/bin/symfony \
@@ -195,6 +206,10 @@ RUN set -x \
# wpcli # wpcli
&& curl https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar -L -o /usr/local/bin/wp \ && 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 \ && chmod +x /usr/local/bin/wp \
# yamllint
&& apt update && apt install --no-install-recommends --no-install-suggests -y libpython-dev python-setuptools libyaml-dev \
&& pip install yamllint \
&& apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false $fetchDeps libpython-dev python-setuptools libyaml-dev && rm -rf /var/lib/apt/lists/* \
# cleanup # cleanup
&& rm -rf /home/${MY_USER}/.*json \ && rm -rf /home/${MY_USER}/.*json \
&& rm -rf /home/${MY_USER}/.cache \ && rm -rf /home/${MY_USER}/.cache \
@@ -264,9 +279,13 @@ RUN set -x \
&& su - ${MY_USER} -c '/usr/local/src/linuxbrew/bin/brew --version' | grep -E 'Homebrew\s*[.0-9]+' \ && su - ${MY_USER} -c '/usr/local/src/linuxbrew/bin/brew --version' | grep -E 'Homebrew\s*[.0-9]+' \
&& mysqldump-secure --version | grep -E 'Version:\s*[.0-9]+' \ && mysqldump-secure --version | grep -E 'Version:\s*[.0-9]+' \
&& phalcon commands | grep -E '[.0-9]+' \ && phalcon commands | grep -E '[.0-9]+' \
&& phpcs --version | grep -E 'version [.0-9]+' \
&& phpcbf --version | grep -E 'version [.0-9]+' \
&& sass --version | grep -E '[.0-9]+' \
&& symfony --version | grep -E 'version\s*[.0-9]+' \ && symfony --version | grep -E 'version\s*[.0-9]+' \
&& webpack --version | grep -E '[.0-9]+' \ && webpack --version | grep -E '[.0-9]+' \
&& wp --allow-root --version | grep -E '[.0-9]+' \ && wp --allow-root --version | grep -E '[.0-9]+' \
&& yamllint --version 2>&1 | grep -E '[.0-9]+' \
&& true && true

View File

@@ -73,6 +73,7 @@ RUN set -x \
nodejs \ nodejs \
postgresql-client \ postgresql-client \
python-pip \ python-pip \
redis-tools \
rubygems \ rubygems \
ruby-dev \ ruby-dev \
shellcheck \ shellcheck \
@@ -190,6 +191,16 @@ RUN set -x \
&& cd / \ && cd / \
&& rm -rf /usr/local/src/phalcon-devtools/.git \ && rm -rf /usr/local/src/phalcon-devtools/.git \
\ \
# phpcs
&& curl -q https://squizlabs.github.io/PHP_CodeSniffer/phpcs.phar > /usr/local/bin/phpcs 2>/dev/null \
&& chmod +x /usr/local/bin/phpcs \
\
# phpcbf
&& curl -q https://squizlabs.github.io/PHP_CodeSniffer/phpcbf.phar > /usr/local/bin/phpcbf 2>/dev/null \
&& chmod +x /usr/local/bin/phpcbf \
\
# sass
&& gem install sass \
# symfony # symfony
&& curl https://symfony.com/installer -L -o /usr/local/bin/symfony \ && curl https://symfony.com/installer -L -o /usr/local/bin/symfony \
&& chmod +x /usr/local/bin/symfony \ && chmod +x /usr/local/bin/symfony \
@@ -198,6 +209,10 @@ RUN set -x \
# wpcli # wpcli
&& curl https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar -L -o /usr/local/bin/wp \ && 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 \ && chmod +x /usr/local/bin/wp \
# yamllint
&& apt update && apt install --no-install-recommends --no-install-suggests -y libpython-dev python-setuptools libyaml-dev \
&& pip install yamllint \
&& apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false $fetchDeps libpython-dev python-setuptools libyaml-dev && rm -rf /var/lib/apt/lists/* \
# cleanup # cleanup
&& rm -rf /home/${MY_USER}/.*json \ && rm -rf /home/${MY_USER}/.*json \
&& rm -rf /home/${MY_USER}/.cache \ && rm -rf /home/${MY_USER}/.cache \
@@ -268,9 +283,13 @@ RUN set -x \
&& su - ${MY_USER} -c '/usr/local/src/linuxbrew/bin/brew --version' | grep -E 'Homebrew\s*[.0-9]+' \ && su - ${MY_USER} -c '/usr/local/src/linuxbrew/bin/brew --version' | grep -E 'Homebrew\s*[.0-9]+' \
&& mysqldump-secure --version | grep -E 'Version:\s*[.0-9]+' \ && mysqldump-secure --version | grep -E 'Version:\s*[.0-9]+' \
&& phalcon commands | grep -E '[.0-9]+' \ && phalcon commands | grep -E '[.0-9]+' \
&& phpcs --version | grep -E 'version [.0-9]+' \
&& phpcbf --version | grep -E 'version [.0-9]+' \
&& sass --version | grep -E '[.0-9]+' \
&& symfony --version | grep -E 'version\s*[.0-9]+' \ && symfony --version | grep -E 'version\s*[.0-9]+' \
&& webpack --version | grep -E '[.0-9]+' \ && webpack --version | grep -E '[.0-9]+' \
&& wp --allow-root --version | grep -E '[.0-9]+' \ && wp --allow-root --version | grep -E '[.0-9]+' \
&& yamllint --version 2>&1 | grep -E '[.0-9]+' \
&& true && true

View File

@@ -73,6 +73,7 @@ RUN set -x \
nodejs \ nodejs \
postgresql-client \ postgresql-client \
python-pip \ python-pip \
redis-tools \
rubygems \ rubygems \
ruby-dev \ ruby-dev \
shellcheck \ shellcheck \
@@ -190,6 +191,16 @@ RUN set -x \
&& cd / \ && cd / \
&& rm -rf /usr/local/src/phalcon-devtools/.git \ && rm -rf /usr/local/src/phalcon-devtools/.git \
\ \
# phpcs
&& curl -q https://squizlabs.github.io/PHP_CodeSniffer/phpcs.phar > /usr/local/bin/phpcs 2>/dev/null \
&& chmod +x /usr/local/bin/phpcs \
\
# phpcbf
&& curl -q https://squizlabs.github.io/PHP_CodeSniffer/phpcbf.phar > /usr/local/bin/phpcbf 2>/dev/null \
&& chmod +x /usr/local/bin/phpcbf \
\
# sass
&& gem install sass \
# symfony # symfony
&& curl https://symfony.com/installer -L -o /usr/local/bin/symfony \ && curl https://symfony.com/installer -L -o /usr/local/bin/symfony \
&& chmod +x /usr/local/bin/symfony \ && chmod +x /usr/local/bin/symfony \
@@ -198,6 +209,10 @@ RUN set -x \
# wpcli # wpcli
&& curl https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar -L -o /usr/local/bin/wp \ && 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 \ && chmod +x /usr/local/bin/wp \
# yamllint
&& apt update && apt install --no-install-recommends --no-install-suggests -y libpython-dev python-setuptools libyaml-dev \
&& pip install yamllint \
&& apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false $fetchDeps libpython-dev python-setuptools libyaml-dev && rm -rf /var/lib/apt/lists/* \
# cleanup # cleanup
&& rm -rf /home/${MY_USER}/.*json \ && rm -rf /home/${MY_USER}/.*json \
&& rm -rf /home/${MY_USER}/.cache \ && rm -rf /home/${MY_USER}/.cache \
@@ -268,9 +283,13 @@ RUN set -x \
&& su - ${MY_USER} -c '/usr/local/src/linuxbrew/bin/brew --version' | grep -E 'Homebrew\s*[.0-9]+' \ && su - ${MY_USER} -c '/usr/local/src/linuxbrew/bin/brew --version' | grep -E 'Homebrew\s*[.0-9]+' \
&& mysqldump-secure --version | grep -E 'Version:\s*[.0-9]+' \ && mysqldump-secure --version | grep -E 'Version:\s*[.0-9]+' \
&& phalcon commands | grep -E '[.0-9]+' \ && phalcon commands | grep -E '[.0-9]+' \
&& phpcs --version | grep -E 'version [.0-9]+' \
&& phpcbf --version | grep -E 'version [.0-9]+' \
&& sass --version | grep -E '[.0-9]+' \
&& symfony --version | grep -E 'version\s*[.0-9]+' \ && symfony --version | grep -E 'version\s*[.0-9]+' \
&& webpack --version | grep -E '[.0-9]+' \ && webpack --version | grep -E '[.0-9]+' \
&& wp --allow-root --version | grep -E '[.0-9]+' \ && wp --allow-root --version | grep -E '[.0-9]+' \
&& yamllint --version 2>&1 | grep -E '[.0-9]+' \
&& true && true

View File

@@ -73,6 +73,7 @@ RUN set -x \
nodejs \ nodejs \
postgresql-client \ postgresql-client \
python-pip \ python-pip \
redis-tools \
rubygems \ rubygems \
ruby-dev \ ruby-dev \
shellcheck \ shellcheck \
@@ -190,6 +191,16 @@ RUN set -x \
&& cd / \ && cd / \
&& rm -rf /usr/local/src/phalcon-devtools/.git \ && rm -rf /usr/local/src/phalcon-devtools/.git \
\ \
# phpcs
&& curl -q https://squizlabs.github.io/PHP_CodeSniffer/phpcs.phar > /usr/local/bin/phpcs 2>/dev/null \
&& chmod +x /usr/local/bin/phpcs \
\
# phpcbf
&& curl -q https://squizlabs.github.io/PHP_CodeSniffer/phpcbf.phar > /usr/local/bin/phpcbf 2>/dev/null \
&& chmod +x /usr/local/bin/phpcbf \
\
# sass
&& gem install sass \
# symfony # symfony
&& curl https://symfony.com/installer -L -o /usr/local/bin/symfony \ && curl https://symfony.com/installer -L -o /usr/local/bin/symfony \
&& chmod +x /usr/local/bin/symfony \ && chmod +x /usr/local/bin/symfony \
@@ -198,6 +209,10 @@ RUN set -x \
# wpcli # wpcli
&& curl https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar -L -o /usr/local/bin/wp \ && 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 \ && chmod +x /usr/local/bin/wp \
# yamllint
&& apt update && apt install --no-install-recommends --no-install-suggests -y libpython-dev python-setuptools libyaml-dev \
&& pip install yamllint \
&& apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false $fetchDeps libpython-dev python-setuptools libyaml-dev && rm -rf /var/lib/apt/lists/* \
# cleanup # cleanup
&& rm -rf /home/${MY_USER}/.*json \ && rm -rf /home/${MY_USER}/.*json \
&& rm -rf /home/${MY_USER}/.cache \ && rm -rf /home/${MY_USER}/.cache \
@@ -268,9 +283,13 @@ RUN set -x \
&& su - ${MY_USER} -c '/usr/local/src/linuxbrew/bin/brew --version' | grep -E 'Homebrew\s*[.0-9]+' \ && su - ${MY_USER} -c '/usr/local/src/linuxbrew/bin/brew --version' | grep -E 'Homebrew\s*[.0-9]+' \
&& mysqldump-secure --version | grep -E 'Version:\s*[.0-9]+' \ && mysqldump-secure --version | grep -E 'Version:\s*[.0-9]+' \
&& phalcon commands | grep -E '[.0-9]+' \ && phalcon commands | grep -E '[.0-9]+' \
&& phpcs --version | grep -E 'version [.0-9]+' \
&& phpcbf --version | grep -E 'version [.0-9]+' \
&& sass --version | grep -E '[.0-9]+' \
&& symfony --version | grep -E 'version\s*[.0-9]+' \ && symfony --version | grep -E 'version\s*[.0-9]+' \
&& webpack --version | grep -E '[.0-9]+' \ && webpack --version | grep -E '[.0-9]+' \
&& wp --allow-root --version | grep -E '[.0-9]+' \ && wp --allow-root --version | grep -E '[.0-9]+' \
&& yamllint --version 2>&1 | grep -E '[.0-9]+' \
&& true && true

View File

@@ -73,6 +73,7 @@ RUN set -x \
nodejs \ nodejs \
postgresql-client \ postgresql-client \
python-pip \ python-pip \
redis-tools \
rubygems \ rubygems \
ruby-dev \ ruby-dev \
shellcheck \ shellcheck \
@@ -190,6 +191,16 @@ RUN set -x \
&& cd / \ && cd / \
&& rm -rf /usr/local/src/phalcon-devtools/.git \ && rm -rf /usr/local/src/phalcon-devtools/.git \
\ \
# phpcs
&& curl -q https://squizlabs.github.io/PHP_CodeSniffer/phpcs.phar > /usr/local/bin/phpcs 2>/dev/null \
&& chmod +x /usr/local/bin/phpcs \
\
# phpcbf
&& curl -q https://squizlabs.github.io/PHP_CodeSniffer/phpcbf.phar > /usr/local/bin/phpcbf 2>/dev/null \
&& chmod +x /usr/local/bin/phpcbf \
\
# sass
&& gem install sass \
# symfony # symfony
&& curl https://symfony.com/installer -L -o /usr/local/bin/symfony \ && curl https://symfony.com/installer -L -o /usr/local/bin/symfony \
&& chmod +x /usr/local/bin/symfony \ && chmod +x /usr/local/bin/symfony \
@@ -198,6 +209,10 @@ RUN set -x \
# wpcli # wpcli
&& curl https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar -L -o /usr/local/bin/wp \ && 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 \ && chmod +x /usr/local/bin/wp \
# yamllint
&& apt update && apt install --no-install-recommends --no-install-suggests -y libpython-dev python-setuptools libyaml-dev \
&& pip install yamllint \
&& apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false $fetchDeps libpython-dev python-setuptools libyaml-dev && rm -rf /var/lib/apt/lists/* \
# cleanup # cleanup
&& rm -rf /home/${MY_USER}/.*json \ && rm -rf /home/${MY_USER}/.*json \
&& rm -rf /home/${MY_USER}/.cache \ && rm -rf /home/${MY_USER}/.cache \
@@ -268,9 +283,13 @@ RUN set -x \
&& su - ${MY_USER} -c '/usr/local/src/linuxbrew/bin/brew --version' | grep -E 'Homebrew\s*[.0-9]+' \ && su - ${MY_USER} -c '/usr/local/src/linuxbrew/bin/brew --version' | grep -E 'Homebrew\s*[.0-9]+' \
&& mysqldump-secure --version | grep -E 'Version:\s*[.0-9]+' \ && mysqldump-secure --version | grep -E 'Version:\s*[.0-9]+' \
&& phalcon commands | grep -E '[.0-9]+' \ && phalcon commands | grep -E '[.0-9]+' \
&& phpcs --version | grep -E 'version [.0-9]+' \
&& phpcbf --version | grep -E 'version [.0-9]+' \
&& sass --version | grep -E '[.0-9]+' \
&& symfony --version | grep -E 'version\s*[.0-9]+' \ && symfony --version | grep -E 'version\s*[.0-9]+' \
&& webpack --version | grep -E '[.0-9]+' \ && webpack --version | grep -E '[.0-9]+' \
&& wp --allow-root --version | grep -E '[.0-9]+' \ && wp --allow-root --version | grep -E '[.0-9]+' \
&& yamllint --version 2>&1 | grep -E '[.0-9]+' \
&& true && true

View File

@@ -73,6 +73,7 @@ RUN set -x \
nodejs \ nodejs \
postgresql-client \ postgresql-client \
python-pip \ python-pip \
redis-tools \
rubygems \ rubygems \
ruby-dev \ ruby-dev \
shellcheck \ shellcheck \
@@ -190,6 +191,16 @@ RUN set -x \
&& cd / \ && cd / \
&& rm -rf /usr/local/src/phalcon-devtools/.git \ && rm -rf /usr/local/src/phalcon-devtools/.git \
\ \
# phpcs
&& curl -q https://squizlabs.github.io/PHP_CodeSniffer/phpcs.phar > /usr/local/bin/phpcs 2>/dev/null \
&& chmod +x /usr/local/bin/phpcs \
\
# phpcbf
&& curl -q https://squizlabs.github.io/PHP_CodeSniffer/phpcbf.phar > /usr/local/bin/phpcbf 2>/dev/null \
&& chmod +x /usr/local/bin/phpcbf \
\
# sass
&& gem install sass \
# symfony # symfony
&& curl https://symfony.com/installer -L -o /usr/local/bin/symfony \ && curl https://symfony.com/installer -L -o /usr/local/bin/symfony \
&& chmod +x /usr/local/bin/symfony \ && chmod +x /usr/local/bin/symfony \
@@ -198,6 +209,10 @@ RUN set -x \
# wpcli # wpcli
&& curl https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar -L -o /usr/local/bin/wp \ && 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 \ && chmod +x /usr/local/bin/wp \
# yamllint
&& apt update && apt install --no-install-recommends --no-install-suggests -y libpython-dev python-setuptools libyaml-dev \
&& pip install yamllint \
&& apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false $fetchDeps libpython-dev python-setuptools libyaml-dev && rm -rf /var/lib/apt/lists/* \
# cleanup # cleanup
&& rm -rf /home/${MY_USER}/.*json \ && rm -rf /home/${MY_USER}/.*json \
&& rm -rf /home/${MY_USER}/.cache \ && rm -rf /home/${MY_USER}/.cache \
@@ -268,9 +283,13 @@ RUN set -x \
&& su - ${MY_USER} -c '/usr/local/src/linuxbrew/bin/brew --version' | grep -E 'Homebrew\s*[.0-9]+' \ && su - ${MY_USER} -c '/usr/local/src/linuxbrew/bin/brew --version' | grep -E 'Homebrew\s*[.0-9]+' \
&& mysqldump-secure --version | grep -E 'Version:\s*[.0-9]+' \ && mysqldump-secure --version | grep -E 'Version:\s*[.0-9]+' \
&& phalcon commands | grep -E '[.0-9]+' \ && phalcon commands | grep -E '[.0-9]+' \
&& phpcs --version | grep -E 'version [.0-9]+' \
&& phpcbf --version | grep -E 'version [.0-9]+' \
&& sass --version | grep -E '[.0-9]+' \
&& symfony --version | grep -E 'version\s*[.0-9]+' \ && symfony --version | grep -E 'version\s*[.0-9]+' \
&& webpack --version | grep -E '[.0-9]+' \ && webpack --version | grep -E '[.0-9]+' \
&& wp --allow-root --version | grep -E '[.0-9]+' \ && wp --allow-root --version | grep -E '[.0-9]+' \
&& yamllint --version 2>&1 | grep -E '[.0-9]+' \
&& true && true

View File

@@ -45,7 +45,7 @@ echo " | node | https://nodejs.org |"
echo " | npm | https://www.npmjs.com |" echo " | npm | https://www.npmjs.com |"
echo " | phalcon-devtools | gh: phalcon/phalcon-devtools |" echo " | phalcon-devtools | gh: phalcon/phalcon-devtools |"
echo " | symfony installer| gh: symfony/symfony-installer|" echo " | symfony installer| gh: symfony/symfony-installer|"
echo " | webpack | ghL webpack/webpack |" echo " | webpack | gh: webpack/webpack |"
echo " | wpcli | https://wp-cli.org |" echo " | wpcli | https://wp-cli.org |"
echo echo
echo echo

View File

@@ -21,6 +21,9 @@ CONFIG_DIR="/docker-entrypoint.d"
# php.ini.d directory # php.ini.d directory
PHP_INI_DIR="/usr/local/etc/php/conf.d" PHP_INI_DIR="/usr/local/etc/php/conf.d"
# This is the log file for any mail related functions
PHP_MAIL_LOG="/var/log/mail.log"
# This file holds error and access log definitions # This file holds error and access log definitions
FPM_CONF_LOGFILE="/usr/local/etc/php-fpm.d/logfiles.conf" FPM_CONF_LOGFILE="/usr/local/etc/php-fpm.d/logfiles.conf"
@@ -69,12 +72,6 @@ set_gid "NEW_GID" "${MY_GROUP}" "/home/${MY_USER}" "${DEBUG_LEVEL}"
set_timezone "TIMEZONE" "${PHP_INI_DIR}" "${DEBUG_LEVEL}" set_timezone "TIMEZONE" "${PHP_INI_DIR}" "${DEBUG_LEVEL}"
###
### Setup postfix
###
set_postfix "ENABLE_MAIL" "${MY_USER}" "${MY_GROUP}" "${PHP_INI_DIR}" "${DEBUG_LEVEL}"
### ###
### Set Logging ### Set Logging
### ###
@@ -87,6 +84,18 @@ set_docker_logs \
"${DEBUG_LEVEL}" "${DEBUG_LEVEL}"
###
### Setup postfix
###
if is_docker_logs_enabled "DOCKER_LOGS" >/dev/null; then
# PHP mail function should log to stderr
set_postfix "ENABLE_MAIL" "${MY_USER}" "${MY_GROUP}" "${PHP_INI_DIR}" "/proc/self/fd/2" "1" "${DEBUG_LEVEL}"
else
# PHP mail function should log to file
set_postfix "ENABLE_MAIL" "${MY_USER}" "${MY_GROUP}" "${PHP_INI_DIR}" "${PHP_MAIL_LOG}" "0" "${DEBUG_LEVEL}"
fi
### ###
### Validate socat port forwards ### Validate socat port forwards
### ###
@@ -138,6 +147,21 @@ fix_mds_permissions "${MY_USER}" "${MY_GROUP}" "${DEBUG_LEVEL}"
set_mds_settings "MYSQL_BACKUP_USER" "MYSQL_BACKUP_PASS" "MYSQL_BACKUP_HOST" "${DEBUG_LEVEL}" set_mds_settings "MYSQL_BACKUP_USER" "MYSQL_BACKUP_PASS" "MYSQL_BACKUP_HOST" "${DEBUG_LEVEL}"
###
### Fix mountpoint permissions
###
if [ ! -d "/shared/backups" ]; then
run "mkdir -p /shared/backups" "${DEBUG_LEVEL}"
fi
if [ ! -d "/shared/httpd" ]; then
run "mkdir -p /shared/httpd" "${DEBUG_LEVEL}"
fi
run "chown ${MY_USER}:${MY_GROUP} /shared/backups" "${DEBUG_LEVEL}"
run "chown ${MY_USER}:${MY_GROUP} /shared/httpd" "${DEBUG_LEVEL}"
run "chmod 0755 /shared/backups" "${DEBUG_LEVEL}"
run "chmod 0755 /shared/httpd" "${DEBUG_LEVEL}"
### ###
### Startup ### Startup
### ###

View File

@@ -173,17 +173,17 @@ Have a look at the following table to see all offered exposed ports for each Doc
<tr> <tr>
<th>5.4</th> <th>5.4</th>
<td id="54-base">Core, ctype, curl, date, dom, ereg, fileinfo, filter, hash, iconv, json, libxml, mysqlnd, openssl, pcre, PDO, pdo_sqlite, Phar, posix, readline, recode, Reflection, session, SimpleXML, SPL, sqlite3, standard, tokenizer, xml, xmlreader, xmlwriter, zlib</td> <td id="54-base">Core, ctype, curl, date, dom, ereg, fileinfo, filter, hash, iconv, json, libxml, mysqlnd, openssl, pcre, PDO, pdo_sqlite, Phar, posix, readline, recode, Reflection, session, SimpleXML, SPL, sqlite3, standard, tokenizer, xml, xmlreader, xmlwriter, zlib</td>
<td id="54-mods">amqp, apc, apcu, bcmath, bz2, calendar, Core, ctype, curl, date, dba, dom, enchant, ereg, exif, fileinfo, filter, ftp, gd, gettext, gmp, hash, iconv, igbinary, imagick, imap, interbase, intl, json, ldap, libxml, mbstring, mcrypt, memcache, memcached, mongodb, msgpack, mysql, mysqli, mysqlnd, openssl, pcntl, pcre, PDO, pdo_dblib, PDO_Firebird, pdo_mysql, pdo_pgsql, pdo_sqlite, pgsql, phalcon, Phar, posix, pspell, readline, recode, redis, Reflection, session, shmop, SimpleXML, snmp, soap, sockets, SPL, sqlite3, standard, swoole, sysvmsg, sysvsem, sysvshm, tidy, tokenizer, uploadprogress, wddx, xdebug, xml, xmlreader, xmlrpc, xmlwriter, xsl, Zend OPcache, zip, zlib</td> <td id="54-mods">amqp, apc, apcu, bcmath, bz2, calendar, Core, ctype, curl, date, dba, dom, enchant, ereg, exif, fileinfo, filter, ftp, gd, gettext, gmp, hash, iconv, igbinary, imagick, imap, interbase, intl, json, ldap, libxml, mbstring, mcrypt, memcache, memcached, mongo, mongodb, msgpack, mysql, mysqli, mysqlnd, openssl, pcntl, pcre, PDO, pdo_dblib, PDO_Firebird, pdo_mysql, pdo_pgsql, pdo_sqlite, pgsql, phalcon, Phar, posix, pspell, readline, recode, redis, Reflection, session, shmop, SimpleXML, snmp, soap, sockets, SPL, sqlite3, standard, swoole, sysvmsg, sysvsem, sysvshm, tidy, tokenizer, uploadprogress, wddx, xdebug, xml, xmlreader, xmlrpc, xmlwriter, xsl, Zend OPcache, zip, zlib</td>
</tr> </tr>
<tr> <tr>
<th>5.5</th> <th>5.5</th>
<td id="55-base">Core, ctype, curl, date, dom, ereg, fileinfo, filter, ftp, hash, iconv, json, libxml, mbstring, mysqlnd, openssl, pcre, PDO, pdo_sqlite, Phar, posix, readline, Reflection, session, SimpleXML, SPL, sqlite3, standard, tokenizer, xml, xmlreader, xmlwriter, zlib</td> <td id="55-base">Core, ctype, curl, date, dom, ereg, fileinfo, filter, ftp, hash, iconv, json, libxml, mbstring, mysqlnd, openssl, pcre, PDO, pdo_sqlite, Phar, posix, readline, Reflection, session, SimpleXML, SPL, sqlite3, standard, tokenizer, xml, xmlreader, xmlwriter, zlib</td>
<td id="55-mods">amqp, apc, apcu, bcmath, bz2, calendar, Core, ctype, curl, date, dba, dom, enchant, ereg, exif, fileinfo, filter, ftp, gd, gettext, gmp, hash, iconv, igbinary, imagick, imap, interbase, intl, json, ldap, libxml, mbstring, mcrypt, memcache, memcached, mongodb, msgpack, mysql, mysqli, mysqlnd, openssl, pcntl, pcre, PDO, pdo_dblib, PDO_Firebird, pdo_mysql, pdo_pgsql, pdo_sqlite, pgsql, phalcon, Phar, posix, pspell, readline, recode, redis, Reflection, session, shmop, SimpleXML, snmp, soap, sockets, SPL, sqlite3, standard, swoole, sysvmsg, sysvsem, sysvshm, tidy, tokenizer, uploadprogress, wddx, xdebug, xml, xmlreader, xmlrpc, xmlwriter, xsl, Zend OPcache, zip, zlib</td> <td id="55-mods">amqp, apc, apcu, bcmath, bz2, calendar, Core, ctype, curl, date, dba, dom, enchant, ereg, exif, fileinfo, filter, ftp, gd, gettext, gmp, hash, iconv, igbinary, imagick, imap, interbase, intl, json, ldap, libxml, mbstring, mcrypt, memcache, memcached, mongo, mongodb, msgpack, mysql, mysqli, mysqlnd, openssl, pcntl, pcre, PDO, pdo_dblib, PDO_Firebird, pdo_mysql, pdo_pgsql, pdo_sqlite, pgsql, phalcon, Phar, posix, pspell, readline, recode, redis, Reflection, session, shmop, SimpleXML, snmp, soap, sockets, SPL, sqlite3, standard, swoole, sysvmsg, sysvsem, sysvshm, tidy, tokenizer, uploadprogress, wddx, xdebug, xml, xmlreader, xmlrpc, xmlwriter, xsl, Zend OPcache, zip, zlib</td>
</tr> </tr>
<tr> <tr>
<th>5.6</th> <th>5.6</th>
<td id="56-base">Core, ctype, curl, date, dom, ereg, fileinfo, filter, ftp, hash, iconv, json, libxml, mbstring, mysqlnd, openssl, pcre, PDO, pdo_sqlite, Phar, posix, readline, Reflection, session, SimpleXML, SPL, sqlite3, standard, tokenizer, xml, xmlreader, xmlwriter, zlib</td> <td id="56-base">Core, ctype, curl, date, dom, ereg, fileinfo, filter, ftp, hash, iconv, json, libxml, mbstring, mysqlnd, openssl, pcre, PDO, pdo_sqlite, Phar, posix, readline, Reflection, session, SimpleXML, SPL, sqlite3, standard, tokenizer, xml, xmlreader, xmlwriter, zlib</td>
<td id="56-mods">amqp, apc, apcu, bcmath, bz2, calendar, Core, ctype, curl, date, dba, dom, enchant, ereg, exif, fileinfo, filter, ftp, gd, gettext, gmp, hash, iconv, igbinary, imagick, imap, interbase, intl, json, ldap, libxml, mbstring, mcrypt, memcache, memcached, mongodb, msgpack, mysql, mysqli, mysqlnd, openssl, pcntl, pcre, PDO, pdo_dblib, PDO_Firebird, pdo_mysql, pdo_pgsql, pdo_sqlite, pgsql, phalcon, Phar, posix, pspell, readline, recode, redis, Reflection, session, shmop, SimpleXML, snmp, soap, sockets, SPL, sqlite3, standard, swoole, sysvmsg, sysvsem, sysvshm, tidy, tokenizer, uploadprogress, wddx, xdebug, xml, xmlreader, xmlrpc, xmlwriter, xsl, Zend OPcache, zip, zlib</td> <td id="56-mods">amqp, apc, apcu, bcmath, bz2, calendar, Core, ctype, curl, date, dba, dom, enchant, ereg, exif, fileinfo, filter, ftp, gd, gettext, gmp, hash, iconv, igbinary, imagick, imap, interbase, intl, json, ldap, libxml, mbstring, mcrypt, memcache, memcached, mongo, mongodb, msgpack, mysql, mysqli, mysqlnd, openssl, pcntl, pcre, PDO, pdo_dblib, PDO_Firebird, pdo_mysql, pdo_pgsql, pdo_sqlite, pgsql, phalcon, Phar, posix, pspell, readline, recode, redis, Reflection, session, shmop, SimpleXML, snmp, soap, sockets, SPL, sqlite3, standard, swoole, sysvmsg, sysvsem, sysvshm, tidy, tokenizer, uploadprogress, wddx, xdebug, xml, xmlreader, xmlrpc, xmlwriter, xsl, Zend OPcache, zip, zlib</td>
</tr> </tr>
<tr> <tr>
<th>7.0</th> <th>7.0</th>

View File

@@ -32,14 +32,23 @@ RUN set -x \
### ###
### Upgrade ### Upgrade (install ps)
### ###
RUN set -x \ RUN set -x \
&& apt-get update \ && apt-get update \
&& apt-get upgrade -y \ && apt-get upgrade -y \
&& apt-get install --no-install-recommends --no-install-suggests -y procps \
&& rm -rf /var/lib/apt/lists/* && rm -rf /var/lib/apt/lists/*
###
### Configure
###
RUN set -x \
&& rm -rf /usr/local/etc/php-fpm.d \
&& mkdir -p /usr/local/etc/php-fpm.d
### ###
### Copy files ### Copy files
### ###

View File

@@ -88,6 +88,7 @@ RUN set -x \
nodejs \ nodejs \
postgresql-client \ postgresql-client \
python-pip \ python-pip \
redis-tools \
rubygems \ rubygems \
ruby-dev \ ruby-dev \
shellcheck \ shellcheck \

View File

@@ -61,9 +61,13 @@ software_enabled:
- linuxbrew - linuxbrew
- mysqldumpsecure - mysqldumpsecure
- phalcon - phalcon
- phpcs
- phpcbf
- sass
- symfony - symfony
- webpack - webpack
- wpcli - wpcli
- yamllint
# Cleanup needs to be last # Cleanup needs to be last
- cleanup - cleanup
@@ -289,6 +293,22 @@ software_available:
&& ln -s /usr/local/src/phalcon-devtools/phalcon.php /usr/local/bin/phalcon \ && ln -s /usr/local/src/phalcon-devtools/phalcon.php /usr/local/bin/phalcon \
&& cd / \ && cd / \
&& rm -rf /usr/local/src/phalcon-devtools/.git \ && rm -rf /usr/local/src/phalcon-devtools/.git \
phpcs:
check: phpcs --version | grep -E 'version [.0-9]+'
all:
command: |
curl -q https://squizlabs.github.io/PHP_CodeSniffer/phpcs.phar > /usr/local/bin/phpcs 2>/dev/null \
&& chmod +x /usr/local/bin/phpcs \
phpcbf:
check: phpcbf --version | grep -E 'version [.0-9]+'
all:
command: |
curl -q https://squizlabs.github.io/PHP_CodeSniffer/phpcbf.phar > /usr/local/bin/phpcbf 2>/dev/null \
&& chmod +x /usr/local/bin/phpcbf \
sass:
check: sass --version | grep -E '[.0-9]+'
all:
command: gem install sass
symfony: symfony:
check: symfony --version | grep -E 'version\s*[.0-9]+' check: symfony --version | grep -E 'version\s*[.0-9]+'
all: all:
@@ -303,6 +323,12 @@ software_available:
check: webpack --version | grep -E '[.0-9]+' check: webpack --version | grep -E '[.0-9]+'
all: all:
command: npm install -g webpack webpack-cli command: npm install -g webpack webpack-cli
yamllint:
check: yamllint --version 2>&1 | grep -E '[.0-9]+'
all:
pre: apt update && apt install --no-install-recommends --no-install-suggests -y libpython-dev python-setuptools libyaml-dev
command: pip install yamllint
post: apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false $fetchDeps libpython-dev python-setuptools libyaml-dev && rm -rf /var/lib/apt/lists/*
cleanup: cleanup:
all: all:
command: | command: |
@@ -366,6 +392,7 @@ extensions_enabled:
- mcrypt - mcrypt
- memcache - memcache
- memcached - memcached
- mongo
- mongodb - mongodb
- msgpack - msgpack
- mysql - mysql
@@ -625,6 +652,12 @@ extensions_available:
type: pecl type: pecl
build_dep: [zlib1g-dev, libmemcached-dev] build_dep: [zlib1g-dev, libmemcached-dev]
run_dep: [libmemcachedutil2] run_dep: [libmemcachedutil2]
mongo:
disabled: [7.0, 7.1, 7.2] # Deprecated
all:
type: pecl
command: yes | pecl install mongo
build_dep: [libssl-dev, libsasl2-dev]
mongodb: mongodb:
5.4: 5.4:
type: pecl type: pecl

View File

@@ -5,6 +5,6 @@
src: "{{ item.src }}" src: "{{ item.src }}"
dest: "{{ item.dst }}" dest: "{{ item.dst }}"
force: True force: True
mode: 0664 mode: 0644
with_items: with_items:
- "{{ template_files }}" - "{{ template_files }}"

View File

@@ -19,9 +19,7 @@ FLAVOUR="${3}"
# Tests # Tests
############################################################ ############################################################
###
### Test Nginx with PHP-FPM
###
WWW_PORT="81" WWW_PORT="81"
DOC_ROOT_HOST="$( mktemp -d )" DOC_ROOT_HOST="$( mktemp -d )"
DOC_ROOT_CONT="/var/www/default" DOC_ROOT_CONT="/var/www/default"
@@ -69,7 +67,37 @@ ndid="$( docker_run "${CONTAINER}" "-v ${DOC_ROOT_HOST}:${DOC_ROOT_CONT} -v ${CO
# Wait for both containers to be up and running # Wait for both containers to be up and running
run "sleep 10" run "sleep 10"
# Check PHP connectivity
###
### Check correct PHP-FPM user
###
if ! docker_exec "${did}" "ps aux | grep 'php-fpm: pool' | grep -v grep | awk '{ print \$1 }' | head -1 | grep devilbox"; then
docker_exec "${did}" "ps aux"
# Shutdown
docker_stop "${ndid}" || true
docker_stop "${did}" || true
rm -rf "${DOC_ROOT_HOST}"
rm -rf "${CONFIG_HOST}"
echo "Failed"
exit 1
fi
if ! docker_exec "${did}" "ps aux | grep 'php-fpm: pool' | grep -v grep | awk '{ print \$1 }' | tail -1 | grep devilbox"; then
docker_exec "${did}" "ps aux"
# Shutdown
docker_stop "${ndid}" || true
docker_stop "${did}" || true
rm -rf "${DOC_ROOT_HOST}"
rm -rf "${CONFIG_HOST}"
echo "Failed"
exit 1
fi
###
### Test Nginx with PHP-FPM
###
if ! run "curl -q -4 http://127.0.0.1:${WWW_PORT}/index.php 2>&1 | grep '${FINDME}'"; then if ! run "curl -q -4 http://127.0.0.1:${WWW_PORT}/index.php 2>&1 | grep '${FINDME}'"; then
# Info # Info
@@ -102,7 +130,10 @@ if ! run "curl -q -4 http://127.0.0.1:${WWW_PORT}/index.php 2>&1 | grep '${FINDM
exit 1 exit 1
fi fi
# Cleanup
###
### Clean-up
###
docker_stop "${did}" docker_stop "${did}"
docker_stop "${ndid}" docker_stop "${ndid}"
rm -rf "${DOC_ROOT_HOST}" rm -rf "${DOC_ROOT_HOST}"