diff --git a/.devilbox/www/config.php b/.devilbox/www/config.php index 5e2c29d3..8f465a8f 100644 --- a/.devilbox/www/config.php +++ b/.devilbox/www/config.php @@ -14,7 +14,7 @@ putenv('RES_OPTIONS=retrans:1 retry:1 timeout:1 attempts:1'); $DEVILBOX_VERSION = 'v0.15'; -$DEVILBOX_DATE = '2018-12-17'; +$DEVILBOX_DATE = '2018-12-20'; $DEVILBOX_API_PAGE = 'devilbox-api/status.json'; // diff --git a/.devilbox/www/include/lib/container/Php.php b/.devilbox/www/include/lib/container/Php.php index e04a69a5..894d6a8d 100644 --- a/.devilbox/www/include/lib/container/Php.php +++ b/.devilbox/www/include/lib/container/Php.php @@ -47,7 +47,7 @@ class Php extends BaseClass implements BaseInterface } public function getDrushVersion($version) { - $output = loadClass('Helper')->exec('drush '.$version.' --version 2>/dev/null', $output); + $output = loadClass('Helper')->exec('drush'.$version.' --version 2>/dev/null', $output); return loadClass('Helper')->egrep('/[0-9.]+/', $output); } public function getDrupalConsoleVersion() diff --git a/.travis.yml b/.travis.yml index 8efbeb0a..80dd5a4f 100644 --- a/.travis.yml +++ b/.travis.yml @@ -119,22 +119,93 @@ env: - S1=PHP V1=7.3 S2=HTTPD V2=nginx-mainline - S1=PHP V1=7.4 S2=HTTPD V2=nginx-mainline + ### + ### Test all other bundled services + ### + ### PHP 7.2 vs XYZ + ### + # PHP 7.2 vs MySQL + - S1=PHP V1=7.2 S2=MYSQL V2=mysql-5.5 + - S1=PHP V1=7.2 S2=MYSQL V2=mysql-5.6 + - S1=PHP V1=7.2 S2=MYSQL V2=mysql-5.7 + - S1=PHP V1=7.2 S2=MYSQL V2=mysql-8.0 + - S1=PHP V1=7.2 S2=MYSQL V2=mariadb-5.5 + - S1=PHP V1=7.2 S2=MYSQL V2=mariadb-10.0 + - S1=PHP V1=7.2 S2=MYSQL V2=mariadb-10.1 + - S1=PHP V1=7.2 S2=MYSQL V2=mariadb-10.2 + - S1=PHP V1=7.2 S2=MYSQL V2=percona-5.5 + - S1=PHP V1=7.2 S2=MYSQL V2=percona-5.6 + - S1=PHP V1=7.2 S2=MYSQL V2=percona-5.7 + # PHP 7.2 vs PgSQL + - S1=PHP V1=7.2 S2=PGSQL V2=9.0 + - S1=PHP V1=7.2 S2=PGSQL V2=9.1 + - S1=PHP V1=7.2 S2=PGSQL V2=9.2 + - S1=PHP V1=7.2 S2=PGSQL V2=9.2-alpine + - S1=PHP V1=7.2 S2=PGSQL V2=9.3 + - S1=PHP V1=7.2 S2=PGSQL V2=9.3-alpine + - S1=PHP V1=7.2 S2=PGSQL V2=9.4 + - S1=PHP V1=7.2 S2=PGSQL V2=9.4-alpine + - S1=PHP V1=7.2 S2=PGSQL V2=9.5 + - S1=PHP V1=7.2 S2=PGSQL V2=9.5-alpine + - S1=PHP V1=7.2 S2=PGSQL V2=9.6 + - S1=PHP V1=7.2 S2=PGSQL V2=9.6-alpine + - S1=PHP V1=7.2 S2=PGSQL V2=10.0 + - S1=PHP V1=7.2 S2=PGSQL V2=10.0-alpine + - S1=PHP V1=7.2 S2=PGSQL V2=10.1 + - S1=PHP V1=7.2 S2=PGSQL V2=10.1-alpine + - S1=PHP V1=7.2 S2=PGSQL V2=10.2 + - S1=PHP V1=7.2 S2=PGSQL V2=10.2-alpine + - S1=PHP V1=7.2 S2=PGSQL V2=10.3 + - S1=PHP V1=7.2 S2=PGSQL V2=10.3-alpine + - S1=PHP V1=7.2 S2=PGSQL V2=10.4 + - S1=PHP V1=7.2 S2=PGSQL V2=10.4-alpine + - S1=PHP V1=7.2 S2=PGSQL V2=10.5 + - S1=PHP V1=7.2 S2=PGSQL V2=10.5-alpine + - S1=PHP V1=7.2 S2=PGSQL V2=10.6 + - S1=PHP V1=7.2 S2=PGSQL V2=10.6-alpine + - S1=PHP V1=7.2 S2=PGSQL V2=11.0 + - S1=PHP V1=7.2 S2=PGSQL V2=11.0-alpine + - S1=PHP V1=7.2 S2=PGSQL V2=11.1 + - S1=PHP V1=7.2 S2=PGSQL V2=11.1-alpine + # PHP 7.2 vs Redis + - S1=PHP V1=7.2 S2=REDIS V2=2.8 + - S1=PHP V1=7.2 S2=REDIS V2=3.0 + - S1=PHP V1=7.2 S2=REDIS V2=3.0-alpine + - S1=PHP V1=7.2 S2=REDIS V2=3.2 + - S1=PHP V1=7.2 S2=REDIS V2=3.2-alpine + - S1=PHP V1=7.2 S2=REDIS V2=4.0 + - S1=PHP V1=7.2 S2=REDIS V2=4.0-alpine + - S1=PHP V1=7.2 S2=REDIS V2=5.0 + - S1=PHP V1=7.2 S2=REDIS V2=5.0-alpine + # PHP 7.2 vs Memcached + - S1=PHP V1=7.2 S2=MEMCD V2=1.4 + - S1=PHP V1=7.2 S2=MEMCD V2=1.4-alpine + - S1=PHP V1=7.2 S2=MEMCD V2=1.5 + - S1=PHP V1=7.2 S2=MEMCD V2=1.5-alpine + # PHP 7.2 vs MongoDB + - S1=PHP V1=7.2 S2=MONGO V2=2.8 + - S1=PHP V1=7.2 S2=MONGO V2=3.0 + - S1=PHP V1=7.2 S2=MONGO V2=3.2 + - S1=PHP V1=7.2 S2=MONGO V2=3.4 + - S1=PHP V1=7.2 S2=MONGO V2=3.6 + - S1=PHP V1=7.2 S2=MONGO V2=4.0 + ### ### Installation ### install: # Update Debian/Ubuntu package index - - if [ "${S1}" != "DOCUMENTATION" ]; then - until sudo apt-get update -qq; do sleep 1; done + - if [ "${S1}" != "DOCUMENTATION" ] && [ "${S1}" != "UPDATE" ]; then + until sudo apt-get update -qq; do sleep 5; done fi # Install dependencies for documentation - if [ "${S1}" = "DOCUMENTATION" ]; then - until pip install sphinx; do sleep 1; done; - until pip install sphinx-autobuild; do sleep 1; done; - until pip install recommonmark; do sleep 1; done; - until pip install sphinx_rtd_theme; do sleep 1; done; + until pip install sphinx; do sleep 5; done; + until pip install sphinx-autobuild; do sleep 5; done; + until pip install recommonmark; do sleep 5; done; + until pip install sphinx_rtd_theme; do sleep 5; done; fi # Determine latest Docker version in apt @@ -156,9 +227,9 @@ install: echo "${COMPOSE_VERSION}"; # Install Docker and Docker Compose - - if [ "${S1}" != "DOCUMENTATION" ]; then - until sudo apt-get -y -qq -o Dpkg::Options::="--force-confnew" install docker-ce${DOCKER_APT}; do sleep 1; done; - until curl -L -sS --retry 100 --retry-max-time 0 https://github.com/docker/compose/releases/download/${COMPOSE_VERSION}/docker-compose-`uname -s`-`uname -m` > docker-compose; do sleep 1; done; + - if [ "${S1}" != "DOCUMENTATION" ] && [ "${S1}" != "UPDATE" ]; then + until sudo apt-get -y -qq -o Dpkg::Options::="--force-confnew" install docker-ce${DOCKER_APT}; do sleep 5; done; + until curl -L -sS https://github.com/docker/compose/releases/download/${COMPOSE_VERSION}/docker-compose-`uname -s`-`uname -m` > docker-compose; do sleep 5; done; chmod +x docker-compose; sudo mv -f docker-compose /usr/local/bin; fi diff --git a/README.md b/README.md index 0147d657..e90df517 100644 --- a/README.md +++ b/README.md @@ -183,9 +183,9 @@ Every single attachable container comes with many different versions. In order t 5.5 5.5 5.5 - 9.1 + 9.0 2.8 - 1.4.21 + 1.4 2.8 @@ -195,9 +195,9 @@ Every single attachable container comes with many different versions. In order t 5.6 10.0 5.6 - 9.2 + 9.1 3.0 - 1.4.22 + 1.5 3.0 @@ -207,9 +207,9 @@ Every single attachable container comes with many different versions. In order t 5.7 10.1 5.7 - 9.3 + 9.2 3.2 - 1.4.23 + latest 3.2 @@ -219,9 +219,9 @@ Every single attachable container comes with many different versions. In order t 8.0 10.2 - 9.4 + 9.3 4.0 - 1.4.24 + 3.4 @@ -231,10 +231,10 @@ Every single attachable container comes with many different versions. In order t 10.3 - 9.5 + 9.4 + 5.0 - ... - 3.5 + 3.6 @@ -243,10 +243,10 @@ Every single attachable container comes with many different versions. In order t - 9.6 - - 1.5.2 + 9.5 + latest + 4.0 @@ -255,10 +255,10 @@ Every single attachable container comes with many different versions. In order t - 10.0 + 9.6 - latest + latest @@ -267,7 +267,7 @@ Every single attachable container comes with many different versions. In order t - + ... @@ -279,7 +279,7 @@ Every single attachable container comes with many different versions. In order t - + 11.1 @@ -291,7 +291,7 @@ Every single attachable container comes with many different versions. In order t - + latest diff --git a/docker-compose.yml b/docker-compose.yml index c99d4b95..064677c9 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -95,7 +95,7 @@ services: # PHP / HHVM # ------------------------------------------------------------ php: - image: devilbox/php-fpm:${PHP_SERVER:-7.2}-work-0.56 + image: devilbox/php-fpm:${PHP_SERVER}-work-0.56 ## ## All .env variables @@ -206,7 +206,7 @@ services: # Web Server # ------------------------------------------------------------ httpd: - image: devilbox/${HTTPD_SERVER:-nginx-stable}:0.24 + image: devilbox/${HTTPD_SERVER}:0.24 environment: @@ -251,7 +251,7 @@ services: ## ## PHP-FPM Remote Server ## - - COMPAT=${PHP_SERVER:-7.0} + - COMPAT=${PHP_SERVER} - PHP_FPM_ENABLE=1 - PHP_FPM_SERVER_ADDR=php - PHP_FPM_SERVER_PORT=9000 @@ -299,7 +299,7 @@ services: # MySQL Database # ------------------------------------------------------------ mysql: - image: cytopia/${MYSQL_SERVER:-mariadb-10.1}:latest + image: cytopia/${MYSQL_SERVER}:latest environment: @@ -364,7 +364,7 @@ services: # PostgreSQL # ------------------------------------------------------------ pgsql: - image: postgres:${PGSQL_SERVER:-9.6} + image: postgres:${PGSQL_SERVER} environment: @@ -401,7 +401,7 @@ services: # Redis # ------------------------------------------------------------ redis: - image: redis:${REDIS_SERVER:-3.2} + image: redis:${REDIS_SERVER} # Apply custom arguments to redis startup command: redis-server ${REDIS_ARGS:- } @@ -434,7 +434,7 @@ services: # Memcached # ------------------------------------------------------------ memcd: - image: memcached:${MEMCD_SERVER:-latest} + image: memcached:${MEMCD_SERVER} ports: # [local-machine:]local-port:docker-port @@ -462,7 +462,7 @@ services: # MongoDB # ------------------------------------------------------------ mongo: - image: mongo:${MONGO_SERVER:-latest} + image: mongo:${MONGO_SERVER} ports: # [local-machine:]local-port:docker-port diff --git a/env-example b/env-example index b446d2e8..0629b515 100644 --- a/env-example +++ b/env-example @@ -253,9 +253,9 @@ HTTPD_SERVER=nginx-stable #MYSQL_SERVER=mysql-8.0 #MYSQL_SERVER=mariadb-5.5 #MYSQL_SERVER=mariadb-10.0 -MYSQL_SERVER=mariadb-10.1 +#MYSQL_SERVER=mariadb-10.1 #MYSQL_SERVER=mariadb-10.2 -#MYSQL_SERVER=mariadb-10.3 +MYSQL_SERVER=mariadb-10.3 #MYSQL_SERVER=percona-5.5 #MYSQL_SERVER=percona-5.6 #MYSQL_SERVER=percona-5.7 @@ -264,57 +264,74 @@ MYSQL_SERVER=mariadb-10.1 ### ### 1.4 Choose PostgreSQL Server Image ### +### IMPORTANT: Apline based images might cause issues on Docker Toolbox or OSX +### https://github.com/docker/toolbox/issues/510 +### +#PGSQL_SERVER=9.0 #PGSQL_SERVER=9.1 #PGSQL_SERVER=9.2 +#PGSQL_SERVER=9.2-alpine #PGSQL_SERVER=9.3 +#PGSQL_SERVER=9.3-alpine #PGSQL_SERVER=9.4 +#PGSQL_SERVER=9.4-alpine #PGSQL_SERVER=9.5 -PGSQL_SERVER=9.6 +#PGSQL_SERVER=9.5-alpine +#PGSQL_SERVER=9.6 +#PGSQL_SERVER=9.6-alpine #PGSQL_SERVER=10.0 +#PGSQL_SERVER=10.0-alpine #PGSQL_SERVER=10.1 +#PGSQL_SERVER=10.1-alpine #PGSQL_SERVER=10.2 +#PGSQL_SERVER=10.2-alpine #PGSQL_SERVER=10.3 +#PGSQL_SERVER=10.3-alpine +#PGSQL_SERVER=10.4 +#PGSQL_SERVER=10.4-alpine +#PGSQL_SERVER=10.5 +#PGSQL_SERVER=10.5-alpine +#PGSQL_SERVER=10.6 +#PGSQL_SERVER=10.6-alpine +#PGSQL_SERVER=11.0 +#PGSQL_SERVER=11.0-alpine +PGSQL_SERVER=11.1 +#PGSQL_SERVER=11.1-alpine +#PGSQL_SERVER=latest +#PGSQL_SERVER=alpine ### ### 1.5 Choose Redis Server Image ### +### IMPORTANT: Apline based images might cause issues on Docker Toolbox or OSX +### https://github.com/docker/toolbox/issues/510 +### #REDIS_SERVER=2.8 #REDIS_SERVER=3.0 +#REDIS_SERVER=3.0-alpine #REDIS_SERVER=3.2 -REDIS_SERVER=4.0 -#REDIS_SERVER=5.0-rc +#REDIS_SERVER=3.2-alpine +#REDIS_SERVER=4.0 +#REDIS_SERVER=4.0-alpine +REDIS_SERVER=5.0 +#REDIS_SERVER=5.0-alpine +#REDIS_SERVER=latest +#REDIS_SERVER=alpine ### ### 1.6 Choose Memcached Server Image ### -#MEMCD_SERVER=1.4.21 -#MEMCD_SERVER=1.4.22 -#MEMCD_SERVER=1.4.23 -#MEMCD_SERVER=1.4.24 -#MEMCD_SERVER=1.4.25 -#MEMCD_SERVER=1.4.26 -#MEMCD_SERVER=1.4.27 -#MEMCD_SERVER=1.4.28 -#MEMCD_SERVER=1.4.29 -#MEMCD_SERVER=1.4.30 -#MEMCD_SERVER=1.4.31 -#MEMCD_SERVER=1.4.32 -#MEMCD_SERVER=1.4.33 -#MEMCD_SERVER=1.4.34 -#MEMCD_SERVER=1.4.35 -#MEMCD_SERVER=1.4.36 -#MEMCD_SERVER=1.4.37 -#MEMCD_SERVER=1.4.38 -#MEMCD_SERVER=1.4.39 -#MEMCD_SERVER=1.5.0 -#MEMCD_SERVER=1.5.1 -#MEMCD_SERVER=1.5.2 -#MEMCD_SERVER=1.5.3 -#MEMCD_SERVER=1.5.4 -MEMCD_SERVER=1.5.5 +### IMPORTANT: Apline based images might cause issues on Docker Toolbox or OSX +### https://github.com/docker/toolbox/issues/510 +### +#MEMCD_SERVER=1.4 +#MEMCD_SERVER=1.4-alpine +MEMCD_SERVER=1.5 +#MEMCD_SERVER=1.5-alpine #MEMCD_SERVER=latest +#MEMCD_SERVER=alpine ### @@ -324,9 +341,9 @@ MEMCD_SERVER=1.5.5 #MONGO_SERVER=3.0 #MONGO_SERVER=3.2 #MONGO_SERVER=3.4 -#MONGO_SERVER=3.5 #MONGO_SERVER=3.6 -MONGO_SERVER=3.7 +MONGO_SERVER=4.0 +#MONGO_SERVER=latest