From cbbdb0a86b88e285d4551593e64bcf15908560cb Mon Sep 17 00:00:00 2001 From: xiagw Date: Wed, 8 May 2019 18:10:22 +0800 Subject: [PATCH 1/7] add sonarqube to docker-compose (#2113) * add sonarqube to docker-compose * change volume dir * add postgres init db * add comment for sonarqube error --- docker-compose.yml | 29 ++++++++++++ env-example | 16 +++++++ .../docker-entrypoint-initdb.d/.gitignore | 1 + .../init_jupyterhub_db.sh | 2 +- .../init_sonarqube_db.sh | 44 +++++++++++++++++++ sonarqube/Dockerfile | 3 ++ 6 files changed, 94 insertions(+), 1 deletion(-) create mode 100644 postgres/docker-entrypoint-initdb.d/init_sonarqube_db.sh create mode 100644 sonarqube/Dockerfile diff --git a/docker-compose.yml b/docker-compose.yml index 8494a85c..04c099ef 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -41,6 +41,8 @@ volumes: driver: ${VOLUMES_DRIVER} mosquitto: driver: ${VOLUMES_DRIVER} + sonarqube: + driver: ${VOLUMES_DRIVER} services: @@ -403,6 +405,10 @@ services: - JUPYTERHUB_POSTGRES_USER=${JUPYTERHUB_POSTGRES_USER} - JUPYTERHUB_POSTGRES_PASSWORD=${JUPYTERHUB_POSTGRES_PASSWORD} - JUPYTERHUB_POSTGRES_DB=${JUPYTERHUB_POSTGRES_DB} + - SONARQUBE_POSTGRES_INIT=${SONARQUBE_POSTGRES_INIT} + - SONARQUBE_POSTGRES_DB=${SONARQUBE_POSTGRES_DB} + - SONARQUBE_POSTGRES_USER=${SONARQUBE_POSTGRES_USER} + - SONARQUBE_POSTGRES_PASSWORD=${SONARQUBE_POSTGRES_PASSWORD} networks: - backend @@ -1421,3 +1427,26 @@ services: - "${MANTICORE_HTTP_PORT}:9308" networks: - backend + +### SONARQUBE ################################################ + sonarqube: + build: + context: ./sonarqube + hostname: "${SONARQUBE_HOSTNAME}" + volumes: + - ${DATA_PATH_HOST}/sonarqube/conf:/opt/sonarqube/conf + - ${DATA_PATH_HOST}/sonarqube/data:/opt/sonarqube/data + - ${DATA_PATH_HOST}/sonarqube/logs:/opt/sonarqube/logs + - ${DATA_PATH_HOST}/sonarqube/extensions:/opt/sonarqube/extensions + - ${DATA_PATH_HOST}/sonarqube/plugins:/opt/sonarqube/lib/bundled-plugins + ports: + - ${SONARQUBE_PORT}:9000 + depends_on: + - postgres + environment: + - sonar.jdbc.username=${SONARQUBE_POSTGRES_USER} + - sonar.jdbc.password=${SONARQUBE_POSTGRES_PASSWORD} + - sonar.jdbc.url=jdbc:postgresql://${SONARQUBE_POSTGRES_HOST}:5432/${SONARQUBE_POSTGRES_DB} + networks: + - backend + - frontend diff --git a/env-example b/env-example index a39d8e70..4876ba98 100644 --- a/env-example +++ b/env-example @@ -676,3 +676,19 @@ MANTICORE_HTTP_PORT=9308 PGADMIN_PORT=5050 PGADMIN_DEFAULT_EMAIL=pgadmin4@pgadmin.org PGADMIN_DEFAULT_PASSWORD=admin + +### SONARQUBE ################################################ +## docker-compose up -d sonarqube +## (If you encounter a database error) +## docker-compose exec --user=root postgres +## source docker-entrypoint-initdb.d/init_sonarqube_db.sh +## (If you encounter logs error) +## docker-compose run --user=root --rm sonarqube chown sonarqube:sonarqube /opt/sonarqube/logs + +SONARQUBE_HOSTNAME=sonar.example.com +SONARQUBE_PORT=9000 +SONARQUBE_POSTGRES_INIT=true +SONARQUBE_POSTGRES_HOST=postgres +SONARQUBE_POSTGRES_DB=sonar +SONARQUBE_POSTGRES_USER=sonar +SONARQUBE_POSTGRES_PASSWORD=sonarPass diff --git a/postgres/docker-entrypoint-initdb.d/.gitignore b/postgres/docker-entrypoint-initdb.d/.gitignore index c462039b..0721338b 100644 --- a/postgres/docker-entrypoint-initdb.d/.gitignore +++ b/postgres/docker-entrypoint-initdb.d/.gitignore @@ -1,3 +1,4 @@ *.sh !init_gitlab_db.sh !init_jupyterhub_db.sh +!init_sonarqube_db.sh diff --git a/postgres/docker-entrypoint-initdb.d/init_jupyterhub_db.sh b/postgres/docker-entrypoint-initdb.d/init_jupyterhub_db.sh index 787fabcf..c3869795 100644 --- a/postgres/docker-entrypoint-initdb.d/init_jupyterhub_db.sh +++ b/postgres/docker-entrypoint-initdb.d/init_jupyterhub_db.sh @@ -33,7 +33,7 @@ # EOSQL # ### default database and user for jupyterhub ############################################## -if [ $JUPYTERHUB_POSTGRES_INIT == 'true' ]; then +if [ "$JUPYTERHUB_POSTGRES_INIT" == 'true' ]; then psql -v ON_ERROR_STOP=1 --username "$POSTGRES_USER" --dbname "$POSTGRES_DB" <<-EOSQL CREATE USER $JUPYTERHUB_POSTGRES_USER WITH PASSWORD '$JUPYTERHUB_POSTGRES_PASSWORD'; CREATE DATABASE $JUPYTERHUB_POSTGRES_DB; diff --git a/postgres/docker-entrypoint-initdb.d/init_sonarqube_db.sh b/postgres/docker-entrypoint-initdb.d/init_sonarqube_db.sh new file mode 100644 index 00000000..fea961de --- /dev/null +++ b/postgres/docker-entrypoint-initdb.d/init_sonarqube_db.sh @@ -0,0 +1,44 @@ +#!/bin/bash +# +# Copy createdb.sh.example to createdb.sh +# then uncomment then set database name and username to create you need databases +# +# example: .env POSTGRES_USER=appuser and need db name is myshop_db +# +# psql -v ON_ERROR_STOP=1 --username "$POSTGRES_USER" --dbname "$POSTGRES_DB" <<-EOSQL +# CREATE USER myuser WITH PASSWORD 'mypassword'; +# CREATE DATABASE myshop_db; +# GRANT ALL PRIVILEGES ON DATABASE myshop_db TO myuser; +# EOSQL +# +# this sh script will auto run when the postgres container starts and the $DATA_PATH_HOST/postgres not found. +# +# +# psql -v ON_ERROR_STOP=1 --username "$POSTGRES_USER" --dbname "$POSTGRES_DB" <<-EOSQL +# CREATE USER db1 WITH PASSWORD 'db1'; +# CREATE DATABASE db1; +# GRANT ALL PRIVILEGES ON DATABASE db1 TO db1; +# EOSQL +# +# psql -v ON_ERROR_STOP=1 --username "$POSTGRES_USER" --dbname "$POSTGRES_DB" <<-EOSQL +# CREATE USER db2 WITH PASSWORD 'db2'; +# CREATE DATABASE db2; +# GRANT ALL PRIVILEGES ON DATABASE db2 TO db2; +# EOSQL +# +# psql -v ON_ERROR_STOP=1 --username "$POSTGRES_USER" --dbname "$POSTGRES_DB" <<-EOSQL +# CREATE USER db3 WITH PASSWORD 'db3'; +# CREATE DATABASE db3; +# GRANT ALL PRIVILEGES ON DATABASE db3 TO db3; +# EOSQL +# +### default database and user for gitlab ############################################## +if [ "$SONARQUBE_POSTGRES_INIT" == 'true' ]; then + psql -v ON_ERROR_STOP=1 --username "$POSTGRES_USER" --dbname "$POSTGRES_DB" <<-EOSQL + CREATE USER $SONARQUBE_POSTGRES_USER WITH PASSWORD '$SONARQUBE_POSTGRES_PASSWORD'; + CREATE DATABASE $SONARQUBE_POSTGRES_DB; + GRANT ALL PRIVILEGES ON DATABASE $SONARQUBE_POSTGRES_DB TO $SONARQUBE_POSTGRES_USER; + ALTER ROLE $SONARQUBE_POSTGRES_USER CREATEROLE SUPERUSER; + EOSQL + echo +fi diff --git a/sonarqube/Dockerfile b/sonarqube/Dockerfile new file mode 100644 index 00000000..7b32ead3 --- /dev/null +++ b/sonarqube/Dockerfile @@ -0,0 +1,3 @@ +FROM sonarqube:latest + +LABEL maintainer="xiagw " From d34602ae29d679b9d65804c4e8c3ff63f37ebb83 Mon Sep 17 00:00:00 2001 From: Panagiotis Koursaris Date: Wed, 8 May 2019 13:13:59 +0300 Subject: [PATCH 2/7] remove unnecessary .gitkeep (#2070) --- nginx/ssl/.gitkeep | 0 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 nginx/ssl/.gitkeep diff --git a/nginx/ssl/.gitkeep b/nginx/ssl/.gitkeep deleted file mode 100644 index e69de29b..00000000 From d8b3cb5a52df3fba294eb4ec27859c9ac5cb5203 Mon Sep 17 00:00:00 2001 From: Rainer Eli Date: Wed, 8 May 2019 04:15:09 -0600 Subject: [PATCH 3/7] Add PHP_FPM_INSTALL_RDKAFKA as an option to install rdkafka extension (#2040) --- docker-compose.yml | 1 + env-example | 1 + php-fpm/Dockerfile | 12 ++++++++++++ 3 files changed, 14 insertions(+) diff --git a/docker-compose.yml b/docker-compose.yml index 04c099ef..b52cbd87 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -167,6 +167,7 @@ services: - INSTALL_IONCUBE=${PHP_FPM_INSTALL_IONCUBE} - INSTALL_APCU=${PHP_FPM_INSTALL_APCU} - INSTALL_YAML=${PHP_FPM_INSTALL_YAML} + - INSTALL_RDKAFKA=${PHP_FPM_INSTALL_RDKAFKA} - INSTALL_ADDITIONAL_LOCALES=${PHP_FPM_INSTALL_ADDITIONAL_LOCALES} - INSTALL_MYSQL_CLIENT=${PHP_FPM_INSTALL_MYSQL_CLIENT} - ADDITIONAL_LOCALES=${PHP_FPM_ADDITIONAL_LOCALES} diff --git a/env-example b/env-example index 4876ba98..42ef3add 100644 --- a/env-example +++ b/env-example @@ -173,6 +173,7 @@ PHP_FPM_INSTALL_PCNTL=false PHP_FPM_INSTALL_CALENDAR=false PHP_FPM_INSTALL_FAKETIME=false PHP_FPM_INSTALL_IONCUBE=false +PHP_FPM_INSTALL_RDKAFKA=false PHP_FPM_FAKETIME=-0 PHP_FPM_INSTALL_APCU=false PHP_FPM_INSTALL_YAML=false diff --git a/php-fpm/Dockerfile b/php-fpm/Dockerfile index af3428f4..d816424e 100644 --- a/php-fpm/Dockerfile +++ b/php-fpm/Dockerfile @@ -598,6 +598,18 @@ RUN if [ ${INSTALL_YAML} = true ]; then \ docker-php-ext-enable yaml \ ;fi +########################################################################### +# RDKAFKA: +########################################################################### + +ARG INSTALL_RDKAFKA=false + +RUN if [ ${INSTALL_RDKAFKA} = true ]; then \ + apt-get install -y librdkafka-dev && \ + pecl install rdkafka && \ + docker-php-ext-enable rdkafka \ +;fi + ########################################################################### # Install additional locales: ########################################################################### From 09805230490833910e6f2cc92e1484e9bc7d2fc6 Mon Sep 17 00:00:00 2001 From: Silvio Ney Date: Wed, 8 May 2019 11:17:08 +0100 Subject: [PATCH 4/7] POSTGIS Postgres Extension (#2110) * created PHP_FPM_INSTALL_POSTGIS variable * install postgis if needs * install_postgis variable --- docker-compose.yml | 1 + env-example | 1 + php-fpm/Dockerfile | 6 +++++- 3 files changed, 7 insertions(+), 1 deletion(-) diff --git a/docker-compose.yml b/docker-compose.yml index b52cbd87..0ae4f2ff 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -155,6 +155,7 @@ services: - INSTALL_MYSQLI=${PHP_FPM_INSTALL_MYSQLI} - INSTALL_PGSQL=${PHP_FPM_INSTALL_PGSQL} - INSTALL_PG_CLIENT=${PHP_FPM_INSTALL_PG_CLIENT} + - INSTALL_POSTGIS=${PHP_FPM_INSTALL_POSTGIS} - INSTALL_INTL=${PHP_FPM_INSTALL_INTL} - INSTALL_GHOSTSCRIPT=${PHP_FPM_INSTALL_GHOSTSCRIPT} - INSTALL_LDAP=${PHP_FPM_INSTALL_LDAP} diff --git a/env-example b/env-example index 42ef3add..ae649e52 100644 --- a/env-example +++ b/env-example @@ -169,6 +169,7 @@ PHP_FPM_INSTALL_LDAP=false PHP_FPM_INSTALL_PHALCON=false PHP_FPM_INSTALL_SWOOLE=false PHP_FPM_INSTALL_PG_CLIENT=false +PHP_FPM_INSTALL_POSTGIS=false PHP_FPM_INSTALL_PCNTL=false PHP_FPM_INSTALL_CALENDAR=false PHP_FPM_INSTALL_FAKETIME=false diff --git a/php-fpm/Dockerfile b/php-fpm/Dockerfile index d816424e..55caca15 100644 --- a/php-fpm/Dockerfile +++ b/php-fpm/Dockerfile @@ -128,13 +128,17 @@ RUN if [ ${INSTALL_PGSQL} = true ]; then \ ########################################################################### ARG INSTALL_PG_CLIENT=false +ARG INSTALL_POSTGIS=false RUN if [ ${INSTALL_PG_CLIENT} = true ]; then \ # Create folders if not exists (https://github.com/tianon/docker-brew-debian/issues/65) mkdir -p /usr/share/man/man1 && \ mkdir -p /usr/share/man/man7 && \ # Install the pgsql client - apt-get install -y postgresql-client \ + apt-get install -y postgresql-client && \ + if [ ${INSTALL_POSTGIS} = true ]; then \ + apt-get install -y postgis; \ + fi \ ;fi ########################################################################### From 4417083a80870340189b2ddf05e55c7c7863fcde Mon Sep 17 00:00:00 2001 From: Tunde Aromire Date: Wed, 8 May 2019 16:27:39 +0200 Subject: [PATCH 5/7] Installation of ffmpeg (#2118) * Install ffmpeg in workspace and php-worker. --- DOCUMENTATION/content/documentation/index.md | 4 ++++ docker-compose.yml | 2 ++ env-example | 2 ++ php-fpm/Dockerfile | 13 +++++++++++++ php-worker/Dockerfile | 6 ++++++ 5 files changed, 27 insertions(+) diff --git a/DOCUMENTATION/content/documentation/index.md b/DOCUMENTATION/content/documentation/index.md index 17847a31..d77adeec 100644 --- a/DOCUMENTATION/content/documentation/index.md +++ b/DOCUMENTATION/content/documentation/index.md @@ -1728,6 +1728,10 @@ To install FFMPEG in the Workspace container 3 - Re-build the container `docker-compose build workspace` +4 - If you use the `php-worker` container too, please follow the same steps above especially if you have conversions that have been queued. + +**PS** Don't forget to install the binary in the `php-fpm` container too by applying the same steps above to its container, otherwise the you'll get an error when running the `php-ffmpeg` binary. + diff --git a/docker-compose.yml b/docker-compose.yml index 0ae4f2ff..b7ec7d03 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -172,6 +172,7 @@ services: - INSTALL_ADDITIONAL_LOCALES=${PHP_FPM_INSTALL_ADDITIONAL_LOCALES} - INSTALL_MYSQL_CLIENT=${PHP_FPM_INSTALL_MYSQL_CLIENT} - ADDITIONAL_LOCALES=${PHP_FPM_ADDITIONAL_LOCALES} + - INSTALL_FFMPEG=${PHP_FPM_FFMPEG} volumes: - ./php-fpm/php${PHP_VERSION}.ini:/usr/local/etc/php/php.ini - ${APP_CODE_PATH_HOST}:${APP_CODE_PATH_CONTAINER}${APP_CODE_CONTAINER_FLAG} @@ -206,6 +207,7 @@ services: - INSTALL_AMQP=${PHP_WORKER_INSTALL_AMQP} - INSTALL_GHOSTSCRIPT=${PHP_WORKER_INSTALL_GHOSTSCRIPT} - INSTALL_SWOOLE=${PHP_WORKER_INSTALL_SWOOLE} + - INSTALL_FFMPEG=${PHP_WORKER_INSTALL_FFMPEG} - PUID=${PHP_WORKER_PUID} - PGID=${PHP_WORKER_PGID} volumes: diff --git a/env-example b/env-example index ae649e52..e5536f7e 100644 --- a/env-example +++ b/env-example @@ -180,6 +180,7 @@ PHP_FPM_INSTALL_APCU=false PHP_FPM_INSTALL_YAML=false PHP_FPM_INSTALL_ADDITIONAL_LOCALES=false PHP_FPM_INSTALL_MYSQL_CLIENT=false +PHP_FPM_FFMPEG=false PHP_FPM_ADDITIONAL_LOCALES="es_ES.UTF-8 fr_FR.UTF-8" ### PHP_WORKER ############################################ @@ -193,6 +194,7 @@ PHP_WORKER_INSTALL_MYSQL_CLIENT=false PHP_WORKER_INSTALL_AMQP=false PHP_WORKER_INSTALL_GHOSTSCRIPT=false PHP_WORKER_INSTALL_SWOOLE=false +PHP_WORKER_INSTALL_FFMPEG=false PHP_WORKER_PUID=1000 PHP_WORKER_PGID=1000 diff --git a/php-fpm/Dockerfile b/php-fpm/Dockerfile index 55caca15..17a98410 100644 --- a/php-fpm/Dockerfile +++ b/php-fpm/Dockerfile @@ -643,6 +643,19 @@ RUN if [ ${INSTALL_MYSQL_CLIENT} = true ]; then \ apt-get -y install mysql-client \ ;fi +########################################################################### +# FFMPEG: +########################################################################### + +USER root + +ARG INSTALL_FFMPEG=false + +RUN if [ ${INSTALL_FFMPEG} = true ]; then \ + apt-get update -yqq && \ + apt-get -y install ffmpeg \ +;fi + ########################################################################### # Check PHP version: ########################################################################### diff --git a/php-worker/Dockerfile b/php-worker/Dockerfile index fe9f53be..dd7ed040 100644 --- a/php-worker/Dockerfile +++ b/php-worker/Dockerfile @@ -69,6 +69,12 @@ RUN if [ ${INSTALL_MYSQL_CLIENT} = true ]; then \ apk --update add mysql-client \ ;fi +# Install FFMPEG: +ARG INSTALL_FFMPEG=false +RUN if [ ${INSTALL_FFMPEG} = true ]; then \ + apk --update add ffmpeg \ +;fi + # Install AMQP: ARG INSTALL_AMQP=false From e8d84cf9a3b2bffefcc8515430193cb075be3e51 Mon Sep 17 00:00:00 2001 From: Daniel Seif Date: Thu, 9 May 2019 07:41:09 +0200 Subject: [PATCH 6/7] Aerospike environment (#2119) * aerospike's config file is not being used but overwritten on container start * added environment variable handling for aerospike configuration --- aerospike/Dockerfile | 4 --- aerospike/aerospike.conf | 77 ---------------------------------------- docker-compose.yml | 4 +++ env-example | 3 ++ 4 files changed, 7 insertions(+), 81 deletions(-) delete mode 100644 aerospike/aerospike.conf diff --git a/aerospike/Dockerfile b/aerospike/Dockerfile index a85bc20c..abf0e371 100644 --- a/aerospike/Dockerfile +++ b/aerospike/Dockerfile @@ -1,7 +1,3 @@ FROM aerospike:latest LABEL maintainer="Luciano Jr " - -RUN rm /etc/aerospike/aerospike.conf - -COPY aerospike.conf /etc/aerospike/aerospike.conf diff --git a/aerospike/aerospike.conf b/aerospike/aerospike.conf deleted file mode 100644 index 5e577759..00000000 --- a/aerospike/aerospike.conf +++ /dev/null @@ -1,77 +0,0 @@ -# Aerospike database configuration file. - -# This stanza must come first. -service { - user root - group root - paxos-single-replica-limit 1 # Number of nodes where the replica count is automatically reduced to 1. - pidfile /var/run/aerospike/asd.pid - service-threads 4 - transaction-queues 4 - transaction-threads-per-queue 4 - proto-fd-max 15000 -} - -logging { - - # Log file must be an absolute path. - file /var/log/aerospike/aerospike.log { - context any info - } - - # Send log messages to stdout - console { - context any critical - } -} - -network { - service { - address any - port 3000 - - # Uncomment the following to set the `access-address` parameter to the - # IP address of the Docker host. This will the allow the server to correctly - # publish the address which applications and other nodes in the cluster to - # use when addressing this node. - # access-address - } - - heartbeat { - - # mesh is used for environments that do not support multicast - mode mesh - port 3002 - - # use asinfo -v 'tip:host=;port=3002' to inform cluster of - # other mesh nodes - mesh-port 3002 - - interval 150 - timeout 10 - } - - fabric { - port 3001 - } - - info { - port 3003 - } -} - -namespace test { - replication-factor 2 - memory-size 1G - default-ttl 5d # 5 days, use 0 to never expire/evict. - - # storage-engine memory - - # To use file storage backing, comment out the line above and use the - # following lines instead. - storage-engine device { - file /opt/aerospike/data/test.dat - filesize 4G - data-in-memory true # Store data in memory in addition to file. - } -} diff --git a/docker-compose.yml b/docker-compose.yml index b7ec7d03..824e6c41 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -503,6 +503,10 @@ services: - "${AEROSPIKE_FABRIC_PORT}:3001" - "${AEROSPIKE_HEARTBEAT_PORT}:3002" - "${AEROSPIKE_INFO_PORT}:3003" + environment: + - STORAGE_GB=${AEROSPIKE_STORAGE_GB} + - MEM_GB=${AEROSPIKE_MEM_GB} + - NAMESPACE=${AEROSPIKE_NAMESPACE} networks: - backend diff --git a/env-example b/env-example index e5536f7e..14598853 100644 --- a/env-example +++ b/env-example @@ -383,6 +383,9 @@ AEROSPIKE_SERVICE_PORT=3000 AEROSPIKE_FABRIC_PORT=3001 AEROSPIKE_HEARTBEAT_PORT=3002 AEROSPIKE_INFO_PORT=3003 +AEROSPIKE_STORAGE_GB=1 +AEROSPIKE_MEM_GB=1 +AEROSPIKE_NAMESPACE=test ### RETHINKDB ############################################# From c7289f7db3b96be585a879ceaf0f208102f8233f Mon Sep 17 00:00:00 2001 From: Daniel Seif Date: Thu, 9 May 2019 07:42:50 +0200 Subject: [PATCH 7/7] GNU parallel in workspace container (#2102) * added parallel workers * removed debug sleep * added documentation how to install GNU parallel --- DOCUMENTATION/content/documentation/index.md | 21 ++++++++++++++++++++ docker-compose.yml | 1 + env-example | 1 + workspace/Dockerfile | 13 ++++++++++++ 4 files changed, 36 insertions(+) diff --git a/DOCUMENTATION/content/documentation/index.md b/DOCUMENTATION/content/documentation/index.md index d77adeec..c93d173c 100644 --- a/DOCUMENTATION/content/documentation/index.md +++ b/DOCUMENTATION/content/documentation/index.md @@ -1737,6 +1737,27 @@ To install FFMPEG in the Workspace container +
+ +## Install GNU Parallel + +GNU Parallel is a command line tool to run multiple processes in parallel. + +(see https://www.gnu.org/software/parallel/parallel_tutorial.html) + +To install GNU Parallel in the Workspace container + +1 - Open the `.env` file + +2 - Search for the `WORKSPACE_INSTALL_GNU_PARALLEL` argument under the Workspace Container and set it to `true` + +3 - Re-build the container `docker-compose build workspace` + + + + + +

diff --git a/docker-compose.yml b/docker-compose.yml index 824e6c41..52f0cf31 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -112,6 +112,7 @@ services: - BLACKFIRE_CLIENT_TOKEN=${BLACKFIRE_CLIENT_TOKEN} - INSTALL_POWERLINE=${WORKSPACE_INSTALL_POWERLINE} - INSTALL_FFMPEG=${WORKSPACE_INSTALL_FFMPEG} + - INSTALL_GNU_PARALLEL=${WORKSPACE_INSTALL_GNU_PARALLEL} volumes: - ${APP_CODE_PATH_HOST}:${APP_CODE_PATH_CONTAINER}${APP_CODE_CONTAINER_FLAG} extra_hosts: diff --git a/env-example b/env-example index 14598853..d7bbc988 100644 --- a/env-example +++ b/env-example @@ -140,6 +140,7 @@ WORKSPACE_CHROME_DRIVER_VERSION=2.42 WORKSPACE_TIMEZONE=UTC WORKSPACE_SSH_PORT=2222 WORKSPACE_INSTALL_FFMPEG=false +WORKSPACE_INSTALL_GNU_PARALLEL=false ### PHP_FPM ############################################### diff --git a/workspace/Dockerfile b/workspace/Dockerfile index 56a1dd43..7dd79bd2 100644 --- a/workspace/Dockerfile +++ b/workspace/Dockerfile @@ -1002,6 +1002,19 @@ RUN if [ ${INSTALL_FFMPEG} = true ]; then \ apt-get -y install ffmpeg \ ;fi +########################################################################### +# GNU Parallel: +########################################################################### + +USER root + +ARG INSTALL_GNU_PARALLEL=false + +RUN if [ ${INSTALL_GNU_PARALLEL} = true ]; then \ + apt-get -y install parallel \ +;fi + + ########################################################################### # Check PHP version: ###########################################################################