diff --git a/DOCUMENTATION/content/documentation/index.md b/DOCUMENTATION/content/documentation/index.md
index 5fbe085f..42eb5b5b 100644
--- a/DOCUMENTATION/content/documentation/index.md
+++ b/DOCUMENTATION/content/documentation/index.md
@@ -2132,6 +2132,25 @@ AST exposes the abstract syntax tree generated by PHP 7+. This extension is requ
+
+
+## Install Git Bash Prompt
+A bash prompt that displays information about the current git repository. In particular the branch name, difference with remote branch, number of files staged, changed, etc.
+
+1 - Open the `.env` file
+
+2 - Search for the `WORKSPACE_INSTALL_GIT_PROMPT` argument under the Workspace Container
+
+3 - Set it to `true`
+
+4 - Re-build the container `docker-compose build workspace`
+
+**Note** You can configure bash-git-prompt by editing the `workspace/gitprompt.sh` file and re-building the workspace container.
+For configuration information, visit the [bash-git-prompt repository](https://github.com/magicmonty/bash-git-prompt).
+
+
+
+
## PHPStorm Debugging Guide
diff --git a/docker-compose.yml b/docker-compose.yml
index 084aff4f..7fb1dc07 100644
--- a/docker-compose.yml
+++ b/docker-compose.yml
@@ -65,12 +65,12 @@ services:
- LARADOCK_PHALCON_VERSION=${PHALCON_VERSION}
- INSTALL_SUBVERSION=${WORKSPACE_INSTALL_SUBVERSION}
- INSTALL_BZ2=${WORKSPACE_INSTALL_BZ2}
+ - INSTALL_GMP=${WORKSPACE_INSTALL_GMP}
- INSTALL_XDEBUG=${WORKSPACE_INSTALL_XDEBUG}
- INSTALL_PCOV=${WORKSPACE_INSTALL_PCOV}
- INSTALL_PHPDBG=${WORKSPACE_INSTALL_PHPDBG}
- INSTALL_BLACKFIRE=${INSTALL_BLACKFIRE}
- INSTALL_SSH2=${WORKSPACE_INSTALL_SSH2}
- - INSTALL_GMP=${WORKSPACE_INSTALL_GMP}
- INSTALL_SOAP=${WORKSPACE_INSTALL_SOAP}
- INSTALL_XSL=${WORKSPACE_INSTALL_XSL}
- INSTALL_LDAP=${WORKSPACE_INSTALL_LDAP}
@@ -126,6 +126,7 @@ services:
- INSTALL_AST=${WORKSPACE_INSTALL_AST}
- INSTALL_YAML=${WORKSPACE_INSTALL_YAML}
- INSTALL_MAILPARSE=${WORKSPACE_INSTALL_MAILPARSE}
+ - INSTALL_GIT_PROMPT=${WORKSPACE_INSTALL_GIT_PROMPT}
- PUID=${WORKSPACE_PUID}
- PGID=${WORKSPACE_PGID}
- CHROME_DRIVER_VERSION=${WORKSPACE_CHROME_DRIVER_VERSION}
@@ -171,6 +172,7 @@ services:
- LARADOCK_PHP_VERSION=${PHP_VERSION}
- LARADOCK_PHALCON_VERSION=${PHALCON_VERSION}
- INSTALL_BZ2=${PHP_FPM_INSTALL_BZ2}
+ - INSTALL_GMP=${PHP_FPM_INSTALL_GMP}
- INSTALL_XDEBUG=${PHP_FPM_INSTALL_XDEBUG}
- INSTALL_PCOV=${PHP_FPM_INSTALL_PCOV}
- INSTALL_PHPDBG=${PHP_FPM_INSTALL_PHPDBG}
@@ -186,7 +188,6 @@ services:
- INSTALL_GEARMAN=${PHP_FPM_INSTALL_GEARMAN}
- INSTALL_MSSQL=${PHP_FPM_INSTALL_MSSQL}
- INSTALL_BCMATH=${PHP_FPM_INSTALL_BCMATH}
- - INSTALL_GMP=${PHP_FPM_INSTALL_GMP}
- INSTALL_PHPREDIS=${PHP_FPM_INSTALL_PHPREDIS}
- INSTALL_MEMCACHED=${PHP_FPM_INSTALL_MEMCACHED}
- INSTALL_OPCACHE=${PHP_FPM_INSTALL_OPCACHE}
@@ -255,6 +256,7 @@ services:
- LARADOCK_PHP_VERSION=${PHP_VERSION}
- PHALCON_VERSION=${PHALCON_VERSION}
- INSTALL_BZ2=${PHP_WORKER_INSTALL_BZ2}
+ - INSTALL_GMP=${PHP_WORKER_INSTALL_GMP}
- INSTALL_PGSQL=${PHP_WORKER_INSTALL_PGSQL}
- INSTALL_BCMATH=${PHP_WORKER_INSTALL_BCMATH}
- INSTALL_PHALCON=${PHP_WORKER_INSTALL_PHALCON}
@@ -268,7 +270,6 @@ services:
- INSTALL_SWOOLE=${PHP_WORKER_INSTALL_SWOOLE}
- INSTALL_TAINT=${PHP_WORKER_INSTALL_TAINT}
- INSTALL_FFMPEG=${PHP_WORKER_INSTALL_FFMPEG}
- - INSTALL_GMP=${PHP_WORKER_INSTALL_GMP}
- INSTALL_REDIS=${PHP_WORKER_INSTALL_REDIS}
- PUID=${PHP_WORKER_PUID}
- PGID=${PHP_WORKER_PGID}
@@ -289,6 +290,7 @@ services:
- CHANGE_SOURCE=${CHANGE_SOURCE}
- LARADOCK_PHP_VERSION=${PHP_VERSION}
- INSTALL_BZ2=${LARAVEL_HORIZON_INSTALL_BZ2}
+ - INSTALL_GMP=${LARAVEL_HORIZON_INSTALL_GMP}
- INSTALL_PGSQL=${PHP_FPM_INSTALL_PGSQL}
- INSTALL_BCMATH=${PHP_FPM_INSTALL_BCMATH}
- INSTALL_MEMCACHED=${PHP_FPM_INSTALL_MEMCACHED}
diff --git a/env-example b/env-example
index 2503842a..24689d79 100644
--- a/env-example
+++ b/env-example
@@ -101,12 +101,12 @@ WORKSPACE_INSTALL_PHPREDIS=true
WORKSPACE_INSTALL_WORKSPACE_SSH=false
WORKSPACE_INSTALL_SUBVERSION=false
WORKSPACE_INSTALL_BZ2=false
+WORKSPACE_INSTALL_GMP=false
WORKSPACE_INSTALL_XDEBUG=false
WORKSPACE_INSTALL_PCOV=false
WORKSPACE_INSTALL_PHPDBG=false
WORKSPACE_INSTALL_SSH2=false
WORKSPACE_INSTALL_LDAP=false
-WORKSPACE_INSTALL_GMP=false
WORKSPACE_INSTALL_SOAP=false
WORKSPACE_INSTALL_XSL=false
WORKSPACE_INSTALL_SMB=false
@@ -161,6 +161,7 @@ WORKSPACE_INSTALL_AST=true
WORKSPACE_AST_VERSION=1.0.3
WORKSPACE_VUE_CLI_SERVE_HOST_PORT=8080
WORKSPACE_VUE_CLI_UI_HOST_PORT=8001
+WORKSPACE_INSTALL_GIT_PROMPT=false
### PHP_FPM ###############################################
@@ -173,6 +174,7 @@ PHP_FPM_INSTALL_IMAGE_OPTIMIZERS=true
PHP_FPM_INSTALL_PHPREDIS=true
PHP_FPM_INSTALL_MEMCACHED=false
PHP_FPM_INSTALL_BZ2=false
+PHP_FPM_INSTALL_GMP=false
PHP_FPM_INSTALL_XDEBUG=false
PHP_FPM_INSTALL_PCOV=false
PHP_FPM_INSTALL_XHPROF=false
@@ -187,7 +189,6 @@ PHP_FPM_INSTALL_MSSQL=false
PHP_FPM_INSTALL_SSH2=false
PHP_FPM_INSTALL_SOAP=false
PHP_FPM_INSTALL_XSL=false
-PHP_FPM_INSTALL_GMP=false
PHP_FPM_INSTALL_EXIF=false
PHP_FPM_INSTALL_AEROSPIKE=false
PHP_FPM_INSTALL_OCI8=false
@@ -224,6 +225,7 @@ PHP_FPM_PGID=1000
### PHP_WORKER ############################################
PHP_WORKER_INSTALL_BZ2=false
+PHP_WORKER_INSTALL_GMP=false
PHP_WORKER_INSTALL_PGSQL=false
PHP_WORKER_INSTALL_BCMATH=false
PHP_WORKER_INSTALL_PHALCON=false
@@ -235,7 +237,6 @@ PHP_WORKER_INSTALL_GHOSTSCRIPT=false
PHP_WORKER_INSTALL_SWOOLE=false
PHP_WORKER_INSTALL_TAINT=false
PHP_WORKER_INSTALL_FFMPEG=false
-PHP_WORKER_INSTALL_GMP=false
PHP_WORKER_INSTALL_CASSANDRA=false
PHP_WORKER_INSTALL_GEARMAN=false
PHP_WORKER_INSTALL_REDIS=false
@@ -256,6 +257,7 @@ NGINX_SSL_PATH=./nginx/ssl/
### LARAVEL_HORIZON ################################################
LARAVEL_HORIZON_INSTALL_BZ2=false
+LARAVEL_HORIZON_INSTALL_GMP=false
LARAVEL_HORIZON_INSTALL_SOCKETS=false
LARAVEL_HORIZON_INSTALL_YAML=false
LARAVEL_HORIZON_INSTALL_PHPREDIS=true
diff --git a/laravel-horizon/Dockerfile b/laravel-horizon/Dockerfile
index 965cf261..e8ca7abd 100644
--- a/laravel-horizon/Dockerfile
+++ b/laravel-horizon/Dockerfile
@@ -53,6 +53,13 @@ RUN if [ ${INSTALL_BZ2} = true ]; then \
docker-php-ext-install bz2 \
;fi
+#Install GMP package:
+ARG INSTALL_GMP=false
+RUN if [ ${INSTALL_GMP} = true ]; then \
+ apk add --update --no-cache gmp gmp-dev; \
+ docker-php-ext-install gmp \
+;fi
+
#Install BCMath package:
ARG INSTALL_BCMATH=false
RUN if [ ${INSTALL_BCMATH} = true ]; then \
diff --git a/mysql/Dockerfile b/mysql/Dockerfile
index 03bb15ca..870a5e46 100644
--- a/mysql/Dockerfile
+++ b/mysql/Dockerfile
@@ -1,4 +1,4 @@
-ARG MYSQL_VERSION=latest
+ARG MYSQL_VERSION
FROM mysql:${MYSQL_VERSION}
LABEL maintainer="Mahmoud Zalt "
diff --git a/php-fpm/Dockerfile b/php-fpm/Dockerfile
index 58bbe47d..b3246ed9 100644
--- a/php-fpm/Dockerfile
+++ b/php-fpm/Dockerfile
@@ -80,6 +80,21 @@ RUN if [ ${INSTALL_BZ2} = true ]; then \
docker-php-ext-install bz2 \
;fi
+###########################################################################
+# GMP (GNU Multiple Precision):
+###########################################################################
+
+ARG INSTALL_GMP=false
+
+RUN if [ ${INSTALL_GMP} = true ]; then \
+ # Install the GMP extension
+ apt-get install -y libgmp-dev && \
+ if [ $(php -r "echo PHP_MAJOR_VERSION;") = "5" ]; then \
+ ln -s /usr/include/x86_64-linux-gnu/gmp.h /usr/include/gmp.h \
+ ;fi && \
+ docker-php-ext-install gmp \
+;fi
+
###########################################################################
# SSH2:
###########################################################################
@@ -397,21 +412,6 @@ RUN if [ ${INSTALL_BCMATH} = true ]; then \
docker-php-ext-install bcmath \
;fi
-###########################################################################
-# GMP (GNU Multiple Precision):
-###########################################################################
-
-ARG INSTALL_GMP=false
-
-RUN if [ ${INSTALL_GMP} = true ]; then \
- # Install the GMP extension
- apt-get install -y libgmp-dev && \
- if [ $(php -r "echo PHP_MAJOR_VERSION;") = "5" ]; then \
- ln -s /usr/include/x86_64-linux-gnu/gmp.h /usr/include/gmp.h \
- ;fi && \
- docker-php-ext-install gmp \
-;fi
-
###########################################################################
# PHP Memcached:
###########################################################################
diff --git a/php-worker/Dockerfile b/php-worker/Dockerfile
index f55ae45b..47170541 100644
--- a/php-worker/Dockerfile
+++ b/php-worker/Dockerfile
@@ -53,6 +53,13 @@ RUN if [ ${INSTALL_BZ2} = true ]; then \
docker-php-ext-install bz2; \
fi
+#Install GMP package:
+ARG INSTALL_GMP=false
+RUN if [ ${INSTALL_GMP} = true ]; then \
+ apk add --update --no-cache gmp gmp-dev \
+ && docker-php-ext-install gmp \
+;fi
+
#Install SOAP package:
ARG INSTALL_SOAP=false
RUN if [ ${INSTALL_SOAP} = true ]; then \
@@ -162,13 +169,6 @@ RUN if [ $INSTALL_GHOSTSCRIPT = true ]; then \
apk --update add ghostscript \
;fi
-#Install GMP package:
-ARG INSTALL_GMP=false
-RUN if [ ${INSTALL_GMP} = true ]; then \
- apk add --update --no-cache gmp gmp-dev \
- && docker-php-ext-install gmp \
-;fi
-
# Install Redis package:
ARG INSTALL_REDIS=false
RUN if [ ${INSTALL_REDIS} = true ]; then \
diff --git a/workspace/Dockerfile b/workspace/Dockerfile
index 553e0ecd..267cc16d 100644
--- a/workspace/Dockerfile
+++ b/workspace/Dockerfile
@@ -242,20 +242,7 @@ RUN if [ ${INSTALL_BZ2} = true ]; then \
;fi
###########################################################################
-# SSH2:
-###########################################################################
-
-USER root
-
-ARG INSTALL_SSH2=false
-
-RUN if [ ${INSTALL_SSH2} = true ]; then \
- # Install the PHP SSH2 extension
- apt-get -y install libssh2-1-dev php${LARADOCK_PHP_VERSION}-ssh2 \
-;fi
-
-###########################################################################
-# GMP:
+# GMP (GNU Multiple Precision):
###########################################################################
USER root
@@ -268,6 +255,19 @@ RUN if [ ${INSTALL_GMP} = true ]; then \
apt-get -y install php${LARADOCK_PHP_VERSION}-gmp \
;fi
+###########################################################################
+# SSH2:
+###########################################################################
+
+USER root
+
+ARG INSTALL_SSH2=false
+
+RUN if [ ${INSTALL_SSH2} = true ]; then \
+ # Install the PHP SSH2 extension
+ apt-get -y install libssh2-1-dev php${LARADOCK_PHP_VERSION}-ssh2 \
+;fi
+
###########################################################################
# SOAP:
###########################################################################
@@ -1261,6 +1261,19 @@ RUN if [ ${INSTALL_GNU_PARALLEL} = true ]; then \
apt-get -y install parallel \
;fi
+###########################################################################
+# Bash Git Prompt
+###########################################################################
+
+ARG INSTALL_GIT_PROMPT=false
+
+COPY git-prompt.sh /tmp/git-prompt
+
+RUN if [ ${INSTALL_GIT_PROMPT} = true ]; then \
+ git clone https://github.com/magicmonty/bash-git-prompt.git /root/.bash-git-prompt --depth=1 && \
+ cat /tmp/git-prompt >> /root/.bashrc && \
+ rm /tmp/git-prompt \
+;fi
###########################################################################
# Check PHP version:
diff --git a/workspace/git-prompt.sh b/workspace/git-prompt.sh
new file mode 100644
index 00000000..374e9fad
--- /dev/null
+++ b/workspace/git-prompt.sh
@@ -0,0 +1,24 @@
+# Settings info at https://github.com/magicmonty/bash-git-prompt
+if [ -f "$HOME/.bash-git-prompt/gitprompt.sh" ]; then
+ # Set config variables first
+ GIT_PROMPT_ONLY_IN_REPO=1
+ GIT_PROMPT_FETCH_REMOTE_STATUS=0 # uncomment to avoid fetching remote status
+ GIT_PROMPT_IGNORE_SUBMODULES=1 # uncomment to avoid searching for changed files in submodules
+ # GIT_PROMPT_WITH_VIRTUAL_ENV=0 # uncomment to avoid setting virtual environment infos for node/python/conda environments
+
+ # GIT_PROMPT_SHOW_UPSTREAM=1 # uncomment to show upstream tracking branch
+ # GIT_PROMPT_SHOW_UNTRACKED_FILES=normal # can be no, normal or all; determines counting of untracked files
+
+ # GIT_PROMPT_SHOW_CHANGED_FILES_COUNT=0 # uncomment to avoid printing the number of changed files
+
+ # GIT_PROMPT_STATUS_COMMAND=gitstatus_pre-1.7.10.sh # uncomment to support Git older than 1.7.10
+
+ # GIT_PROMPT_START=... # uncomment for custom prompt start sequence
+ # GIT_PROMPT_END=... # uncomment for custom prompt end sequence
+
+ # as last entry source the gitprompt script
+ # GIT_PROMPT_THEME=Custom # use custom theme specified in file GIT_PROMPT_THEME_FILE (default ~/.git-prompt-colors.sh)
+ # GIT_PROMPT_THEME_FILE=~/.git-prompt-colors.sh
+ # GIT_PROMPT_THEME=Solarized # use theme optimized for solarized color scheme
+ source $HOME/.bash-git-prompt/gitprompt.sh
+fi