Full PHP development environment for Docker.

Last update: May 23, 2022

Laradock Logo

contributions welcome GitHub forks GitHub issues GitHub stars GitHub CI Build status GitHub license

Full PHP development environment based on Docker.

forthebadge



Use Docker First - Learn About It Later!

Laradock Documentation

Join Us

Gitter

Gitpod


Awesome People

Laradock is an MIT-licensed open source project with its ongoing development made possible entirely by the support of all these smart and generous people, from code contributors to financial contributors. 💜

Project Maintainers


Mahmoud Zalt
@mahmoudz

Bo-Yi Wu
@appleboy

Philippe Trépanier
@philtrep

Mike Erickson
@mikeerickson

Dwi Fahni Denni
@zeroc0d3

Thor Erik
@thorerik

Winfried van Loon
@winfried-van-loon

TJ Miller
@sixlive

Yu-Lung Shao (Allen)
@bestlong

Milan Urukalo
@urukalo

Vince Chu
@vwchu

Huadong Zuo
@zuohuadong

Lan Phan
@lanphan

Ahkui
@ahkui

< Join Us >
@laradock

Code Contributors

Laradock Contributors

Financial Contributors

Open Collective backers

You can support us using any of the methods below:

1: Open Collective
2: Paypal
3: Github Sponsors
4: Patreon


Sponsors

Sponsoring is an act of giving in a different fashion. 🌱

Gold Sponsors

CasinoPilotti We thank bestonlinecasino.com for their support Apiato Build PHP API's faster

Silver Sponsors

Bronze Sponsors

You can sponsor us using any of the methods below:

1: Sponsor via Open Collective.
2: Email us at [email protected].

Sponsors logos are displayed on the github repository page and the documentation website home page.

License

MIT © Mahmoud Zalt

GitHub

https://github.com/LaraDock/laradock
Comments
  • 1. SQLSTATE[HY000] [2054] The server requested authentication method unknown to the client

    Info:

    • Docker version ($ docker --version): Docker version 17.12.0-ce, build c97c6d6
    • Laradock commit ($ git rev-parse HEAD): 8323c659ed588ad2d2b02a13dfab651c051302e8
    • System info (Mac, PC, Linux): MacOS Sierra 10.12.6
    • System info disto/version:

    Issue:

    Using the mysql and nginx containers, running a migration yields the following error: The server requested authentication method unknown to the client [caching_sha2_password].

    This seems to be due to mysql 8.x forcing a new password format. Attempting to force old_passwords=1 from inside the mysql container yields ERROR 1231 (42000): Variable 'old_passwords' can't be set to the value of '1'.

    This does occur when trying to run a migration from inside the workspace - where both the version of php and mysql should be controlled by Laradock.


    Expected behavior:

    Laravel should be able to login to the database and do its thing.


    Reproduce:

    Pull clean copy of Laradock, set DB_HOST=127.0.0.1 in .env (for reasons unknown to me, DB_HOST=mysql yields SQLSTATE[HY000] [2002] php_network_getaddresses: getaddrinfo failed: nodename nor servname provided, or not known), start the mysql and nginx containers, enter the workspace container and run php artisan migrate.


    Reviewed by MaximilianCoutuer at 2018-02-23 20:09
  • 2. Docker on Mac is slow

    The entire development environment is slow for some reason, not sure if this is a Docker problem or something added to LaraDock that makes it that slow!! (By slow I mean the response time is slow, and the commands running in the workspace container are also slow).

    We need your help to find out what's slowing it and make it fast again.

    This is also mentioned in the following issues #97, #145, #149 & #307.

    Reviewed by Mahmoudz at 2016-10-10 00:55
  • 3. Guzzle/Curl connections between multiple projects

    I'm running Laradock in the "Multiple Projects" mode (https://github.com/laradock/laradock#b-setup-for-multiple-projects) for two projects. I've configured nginx to properly serve both projects under separate hostnames (let's call them api-project.dev and consumer-project.dev, names changed to protect the innocent). I've set up the /etc/hosts file on my Mac to point to localhost:

    127.0.0.1  api-project.dev
    127.0.0.1  consumer-project.dev
    

    I can access the running laravel instances on both without any problems, but when the consumer tries to make Guzzle/Curl requests to the api-project, I get a cURL error:

    [curl] 7: Failed to connect to api-project.dev port 80: Connection refused

    This seems to be an error where the containers on which the curl request are being made don't know the proper IP address and thus are making their requests to "localhost", meaning their own container (and not hitting the nginx container instead).

    Wat do? How can I fix this?

    Reviewed by chrispappas at 2016-11-16 15:46
  • 4. Mysql. The server requested authentication method unknown to the client [caching_sha2_password]

    Info:

    • Docker version: 17.12.0-ce, build c97c6d6
    • Laradock commit: 13f55ef7967989337ed3538af3a8164268eeb623
    • System info: Win
    • System info disto/version: 10

    Issue:

    New fresh laradock installation. All default settings. Driver is shared. Except:

    DATA_SAVE_PATH=../../data
    

    Can't connect to the mysql from phpMyAdmin. image

    #2054 - The server requested authentication method unknown to the client

    mysqli_real_connect(): The server requested authentication method unknown to the client [caching_sha2_password]

    mysqli_real_connect(): (HY000/2054): The server requested authentication method unknown to the client

    But I can connect to mysql inside mysql container with standard root/root credentials.

    I tried to delete all containers and images. Several times downloaded laradock. Tried to reinstall Docker. No success.


    Expected behavior:

    Can connect to mysql with phpMyAdmin


    Logs

    $ docker logs laradock_mysql_1
    2018-02-23T13:22:10.682788Z 0 [Warning] [MY-011070] Disabling symbolic links using --skip-symbolic-links (or equivalent) is the default. Consider not using this option as it is deprecated and will be removed in a future release.
    2018-02-23T13:22:10.682938Z 0 [Warning] [MY-010915] 'NO_ZERO_DATE', 'NO_ZERO_IN_DATE' and 'ERROR_FOR_DIVISION_BY_ZERO' sql modes should be used with strict mode. They will be merged with strict mode in a future release.
    2018-02-23T13:22:10.695441Z 0 [System] [MY-010116] /usr/sbin/mysqld (mysqld 8.0.4-rc-log) starting as process 1 ...
    mbind: Operation not permitted
    mbind: Operation not permitted
    2018-02-23T13:22:11.537504Z 0 [Warning] [MY-010068] CA certificate ca.pem is self signed.
    2018-02-23T13:22:11.542367Z 0 [Warning] [MY-000000] Insecure configuration for --pid-file: Location '/var/run/mysqld' in the path is accessible to all OS users. Consider choosing a different directory.
    2018-02-23T13:22:11.549449Z 0 [Warning] [MY-010315] 'user' entry '[email protected]' ignored in --skip-name-resolve mode.
    2018-02-23T13:22:11.549556Z 0 [Warning] [MY-010315] 'user' entry '[email protected]' ignored in --skip-name-resolve mode.
    2018-02-23T13:22:11.549594Z 0 [Warning] [MY-010315] 'user' entry '[email protected]' ignored in --skip-name-resolve mode.
    2018-02-23T13:22:11.549629Z 0 [Warning] [MY-010315] 'user' entry '[email protected]' ignored in --skip-name-resolve mode.
    2018-02-23T13:22:11.549676Z 0 [Warning] [MY-010323] 'db' entry 'performance_schema [email protected]' ignored in --skip-name-resolve mode.
    2018-02-23T13:22:11.549727Z 0 [Warning] [MY-010323] 'db' entry 'sys [email protected]' ignored in --skip-name-resolve mode.
    2018-02-23T13:22:11.549779Z 0 [Warning] [MY-010311] 'proxies_priv' entry '@ [email protected]' ignored in --skip-name-resolve mode.
    2018-02-23T13:22:11.565161Z 0 [Warning] [MY-010330] 'tables_priv' entry 'user [email protected]' ignored in --skip-name-resolve mode.
    2018-02-23T13:22:11.565260Z 0 [Warning] [MY-010330] 'tables_priv' entry 'sys_config [email protected]' ignored in --skip-name-resolve mode.
    2018-02-23T13:22:11.570621Z 0 [System] [MY-010931] /usr/sbin/mysqld: ready for connections. Version: '8.0.4-rc-log'  socket: '/var/run/mysqld/mysqld.sock'  port: 3306  MySQL Community Server (GPL).
    
    
    Reviewed by mvladimir7 at 2018-02-23 13:44
  • 5. Add Crontab and Supervisor

    add crontab and supervisor support

    if we need to run a full-featured laravel application we need to add laravel crontab setting to system . reference: https://laravel.com/docs/5.2/scheduling

    eg:

    * * * * * php /path/to/artisan schedule:run >> /dev/null 2>&1
    

    and optionally we need to add The Queue Listener to the System by supervisor . reference: https://laravel.com/docs/5.2/queues#supervisor-configuration

    eg:

    [program:laravel-worker]
    process_name=%(program_name)s_%(process_num)02d
    command=php /home/forge/app.com/artisan queue:work sqs --sleep=3 --tries=3 --daemon
    autostart=true
    autorestart=true
    user=forge
    numprocs=8
    redirect_stderr=true
    stdout_logfile=/home/forge/app.com/worker.log
    

    if we have multiple application we may need a mapping folder like nginx site-avaiable to store supervisor conf.d config files.

    Reviewed by nickfan at 2016-03-14 09:30
  • 6. xDebug PhpStorm Working Via CLI - Not Working Via Web Page/Apache

    Hello I am having an issue getting php-fpm to trigger debugging when hitting web pages. I have setup everything correctly as far as I know, here are my configs:

    docker-composer.yml: image

    php-fpm/xdebug.ini: image

    The debugging works great when calling php from the CLI (inside the fpm container): image

    However when I load a web page it refuses to try and connect to phpstorm, there is no output inside php storm at all. Also the web pages still load at full speed (in my experience if xdebug is properly trying to look for a remote connection the page load times double).

    Here is phpinfo output for xdebug, so its definitley being loaded properly: image

    I also have the xdebug chrome extension setting the cookie for the ide key to PHPSTORM.

    I am totally stumped, any advice would be appreciated.

    *Edit - I am using apache.

    Cheers!

    Reviewed by calebfavor at 2016-10-26 21:50
  • 7. Cannot build PHP 8.0

    Description:

    I have cloned clean version of Laradock and cannot build php 8.0

    Expected Behavior:

    Build and serve php 8

    Context information:

    Output of git rev-parse HEAD image php-xml extension is present

    
    **System info: Mac, Windows or Linux. Include which disto/version**
    
    Ubutnu 20.04
    
    ### Steps to reproduce the issue:
    <!--- How can we reproduce the issue? -->
    
    1. git clone laradock
    2. sudo docker-compose up -d --build workspace nginx redis php-fpm docker-in-docker 
    
    
    
    Reviewed by gecas at 2022-01-24 13:30
  • 8. Service 'workspace' failed to build : The command '/bin/sh -c if [ ${INSTALL_AST} = true ];

    Not sure what's causing this issue, but been stuck on it for a bit now. Tried rebuilding. Making sure I have latest .env file. Using windows, latest docker.

     ---> Running in be7eabf781c1
    Removing intermediate container be7eabf781c1
     ---> 6915abc64dd9
    Step 120/291 : ARG INSTALL_AST=false
     ---> Running in 68b6bd32053d
    Removing intermediate container 68b6bd32053d
     ---> 5ee3b771b67b
    Step 121/291 : ARG AST_VERSION=1.0.3
     ---> Running in 24d06980ec54
    Removing intermediate container 24d06980ec54
     ---> 79060102af8e
    Step 122/291 : ENV AST_VERSION ${AST_VERSION}
     ---> Running in f1a80c614ee0
    Removing intermediate container f1a80c614ee0
     ---> 12b95489ecc3
    Step 123/291 : RUN if [ ${INSTALL_AST} = true ]; then     if [ $(php -r "echo PHP_MAJOR_VERSION;") != "5" ]; then         printf "\n" | pecl -q install ast-${AST_VERSION} &&         echo "extension=ast.so" >> /etc/php/${LARADOCK_PHP_VERSION}/mods-available/ast.ini &&         phpenmod -v ${LARADOCK_PHP_VERSION} -s cli ast     ;fi ;fi
     ---> Running in 0c913c6aed4f
    PHP Fatal error:  Array and string offset access syntax with curly braces is no longer supported in /usr/share/php/PEAR/Config.php on line 2095      
    ERROR: Service 'workspace' failed to build : The command '/bin/sh -c if [ ${INSTALL_AST} = true ]; then     if [ $(php -r "echo PHP_MAJOR_VERSION;") 
    != "5" ]; then         printf "\n" | pecl -q install ast-${AST_VERSION} &&         echo "extension=ast.so" >> /etc/php/${LARADOCK_PHP_VERSION}/mods-available/ast.ini &&         phpenmod -v ${LARADOCK_PHP_VERSION} -s cli ast     ;fi ;fi' returned a non-zero code: 255
    
    ###########################################################
    ###################### General Setup ######################
    ###########################################################
    
    ### Paths #################################################
    
    # Point to the path of your applications code on your host
    APP_CODE_PATH_HOST=../
    
    # Point to where the `APP_CODE_PATH_HOST` should be in the container
    APP_CODE_PATH_CONTAINER=/var/www
    
    # You may add flags to the path `:cached`, `:delegated`. When using Docker Sync add `:nocopy`
    APP_CODE_CONTAINER_FLAG=:cached
    
    # Choose storage path on your machine. For all storage systems
    DATA_PATH_HOST=~/.laradock/data
    
    ### Drivers ################################################
    
    # All volumes driver
    VOLUMES_DRIVER=local
    
    # All Networks driver
    NETWORKS_DRIVER=bridge
    
    ### Docker compose files ##################################
    
    # Select which docker-compose files to include. If using docker-sync append `:docker-compose.sync.yml` at the end
    COMPOSE_FILE=docker-compose.yml
    
    # Change the separator from : to ; on Windows
    COMPOSE_PATH_SEPARATOR=;
    
    # Define the prefix of container names. This is useful if you have multiple projects that use laradock to have separate containers per project.
    COMPOSE_PROJECT_NAME=laradock
    
    ### PHP Version ###########################################
    
    # Select a PHP version of the Workspace and PHP-FPM containers (Does not apply to HHVM).
    # Accepted values: 7.4 - 7.3 - 7.2 - 7.1 - 7.0 - 5.6
    PHP_VERSION=7.4
    
    ### Phalcon Version ###########################################
    
    # Select a Phalcon version of the Workspace and PHP-FPM containers (Does not apply to HHVM). Accepted values: 3.4.0+
    PHALCON_VERSION=4.0.5
    
    ### PHP Interpreter #######################################
    
    # Select the PHP Interpreter. Accepted values: hhvm - php-fpm
    PHP_INTERPRETER=php-fpm
    
    ### Docker Host IP ########################################
    
    # Enter your Docker Host IP (will be appended to /etc/hosts). Default is `10.0.75.1`
    DOCKER_HOST_IP=10.0.75.1
    
    ### Remote Interpreter ####################################
    
    # Choose a Remote Interpreter entry matching name. Default is `laradock`
    PHP_IDE_CONFIG=serverName=laradock
    
    ### PHP DOWNGRADEOPENSSL TLS AND SECLEVEL #################
    
    PHP_DOWNGRADE_OPENSSL_TLS_AND_SECLEVEL=true
    
    ### Windows Path ##########################################
    
    # A fix for Windows users, to ensure the application path works
    COMPOSE_CONVERT_WINDOWS_PATHS=1
    
    ### Environment ###########################################
    
    # If you need to change the sources (i.e. to China), set CHANGE_SOURCE to true
    CHANGE_SOURCE=false
    # Set CHANGE_SOURCE and UBUNTU_SOURCE option if you want to change the Ubuntu system sources.list file.
    UBUNTU_SOURCE=aliyun
    
    ### Docker Sync ###########################################
    
    # If you are using Docker Sync. For `osx` use 'native_osx', for `windows` use 'unison', for `linux` docker-sync is not required
    DOCKER_SYNC_STRATEGY=unison
    
    ### Install Oh My ZSH! ####################################
    
    # If you want to use "Oh My ZSH!" with Laravel autocomplete plugin, set SHELL_OH_MY_ZSH to true.
    
    SHELL_OH_MY_ZSH=false
    SHELL_OH_MY_ZSH_AUTOSUGESTIONS=false
    SHELL_OH_MY_ZSH_ALIASES=false
    
    ###########################################################
    ################ Containers Customization #################
    ###########################################################
    
    ### WORKSPACE #############################################
    
    WORKSPACE_BASE_IMAGE_TAG_PREFIX=latest
    WORKSPACE_COMPOSER_GLOBAL_INSTALL=true
    WORKSPACE_COMPOSER_AUTH=false
    WORKSPACE_COMPOSER_REPO_PACKAGIST=
    WORKSPACE_NVM_NODEJS_ORG_MIRROR=
    WORKSPACE_INSTALL_NODE=true
    WORKSPACE_NODE_VERSION=node
    WORKSPACE_NPM_REGISTRY=
    WORKSPACE_INSTALL_PNPM=false
    WORKSPACE_INSTALL_YARN=true
    WORKSPACE_YARN_VERSION=latest
    WORKSPACE_INSTALL_NPM_GULP=true
    WORKSPACE_INSTALL_NPM_BOWER=false
    WORKSPACE_INSTALL_NPM_VUE_CLI=true
    WORKSPACE_INSTALL_NPM_ANGULAR_CLI=false
    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_SOAP=false
    WORKSPACE_INSTALL_XSL=false
    WORKSPACE_INSTALL_SMB=false
    WORKSPACE_INSTALL_IMAP=false
    WORKSPACE_INSTALL_MONGO=false
    WORKSPACE_INSTALL_AMQP=false
    WORKSPACE_INSTALL_CASSANDRA=false
    WORKSPACE_INSTALL_GEARMAN=false
    WORKSPACE_INSTALL_MSSQL=true
    WORKSPACE_INSTALL_DRUSH=false
    WORKSPACE_DRUSH_VERSION=8.1.17
    WORKSPACE_INSTALL_DRUPAL_CONSOLE=false
    WORKSPACE_INSTALL_WP_CLI=false
    WORKSPACE_INSTALL_AEROSPIKE=false
    WORKSPACE_INSTALL_OCI8=false
    WORKSPACE_INSTALL_V8JS=false
    WORKSPACE_INSTALL_LARAVEL_ENVOY=false
    WORKSPACE_INSTALL_LARAVEL_INSTALLER=false
    WORKSPACE_INSTALL_DEPLOYER=false
    WORKSPACE_INSTALL_PRESTISSIMO=true
    WORKSPACE_INSTALL_LINUXBREW=false
    WORKSPACE_INSTALL_MC=false
    WORKSPACE_INSTALL_SYMFONY=false
    WORKSPACE_INSTALL_PYTHON=false
    WORKSPACE_INSTALL_PYTHON3=false
    WORKSPACE_INSTALL_POWERLINE=false
    WORKSPACE_INSTALL_SUPERVISOR=false
    WORKSPACE_INSTALL_IMAGE_OPTIMIZERS=false
    WORKSPACE_INSTALL_IMAGEMAGICK=false
    WORKSPACE_INSTALL_TERRAFORM=false
    WORKSPACE_INSTALL_DUSK_DEPS=false
    WORKSPACE_INSTALL_PG_CLIENT=false
    WORKSPACE_INSTALL_PHALCON=false
    WORKSPACE_INSTALL_SWOOLE=false
    WORKSPACE_INSTALL_TAINT=false
    WORKSPACE_INSTALL_LIBPNG=false
    WORKSPACE_INSTALL_GRAPHVIZ=false
    WORKSPACE_INSTALL_IONCUBE=false
    WORKSPACE_INSTALL_MYSQL_CLIENT=false
    WORKSPACE_INSTALL_PING=false
    WORKSPACE_INSTALL_SSHPASS=false
    WORKSPACE_INSTALL_INOTIFY=false
    WORKSPACE_INSTALL_FSWATCH=false
    WORKSPACE_INSTALL_YAML=false
    WORKSPACE_INSTALL_RDKAFKA=false
    WORKSPACE_INSTALL_MAILPARSE=false
    WORKSPACE_INSTALL_XMLRPC=false
    WORKSPACE_PUID=1000
    WORKSPACE_PGID=1000
    WORKSPACE_CHROME_DRIVER_VERSION=2.42
    WORKSPACE_TIMEZONE=UTC
    WORKSPACE_SSH_PORT=2222
    WORKSPACE_INSTALL_FFMPEG=false
    WORKSPACE_INSTALL_WKHTMLTOPDF=false
    WORKSPACE_INSTALL_GNU_PARALLEL=false
    WORKSPACE_INSTALL_AST=true
    WORKSPACE_AST_VERSION=1.0.3
    WORKSPACE_BROWSERSYNC_HOST_PORT=3000
    WORKSPACE_BROWSERSYNC_UI_HOST_PORT=3001
    WORKSPACE_VUE_CLI_SERVE_HOST_PORT=8080
    WORKSPACE_VUE_CLI_UI_HOST_PORT=8001
    WORKSPACE_ANGULAR_CLI_SERVE_HOST_PORT=4200
    WORKSPACE_INSTALL_GIT_PROMPT=false
    WORKSPACE_INSTALL_LNAV=false
    WORKSPACE_INSTALL_PROTOC=false
    WORKSPACE_PROTOC_VERSION=latest
    
    ### PHP_FPM ###############################################
    
    PHP_FPM_BASE_IMAGE_TAG_PREFIX=latest
    PHP_FPM_INSTALL_BCMATH=true
    PHP_FPM_INSTALL_MYSQLI=true
    PHP_FPM_INSTALL_INTL=true
    PHP_FPM_INSTALL_IMAGEMAGICK=true
    PHP_FPM_INSTALL_OPCACHE=true
    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
    PHP_FPM_INSTALL_PHPDBG=false
    PHP_FPM_INSTALL_SMB=false
    PHP_FPM_INSTALL_IMAP=false
    PHP_FPM_INSTALL_MONGO=false
    PHP_FPM_INSTALL_AMQP=false
    PHP_FPM_INSTALL_CASSANDRA=false
    PHP_FPM_INSTALL_GEARMAN=false
    PHP_FPM_INSTALL_MSSQL=true
    PHP_FPM_INSTALL_SSH2=false
    PHP_FPM_INSTALL_SOAP=false
    PHP_FPM_INSTALL_XSL=false
    PHP_FPM_INSTALL_EXIF=false
    PHP_FPM_INSTALL_AEROSPIKE=false
    PHP_FPM_INSTALL_OCI8=false
    PHP_FPM_INSTALL_PGSQL=false
    PHP_FPM_INSTALL_GHOSTSCRIPT=false
    PHP_FPM_INSTALL_LDAP=false
    PHP_FPM_INSTALL_PHALCON=false
    PHP_FPM_INSTALL_SWOOLE=false
    PHP_FPM_INSTALL_TAINT=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
    PHP_FPM_INSTALL_IONCUBE=false
    PHP_FPM_INSTALL_RDKAFKA=false
    PHP_FPM_INSTALL_GETTEXT=false
    PHP_FPM_INSTALL_XMLRPC=false
    PHP_FPM_FAKETIME=-0
    PHP_FPM_INSTALL_APCU=false
    PHP_FPM_INSTALL_CACHETOOL=false
    PHP_FPM_INSTALL_YAML=false
    PHP_FPM_INSTALL_ADDITIONAL_LOCALES=false
    PHP_FPM_INSTALL_MYSQL_CLIENT=false
    PHP_FPM_INSTALL_PING=false
    PHP_FPM_INSTALL_SSHPASS=false
    PHP_FPM_INSTALL_MAILPARSE=false
    PHP_FPM_INSTALL_WKHTMLTOPDF=false
    PHP_FPM_FFMPEG=false
    PHP_FPM_ADDITIONAL_LOCALES="en_US.UTF-8 es_ES.UTF-8 fr_FR.UTF-8"
    PHP_FPM_DEFAULT_LOCALE=POSIX
    
    PHP_FPM_PUID=1000
    PHP_FPM_PGID=1000
    
    ### PHP_WORKER ############################################
    
    PHP_WORKER_INSTALL_BZ2=false
    PHP_WORKER_INSTALL_GD=false
    PHP_WORKER_INSTALL_IMAGEMAGICK=false
    PHP_WORKER_INSTALL_GMP=false
    PHP_WORKER_INSTALL_PGSQL=false
    PHP_WORKER_INSTALL_BCMATH=false
    # PHP_WORKER_INSTALL_OCI8 Does not work in php5.6 version
    PHP_WORKER_INSTALL_OCI8=false
    PHP_WORKER_INSTALL_PHALCON=false
    PHP_WORKER_INSTALL_SOAP=false
    PHP_WORKER_INSTALL_ZIP_ARCHIVE=false
    PHP_WORKER_INSTALL_MYSQL_CLIENT=false
    PHP_WORKER_INSTALL_AMQP=false
    PHP_WORKER_INSTALL_GHOSTSCRIPT=false
    PHP_WORKER_INSTALL_SWOOLE=false
    PHP_WORKER_INSTALL_TAINT=false
    PHP_WORKER_INSTALL_FFMPEG=false
    PHP_WORKER_INSTALL_CASSANDRA=false
    PHP_WORKER_INSTALL_GEARMAN=false
    PHP_WORKER_INSTALL_REDIS=false
    PHP_WORKER_INSTALL_IMAP=false
    PHP_WORKER_INSTALL_XMLRPC=false
    
    PHP_WORKER_PUID=1000
    PHP_WORKER_PGID=1000
    
    ### NGINX #################################################
    
    NGINX_HOST_HTTP_PORT=80
    NGINX_HOST_HTTPS_PORT=443
    NGINX_HOST_LOG_PATH=./logs/nginx/
    NGINX_SITES_PATH=./nginx/sites/
    NGINX_PHP_UPSTREAM_CONTAINER=php-fpm
    NGINX_PHP_UPSTREAM_PORT=9000
    NGINX_SSL_PATH=./nginx/ssl/
    
    ### LARAVEL_HORIZON ################################################
    
    LARAVEL_HORIZON_INSTALL_BZ2=false
    LARAVEL_HORIZON_INSTALL_GD=false
    LARAVEL_HORIZON_INSTALL_GMP=false
    LARAVEL_HORIZON_INSTALL_IMAGEMAGICK=false
    LARAVEL_HORIZON_INSTALL_SOCKETS=false
    LARAVEL_HORIZON_INSTALL_YAML=false
    LARAVEL_HORIZON_INSTALL_ZIP_ARCHIVE=false
    LARAVEL_HORIZON_INSTALL_PHPREDIS=true
    LARAVEL_HORIZON_INSTALL_MONGO=false
    LARAVEL_HORIZON_INSTALL_FFMPEG=false
    LARAVEL_HORIZON_PGID=1000
    LARAVEL_HORIZON_PUID=1000
    
    ### APACHE ################################################
    
    APACHE_HOST_HTTP_PORT=80
    APACHE_HOST_HTTPS_PORT=443
    APACHE_HOST_LOG_PATH=./logs/apache2
    APACHE_SITES_PATH=./apache2/sites
    APACHE_PHP_UPSTREAM_CONTAINER=php-fpm
    APACHE_PHP_UPSTREAM_PORT=9000
    APACHE_PHP_UPSTREAM_TIMEOUT=60
    APACHE_DOCUMENT_ROOT=/var/www/
    APACHE_INSTALL_HTTP2=false
    
    ### MYSQL #################################################
    
    MYSQL_VERSION=latest
    MYSQL_DATABASE=default
    MYSQL_USER=default
    MYSQL_PASSWORD=secret
    MYSQL_PORT=3306
    MYSQL_ROOT_PASSWORD=root
    MYSQL_ENTRYPOINT_INITDB=./mysql/docker-entrypoint-initdb.d
    
    ### REDIS #################################################
    
    REDIS_PORT=6379
    
    ### REDIS CLUSTER #########################################
    
    REDIS_CLUSTER_PORT_RANGE=7000-7005
    
    ### ZooKeeper #############################################
    
    ZOOKEEPER_PORT=2181
    
    ### Percona ###############################################
    
    PERCONA_DATABASE=homestead
    PERCONA_USER=homestead
    PERCONA_PASSWORD=secret
    PERCONA_PORT=3306
    PERCONA_ROOT_PASSWORD=root
    PERCONA_ENTRYPOINT_INITDB=./percona/docker-entrypoint-initdb.d
    
    ### MSSQL #################################################
    
    MSSQL_DATABASE=database
    MSSQL_PASSWORD="[email protected]"
    MSSQL_PORT=1433
    
    ### MARIADB ###############################################
    
    MARIADB_VERSION=latest
    MARIADB_DATABASE=default
    MARIADB_USER=default
    MARIADB_PASSWORD=secret
    MARIADB_PORT=3306
    MARIADB_ROOT_PASSWORD=root
    MARIADB_ENTRYPOINT_INITDB=./mariadb/docker-entrypoint-initdb.d
    
    ### POSTGRES ##############################################
    
    POSTGRES_VERSION=alpine
    POSTGRES_DB=default
    POSTGRES_USER=default
    POSTGRES_PASSWORD=secret
    POSTGRES_PORT=5432
    POSTGRES_ENTRYPOINT_INITDB=./postgres/docker-entrypoint-initdb.d
    
    ### SQS ##############################################
    
    SQS_NODE_HOST_PORT=9324
    SQS_MANAGEMENT_HTTP_HOST_PORT=9325
    
    ### RABBITMQ ##############################################
    
    RABBITMQ_NODE_HOST_PORT=5672
    RABBITMQ_MANAGEMENT_HTTP_HOST_PORT=15672
    RABBITMQ_MANAGEMENT_HTTPS_HOST_PORT=15671
    RABBITMQ_DEFAULT_USER=guest
    RABBITMQ_DEFAULT_PASS=guest
    
    ### MEILISEARCH ###########################################
    
    MEILISEARCH_HOST_PORT=7700
    MEILISEARCH_KEY=masterkey
    
    ### ELASTICSEARCH #########################################
    
    ELASTICSEARCH_HOST_HTTP_PORT=9200
    ELASTICSEARCH_HOST_TRANSPORT_PORT=9300
    
    ### KIBANA ################################################
    
    KIBANA_HTTP_PORT=5601
    
    ### DEJAVU ################################################
    
    DEJAVU_HTTP_PORT=1358
    
    ### MEMCACHED #############################################
    
    MEMCACHED_HOST_PORT=11211
    
    ### BEANSTALKD CONSOLE ####################################
    
    BEANSTALKD_CONSOLE_BUILD_PATH=./beanstalkd-console
    BEANSTALKD_CONSOLE_CONTAINER_NAME=beanstalkd-console
    BEANSTALKD_CONSOLE_HOST_PORT=2080
    
    ### BEANSTALKD ############################################
    
    BEANSTALKD_HOST_PORT=11300
    
    ### SELENIUM ##############################################
    
    SELENIUM_PORT=4444
    
    ### MINIO #################################################
    
    MINIO_PORT=9000
    
    ### ADMINER ###############################################
    
    ADM_PORT=8081
    ADM_INSTALL_MSSQL=true
    ADM_PLUGINS=
    ADM_DESIGN=pepa-linha
    ADM_DEFAULT_SERVER=mssql
    
    ### PHP MY ADMIN ##########################################
    
    # Accepted values: mariadb - mysql
    
    PMA_DB_ENGINE=mysql
    
    # Credentials/Port:
    
    PMA_USER=default
    PMA_PASSWORD=secret
    PMA_ROOT_PASSWORD=secret
    PMA_PORT=8081
    
    ### MAILDEV ###############################################
    
    MAILDEV_HTTP_PORT=1080
    MAILDEV_SMTP_PORT=25
    
    ### VARNISH ###############################################
    
    VARNISH_CONFIG=/etc/varnish/default.vcl
    VARNISH_PORT=6081
    VARNISH_BACKEND_PORT=81
    VARNISHD_PARAMS="-p default_ttl=3600 -p default_grace=3600"
    
    ### Varnish ###############################################
    
    # Proxy 1
    VARNISH_PROXY1_CACHE_SIZE=128m
    VARNISH_PROXY1_BACKEND_HOST=workspace
    VARNISH_PROXY1_SERVER=SERVER1
    
    # Proxy 2
    VARNISH_PROXY2_CACHE_SIZE=128m
    VARNISH_PROXY2_BACKEND_HOST=workspace
    VARNISH_PROXY2_SERVER=SERVER2
    
    ### HAPROXY ###############################################
    
    HAPROXY_HOST_HTTP_PORT=8085
    
    ### JENKINS ###############################################
    
    JENKINS_HOST_HTTP_PORT=8090
    JENKINS_HOST_SLAVE_AGENT_PORT=50000
    JENKINS_HOME=./jenkins/jenkins_home
    
    ### CONFLUENCE ###############################################
    CONFLUENCE_POSTGRES_INIT=true
    CONFLUENCE_VERSION=6.13-ubuntu-18.04-adoptopenjdk8
    CONFLUENCE_POSTGRES_DB=laradock_confluence
    CONFLUENCE_POSTGRES_USER=laradock_confluence
    CONFLUENCE_POSTGRES_PASSWORD=laradock_confluence
    CONFLUENCE_HOST_HTTP_PORT=8090
    
    ### GRAFANA ###############################################
    
    GRAFANA_PORT=3000
    
    ### GRAYLOG ###############################################
    
    # password must be 16 characters long
    GRAYLOG_PASSWORD=somesupersecretpassword
    # sha256 representation of the password
    GRAYLOG_SHA256_PASSWORD=b1cb6e31e172577918c9e7806c572b5ed8477d3f57aa737bee4b5b1db3696f09
    GRAYLOG_PORT=9000
    GRAYLOG_SYSLOG_TCP_PORT=514
    GRAYLOG_SYSLOG_UDP_PORT=514
    GRAYLOG_GELF_TCP_PORT=12201
    GRAYLOG_GELF_UDP_PORT=12201
    
    ### BLACKFIRE #############################################
    
    # Create an account on blackfire.io. Don't enable blackfire and xDebug at the same time. # visit https://blackfire.io/docs/24-days/06-installation#install-probe-debian for more info.
    INSTALL_BLACKFIRE=false
    BLACKFIRE_CLIENT_ID="<client_id>"
    BLACKFIRE_CLIENT_TOKEN="<client_token>"
    BLACKFIRE_SERVER_ID="<server_id>"
    BLACKFIRE_SERVER_TOKEN="<server_token>"
    
    ### AEROSPIKE #############################################
    
    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 #############################################
    
    RETHINKDB_PORT=8090
    
    ### MONGODB ###############################################
    
    MONGODB_PORT=27017
    
    ### CADDY #################################################
    
    CADDY_HOST_HTTP_PORT=80
    CADDY_HOST_HTTPS_PORT=443
    CADDY_HOST_LOG_PATH=./logs/caddy
    CADDY_CONFIG_PATH=./caddy/caddy
    
    ### LARAVEL ECHO SERVER ###################################
    
    LARAVEL_ECHO_SERVER_PORT=6001
    
    ### THUMBOR ############################################################################################################
    
    THUMBOR_PORT=8000
    THUMBOR_LOG_FORMAT="%(asctime)s %(name)s:%(levelname)s %(message)s"
    THUMBOR_LOG_DATE_FORMAT="%Y-%m-%d %H:%M:%S"
    MAX_WIDTH=0
    MAX_HEIGHT=0
    MIN_WIDTH=1
    MIN_HEIGHT=1
    ALLOWED_SOURCES=[]
    QUALITY=80
    WEBP_QUALITY=None
    PNG_COMPRESSION_LEVEL=6
    AUTO_WEBP=False
    MAX_AGE=86400
    MAX_AGE_TEMP_IMAGE=0
    RESPECT_ORIENTATION=False
    IGNORE_SMART_ERRORS=False
    PRESERVE_EXIF_INFO=False
    ALLOW_ANIMATED_GIFS=True
    USE_GIFSICLE_ENGINE=False
    USE_BLACKLIST=False
    LOADER=thumbor.loaders.http_loader
    STORAGE=thumbor.storages.file_storage
    AWS_ACCESS_KEY_ID=
    AWS_SECRET_ACCESS_KEY=
    RESULT_STORAGE=thumbor.result_storages.file_storage
    ENGINE=thumbor.engines.pil
    SECURITY_KEY="MY_SECURE_KEY"
    ALLOW_UNSAFE_URL=True
    ALLOW_OLD_URLS=True
    FILE_LOADER_ROOT_PATH=/data/loader
    HTTP_LOADER_CONNECT_TIMEOUT=5
    HTTP_LOADER_REQUEST_TIMEOUT=20
    HTTP_LOADER_FOLLOW_REDIRECTS=True
    HTTP_LOADER_MAX_REDIRECTS=5
    HTTP_LOADER_FORWARD_USER_AGENT=False
    HTTP_LOADER_DEFAULT_USER_AGENT="Thumbor/5.2.1"
    HTTP_LOADER_PROXY_HOST=None
    HTTP_LOADER_PROXY_PORT=None
    HTTP_LOADER_PROXY_USERNAME=None
    HTTP_LOADER_PROXY_PASSWORD=None
    HTTP_LOADER_CA_CERTS=None
    HTTP_LOADER_VALIDATE_CERTS=True
    HTTP_LOADER_CLIENT_KEY=None
    HTTP_LOADER_CLIENT_CERT=None
    HTTP_LOADER_CURL_ASYNC_HTTP_CLIENT=False
    STORAGE_EXPIRATION_SECONDS=2592000
    STORES_CRYPTO_KEY_FOR_EACH_IMAGE=False
    FILE_STORAGE_ROOT_PATH=/data/storage
    UPLOAD_MAX_SIZE=0
    UPLOAD_ENABLED=False
    UPLOAD_PHOTO_STORAGE=thumbor.storages.file_storage
    UPLOAD_DELETE_ALLOWED=False
    UPLOAD_PUT_ALLOWED=False
    UPLOAD_DEFAULT_FILENAME=image
    MONGO_STORAGE_SERVER_HOST=mongo
    MONGO_STORAGE_SERVER_PORT=27017
    MONGO_STORAGE_SERVER_DB=thumbor
    MONGO_STORAGE_SERVER_COLLECTION=images
    REDIS_STORAGE_SERVER_HOST=redis
    REDIS_STORAGE_SERVER_PORT=6379
    REDIS_STORAGE_SERVER_DB=0
    REDIS_STORAGE_SERVER_PASSWORD=None
    REDIS_RESULT_STORAGE_SERVER_HOST=redis
    REDIS_RESULT_STORAGE_SERVER_PORT=6379
    REDIS_RESULT_STORAGE_SERVER_DB=0
    REDIS_RESULT_STORAGE_SERVER_PASSWORD=None
    MEMCACHE_STORAGE_SERVERS=["localhost:11211",]
    MIXED_STORAGE_FILE_STORAGE=thumbor.storages.no_storage
    MIXED_STORAGE_CRYPTO_STORAGE=thumbor.storages.no_storage
    MIXED_STORAGE_DETECTOR_STORAGE=thumbor.storages.no_storage
    META_CALLBACK_NAME=None
    DETECTORS=[]
    FACE_DETECTOR_CASCADE_FILE=haarcascade_frontalface_alt.xml
    OPTIMIZERS=[]
    JPEGTRAN_PATH=/usr/bin/jpegtran
    PROGRESSIVE_JPEG=True
    FILTERS="[thumbor.filters.brightness, thumbor.filters.contrast, thumbor.filters.rgb, thumbor.filters.round_corner, thumbor.filters.quality, thumbor.filters.noise, thumbor.filters.watermark, thumbor.filters.equalize, thumbor.filters.fill, thumbor.filters.sharpen, thumbor.filters.strip_icc, thumbor.filters.frame, thumbor.filters.grayscale, thumbor.filters.rotate, thumbor.filters.format, thumbor.filters.max_bytes, thumbor.filters.convolution, thumbor.filters.blur, thumbor.filters.extract_focal, thumbor.filters.no_upscale]"
    RESULT_STORAGE_EXPIRATION_SECONDS=0
    RESULT_STORAGE_FILE_STORAGE_ROOT_PATH=/data/result_storage
    RESULT_STORAGE_STORES_UNSAFE=False
    REDIS_QUEUE_SERVER_HOST=redis
    REDIS_QUEUE_SERVER_PORT=6379
    REDIS_QUEUE_SERVER_DB="0"
    REDIS_QUEUE_SERVER_PASSWORD=None
    SQS_QUEUE_KEY_ID=None
    SQS_QUEUE_KEY_SECRET=None
    SQS_QUEUE_REGION=us-east-1
    USE_CUSTOM_ERROR_HANDLING=False
    ERROR_HANDLER_MODULE=thumbor.error_handlers.sentry
    ERROR_FILE_LOGGER=None
    ERROR_FILE_NAME_USE_CONTEXT="False"
    SENTRY_DSN_URL=
    TC_AWS_REGION=eu-west-1
    TC_AWS_ENDPOINT=None
    TC_AWS_STORAGE_BUCKET=
    TC_AWS_STORAGE_ROOT_PATH=
    TC_AWS_LOADER_BUCKET=
    TC_AWS_LOADER_ROOT_PATH=
    TC_AWS_RESULT_STORAGE_BUCKET=
    TC_AWS_RESULT_STORAGE_ROOT_PATH=
    TC_AWS_STORAGE_SSE=False
    TC_AWS_STORAGE_RRS=False
    TC_AWS_ENABLE_HTTP_LOADER=False
    TC_AWS_ALLOWED_BUCKETS=False
    TC_AWS_STORE_METADATA=False
    
    ### SOLR ##################################################
    
    SOLR_VERSION=5.5
    SOLR_PORT=8983
    SOLR_DATAIMPORTHANDLER_MYSQL=false
    SOLR_DATAIMPORTHANDLER_MSSQL=true
    
    ### GITLAB ###############################################
    GITLAB_POSTGRES_INIT=true
    GITLAB_HOST_HTTP_PORT=8989
    GITLAB_HOST_HTTPS_PORT=9898
    GITLAB_HOST_SSH_PORT=2289
    GITLAB_DOMAIN_NAME=http://localhost
    GITLAB_ROOT_PASSWORD=laradock
    GITLAB_HOST_LOG_PATH=./logs/gitlab
    GITLAB_POSTGRES_HOST=postgres
    GITLAB_POSTGRES_USER=laradock_gitlab
    GITLAB_POSTGRES_PASSWORD=laradock_gitlab
    GITLAB_POSTGRES_DB=laradock_gitlab
    
    ### GITLAB-RUNNER ###############################################
    GITLAB_CI_SERVER_URL=http://localhost:8989
    GITLAB_RUNNER_REGISTRATION_TOKEN="<my-registration-token>"
    GITLAB_REGISTER_NON_INTERACTIVE=true
    
    ### JUPYTERHUB ###############################################
    JUPYTERHUB_POSTGRES_INIT=true
    JUPYTERHUB_POSTGRES_HOST=postgres
    JUPYTERHUB_POSTGRES_USER=laradock_jupyterhub
    JUPYTERHUB_POSTGRES_PASSWORD=laradock_jupyterhub
    JUPYTERHUB_POSTGRES_DB=laradock_jupyterhub
    JUPYTERHUB_PORT=9991
    JUPYTERHUB_OAUTH_CALLBACK_URL=http://laradock:9991/hub/oauth_callback
    JUPYTERHUB_OAUTH_CLIENT_ID={GITHUB_CLIENT_ID}
    JUPYTERHUB_OAUTH_CLIENT_SECRET={GITHUB_CLIENT_SECRET}
    JUPYTERHUB_CUSTOM_CONFIG=./jupyterhub/jupyterhub_config.py
    JUPYTERHUB_USER_DATA=/jupyterhub
    JUPYTERHUB_USER_LIST=./jupyterhub/userlist
    JUPYTERHUB_ENABLE_NVIDIA=false
    
    ### IPYTHON ##################################################
    LARADOCK_IPYTHON_CONTROLLER_IP=127.0.0.1
    
    ### NETDATA ###############################################
    NETDATA_PORT=19999
    
    ### REDISWEBUI #########################################
    REDIS_WEBUI_USERNAME=laradock
    REDIS_WEBUI_PASSWORD=laradock
    REDIS_WEBUI_CONNECT_HOST=redis
    REDIS_WEBUI_CONNECT_PORT=6379
    REDIS_WEBUI_PORT=9987
    
    ### MONGOWEBUI ###############################################
    MONGO_WEBUI_PORT=3000
    MONGO_WEBUI_ROOT_URL=http://localhost
    MONGO_WEBUI_MONGO_URL=mongodb://mongo:27017/
    MONGO_WEBUI_INSTALL_MONGO=false
    
    ### METABASE ###############################################
    METABASE_PORT=3030
    METABASE_DB_FILE=metabase.db
    METABASE_JAVA_TIMEZONE=US/Pacific
    
    ### IDE ###############################################
    IDE_THEIA_PORT=987
    IDE_WEBIDE_PORT=984
    IDE_CODIAD_PORT=985
    IDE_ICECODER_PORT=986
    
    ### DOCKERREGISTRY ###############################################
    DOCKER_REGISTRY_PORT=5000
    
    ### DOCKERWEBUI ###############################################
    DOCKER_WEBUI_REGISTRY_HOST=docker-registry
    DOCKER_WEBUI_REGISTRY_PORT=5000
    # if have use https proxy please set to 1
    DOCKER_REGISTRY_USE_SSL=0
    DOCKER_REGISTRY_BROWSE_ONLY=false
    DOCKER_WEBUI_PORT=8754
    
    ### MAILU ###############################################
    MAILU_VERSION=latest
    MAILU_RECAPTCHA_PUBLIC_KEY="<YOUR_RECAPTCHA_PUBLIC_KEY>"
    MAILU_RECAPTCHA_PRIVATE_KEY="<YOUR_RECAPTCHA_PRIVATE_KEY>"
    # Main mail domain
    MAILU_HTTP_PORT=6080
    MAILU_HTTPS_PORT=60443
    MAILU_DOMAIN=example.com
    MAILU_INIT_ADMIN_USERNAME=laradock
    MAILU_INIT_ADMIN_PASSWORD=laradock
    # Hostnames for this server, separated with comas
    MAILU_HOSTNAMES=mail.example.com,alternative.example.com,yetanother.example.com
    # Postmaster local part (will append the main mail domain)
    MAILU_POSTMASTER=admin
    # Set to a randomly generated 16 bytes string
    MAILU_SECRET_KEY=ChangeMeChangeMe
    # Choose how secure connections will behave (value: letsencrypt, cert, notls, mail)
    MAILU_TLS_FLAVOR=cert
    # Authentication rate limit (per source IP address)
    MAILU_AUTH_RATELIMIT="10/minute;1000/hour"
    # Opt-out of statistics, replace with "True" to opt out
    MAILU_DISABLE_STATISTICS=False
    # Message size limit in bytes
    # Default: accept messages up to 50MB
    MAILU_MESSAGE_SIZE_LIMIT=50000000
    # Will relay all outgoing mails if configured
    MAILU_RELAYHOST=
    # Networks granted relay permissions, make sure that you include your Docker
    # internal network (default to 172.17.0.0/16)
    MAILU_RELAYNETS=172.16.0.0/12
    # Fetchmail delay
    MAILU_FETCHMAIL_DELAY=600
    # Recipient delimiter, character used to delimiter localpart from custom address part
    # e.g. [email protected];tld
    MAILU_RECIPIENT_DELIMITER=+
    # DMARC rua and ruf email
    MAILU_DMARC_RUA=admin
    MAILU_DMARC_RUF=admin
    # Welcome email, enable and set a topic and body if you wish to send welcome
    # emails to all users.
    MAILU_WELCOME=True
    MAILU_WELCOME_SUBJECT="Welcome to your new email account"
    MAILU_WELCOME_BODY="Welcome to your new email account, if you can read this, then it is configured properly!"
    # Path to the admin interface if enabled
    MAILU_WEB_ADMIN=/admin
    # Path to the webmail if enabled
    MAILU_WEB_WEBMAIL=/webmail
    # Website name
    MAILU_SITENAME="Example Mail"
    # Linked Website URL
    MAILU_WEBSITE=http://mail.example.com
    # Default password scheme used for newly created accounts and changed passwords
    # (value: SHA512-CRYPT, SHA256-CRYPT, MD5-CRYPT, CRYPT)
    MAILU_PASSWORD_SCHEME=SHA512-CRYPT
    # Expose the admin interface (value: true, false)
    MAILU_ADMIN=true
    # Choose which webmail to run if any (values: roundcube, rainloop, none)
    MAILU_WEBMAIL=rainloop
    # Dav server implementation (value: radicale, none)
    MAILU_WEBDAV=radicale
    
    
    ### TRAEFIK #################################################
    
    TRAEFIK_HOST_HTTP_PORT=80
    TRAEFIK_HOST_HTTPS_PORT=443
    TRAEFIK_DASHBOARD_PORT=8888
    # basic authentication for traefik dashboard username: admin password:admin
    TRAEFIK_DASHBOARD_USER=admin:$2y$10$lXaL3lj6raFic6rFqr2.lOBoCudAIhB6zyoqObNg290UFppiUzTTi
    ACME_DOMAIN=example.org
    [email protected]
    
    
    ### MOSQUITTO #################################################
    
    MOSQUITTO_PORT=9001
    
    ### COUCHDB ###################################################
    
    COUCHDB_PORT=5984
    
    ### Manticore Search ##########################################
    
    MANTICORE_CONFIG_PATH=./manticore/config
    MANTICORE_API_PORT=9312
    MANTICORE_SPHINXQL_PORT=9306
    MANTICORE_HTTP_PORT=9308
    
    ### pgadmin ##################################################
    # use this address http://ip6-localhost:5050
    PGADMIN_PORT=5050
    [email protected]
    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
    
    ### TOMCAT ################################################
    TOMCAT_VERSION=8.5.43
    TOMCAT_HOST_HTTP_PORT=8080
    
    ### CASSANDRA ################################################
    
    # Cassandra Version, supported tags can be found at https://hub.docker.com/r/bitnami/cassandra/
    CASSANDRA_VERSION=latest
    # Inter-node cluster communication port. Default: 7000
    CASSANDRA_TRANSPORT_PORT_NUMBER=7000
    # JMX connections port. Default: 7199
    CASSANDRA_JMX_PORT_NUMBER=7199
    # Client port. Default: 9042.
    CASSANDRA_CQL_PORT_NUMBER=9042
    # Cassandra user name. Defaults: cassandra
    CASSANDRA_USER=cassandra
    # Password seeder will change the Cassandra default credentials at initialization. In clusters, only one node should be marked as password seeder. Default: no
    CASSANDRA_PASSWORD_SEEDER=no
    # Cassandra user password. Default: cassandra
    CASSANDRA_PASSWORD=cassandra
    # Number of tokens for the node. Default: 256.
    CASSANDRA_NUM_TOKENS=256
    # Hostname used to configure Cassandra. It can be either an IP or a domain. If left empty, it will be resolved to the machine IP.
    CASSANDRA_HOST=
    # Cluster name to configure Cassandra.. Defaults: My Cluster
    CASSANDRA_CLUSTER_NAME="My Cluster"
    # : Hosts that will act as Cassandra seeds. No defaults.
    CASSANDRA_SEEDS=
     # Snitch name (which determines which data centers and racks nodes belong to). Default SimpleSnitch
    CASSANDRA_ENDPOINT_SNITCH=SimpleSnitch
     # Enable the thrift RPC endpoint. Default :true
    CASSANDRA_ENABLE_RPC=true
    # Datacenter name for the cluster. Ignored in SimpleSnitch endpoint snitch. Default: dc1.
    CASSANDRA_DATACENTER=dc1
    # Rack name for the cluster. Ignored in SimpleSnitch endpoint snitch. Default: rack1.
    CASSANDRA_RACK=rack1
    
    ### GEARMAN ##################################################
    
    # Gearman version to use. See available tags at https://hub.docker.com/r/artefactual/gearmand
    GEARMAN_VERSION=latest
    # Port to use (Default: 4730)
    GEARMAN_PORT=4730
    # Logging Level (Default: INFO)
    GEARMAN_VERBOSE=INFO
    # Persistent queue type to use (Default: builtin)
    GEARMAN_QUEUE_TYPE=builtin
    # Number of I/O threads to use (Default: 4)
    GEARMAN_THREADS=4
    # Number of backlog connections for listen (Default: 32)
    GEARMAN_BACKLOG=32
    # Number of file descriptors to allow for the process (Default is max allowed for user)
    GEARMAN_FILE_DESCRIPTORS=
    # Number of attempts to run the job before the job server removes it. (Default: no limit = 0)
    GEARMAN_JOB_RETRIES=0
    # Assign work in round-robin order per worker connection (Default: 0)
    GEARMAN_ROUND_ROBIN=0
    # Number of workers to wakeup for each job received (Default: 0)
    GEARMAN_WORKER_WAKEUP=0
    # Enable keepalive on sockets (Default: 0)
    GEARMAN_KEEPALIVE=0
    # The duration between two keepalive transmissions in idle condition (Default: 30)
    GEARMAN_KEEPALIVE_IDLE=30
    # The duration between two successive keepalive retransmissions, if acknowledgement to the previous keepalive transmission is not received	(Default: 10)
    GEARMAN_KEEPALIVE_INTERVAL=10
    # The number of retransmissions to be carried out before declaring that remote end is not available (Default: 5)
    GEARMAN_KEEPALIVE_COUNT=5
    # Mysql server host (Default: localhost)
    GEARMAN_MYSQL_HOST=localhost
    # Mysql server port (Default: 3306)
    GEARMAN_MYSQL_PORT=3306
    # Mysql server user (Default: root)
    GEARMAN_MYSQL_USER=root
    # Mysql password
    GEARMAN_MYSQL_PASSWORD=
    # Path to file with mysql password(Docker secrets)
    GEARMAN_MYSQL_PASSWORD_FILE=
    # Database to use by Gearman (Default: Gearmand)
    GEARMAN_MYSQL_DB=Gearmand
    # Table to use by Gearman (Default: gearman_queue)
    GEARMAN_MYSQL_TABLE=gearman_queue
    
    ### ELK Stack ##################################################
    ELK_VERSION=7.9.1
    
    
    Reviewed by aaly00 at 2020-10-12 00:27
  • 9. Docker Trojan Horse in Redis Container

    Info:

    • Docker version ($ docker --version):
    • Laradock commit ($ git rev-parse HEAD):
    • System info (Mac, PC, Linux):
    • System info disto/version:

    Issue:

    I recently found that after a rebuild, the redis container would shut down after exactly 24 hr. After looking through the log, I found that after 24hr, redis would run the following command:

    redis_1 | sh: 1: killall: not found redis_1 | ./xmrig-notls: unrecognized option '--max-cpu-usage'


    Expected behavior:

    Expected it to work


    Reproduce:

    That's the tricky part. I didn't have this kind of issue until last week. Maybe the horse is from official docker redis container (possibly not) or maybe an intrusion into my system, but I only found xmrig under overlay2:

    /var/lib/docker/overlay2/f0d664c7954a158354876e11b8c89bd3c323d49ddc59c5531750b5ac639f9c6e/merged/tmp/xmrig-2.99.0-beta/xmrig /var/lib/docker/overlay2/f0d664c7954a158354876e11b8c89bd3c323d49ddc59c5531750b5ac639f9c6e/diff/tmp/xmrig-2.99.0-beta/xmrig

    So it's more likely a container problem.


    Relevant Code:

    // place a code sample here
    
    Reviewed by zimo-xiao at 2019-08-26 04:43
  • 10. Cannot build php-fpm

    When try run docker-compose up or docker-compose up nginx mysql redis with some parameter the result it's same. I have this error.. Building php-fpm ERROR: Unknown instruction: DOCKER-PHP-EXT-INSTALL

    And can't fixed this. Any idea?

    Reviewed by gabfiocchi at 2016-12-28 12:37
  • 11. Empty continuation line found

    Info:

    • Docker version: 17.07.0-ce, build 8784753
    • Laradock version: 5.6.0 (d340b6e)
    • System info: Linux
    • System info disto/version: Ubuntu 16.10

    Issue:

    Rebuilding the php-fpm image, I got a bunch of "Empty continuation line found" warnings:

    [WARNING]: Empty continuation line found in:
        RUN if [ ${INSTALL_SOAP} = true ]; then     apt-get update -yqq &&     apt-get -y install libxml2-dev php-soap &&     docker-php-ext-install soap ;fi
    [WARNING]: Empty continuation line found in:
        RUN if [ ${INSTALL_XDEBUG} = true ]; then     pecl install xdebug &&     docker-php-ext-enable xdebug ;fi
    [WARNING]: Empty continuation line found in:
        RUN if [ ${INSTALL_PHPREDIS} = true ]; then     printf "\n" | pecl install -o -f redis     &&  rm -rf /tmp/pear     &&  docker-php-ext-enable redis ;fi
    [WARNING]: Empty continuation line found in:
        RUN if [ ${INSTALL_SWOOLE} = true ]; then     pecl install swoole     &&  docker-php-ext-enable swoole ;fi
    [WARNING]: Empty continuation line found in:
        RUN if [ ${INSTALL_MONGO} = true ]; then     pecl install mongodb &&     docker-php-ext-enable mongodb ;fi
    [WARNING]: Empty continuation line found in:
        RUN if [ ${INSTALL_ZIP_ARCHIVE} = true ]; then     docker-php-ext-install zip ;fi
    [WARNING]: Empty continuation line found in:
        RUN if [ ${INSTALL_BCMATH} = true ]; then     docker-php-ext-install bcmath ;fi
    [WARNING]: Empty continuation line found in:
        RUN if [ ${INSTALL_MEMCACHED} = true ]; then     curl -L -o /tmp/memcached.tar.gz "https://github.com/php-memcached-dev/php-memcached/archive/php7.tar.gz"     && mkdir -p memcached     && tar -C memcached -zxvf /tmp/memcached.tar.gz --strip 1     && (         cd memcached         && phpize         && ./configure         && make -j$(nproc)         && make install     )     && rm -r memcached     && rm /tmp/memcached.tar.gz     && docker-php-ext-enable memcached ;fi
    [WARNING]: Empty continuation line found in:
        RUN if [ ${INSTALL_EXIF} = true ]; then     docker-php-ext-install exif ;fi
    [WARNING]: Empty continuation line found in:
        RUN if [ ${INSTALL_AEROSPIKE} = true ]; then     apt-get update -yqq &&     apt-get -y install sudo wget &&     curl -L -o /tmp/aerospike-client-php.tar.gz "https://github.com/aerospike/aerospike-client-php/archive/3.4.14.tar.gz"     && mkdir -p aerospike-client-php     && tar -C aerospike-client-php -zxvf /tmp/aerospike-client-php.tar.gz --strip 1     && (         cd aerospike-client-php/src/aerospike         && phpize         && ./build.sh         && make install     )     && rm /tmp/aerospike-client-php.tar.gz ;fi
    [WARNING]: Empty continuation line found in:
        RUN if [ ${INSTALL_INTL} = true ]; then     apt-get update -yqq &&     apt-get install -y zlib1g-dev libicu-dev g++ &&     docker-php-ext-configure intl &&     docker-php-ext-install intl ;fi
    [WARNING]: Empty continuation line found in:
        RUN if [ ${INSTALL_GHOSTSCRIPT} = true ]; then     apt-get update -yqq     && apt-get install -y     poppler-utils     ghostscript ;fi
    [WARNING]: Empty continuation line found in:
        RUN if [ ${INSTALL_MSSQL} = true ]; then     apt-get update -yqq && apt-get install -y apt-transport-https         && curl https://packages.microsoft.com/keys/microsoft.asc | apt-key add -         && curl https://packages.microsoft.com/config/debian/8/prod.list > /etc/apt/sources.list.d/mssql-release.list         && apt-get update -yqq         && ACCEPT_EULA=Y apt-get install -y unixodbc unixodbc-dev libgss3 odbcinst msodbcsql locales         && echo "en_US.UTF-8 UTF-8" > /etc/locale.gen && locale-gen         && pecl install pdo_sqlsrv-4.1.8preview sqlsrv-4.1.8preview         && docker-php-ext-enable pdo_sqlsrv sqlsrv ;fi
    [WARNING]: Empty continuation lines will become errors in a future release.
    

    I am guessing this is related to the comments inside of the shell commands in the Dockerfile. e.g.

    RUN if [ ${INSTALL_SOAP} = true ]; then \
        # Install the soap extension
        apt-get update -yqq && \
        apt-get -y install libxml2-dev php-soap && \
        docker-php-ext-install soap \
    ;fi
    

    They probably just need to be moved outside of the if statement, since I assume adding a backslash to the end of a commented line won't work.

    Reviewed by hackel at 2017-09-26 21:45
  • 12. 🐞fix(M .env.example M docker-compose.yml): redis --requirepass

    Description

    Motivation and Context

    Types of Changes

    • [] Bug fix (non-breaking change which fixes an issue).
    • [] New feature (non-breaking change which adds functionality).
    • [] Breaking change (fix or feature that would cause existing functionality to not work as expected).

    Definition of Done Checklist:

    • [] I've read the Contribution Guide.
    • [] I've updated the documentation. (refer to this for how to do so).
    • [] I enjoyed my time contributing and making developer's life easier :)
    Reviewed by xiagw at 2022-05-18 01:22
  • 13. Error building laravel-horizon GD

    Description:

    Error while building laravel-horizon with GD enabled on php 8.1

    Context information:

    Output of git rev-parse HEAD

    a2dd97674f76e114717e9ff1e98f3912d053c96d
    

    Steps to reproduce the issue:

    Enable GD on env for laravel horizon

    Stacktrace & Additional info:

    Step 21/54 : RUN if [ ${INSTALL_GD} = true ]; then    apk add --update --no-cache freetype-dev libjpeg-turbo-dev jpeg-dev libpng-dev;    if [ $(php -r "echo PHP_VERSION_ID - PHP_RELEASE_VERSION;") = "80000" ] || [ $(php -r "echo PHP_VERSION_ID - PHP_RELEASE_VERSION;") = "70400" ]; then      docker-php-ext-configure gd --with-freetype --with-jpeg;    else      docker-php-ext-configure gd --with-freetype-dir=/usr/lib/ --with-jpeg-dir=/usr/lib/ --with-png-dir=/usr/lib/;    fi &&    docker-php-ext-install gd ;fi
     ---> Running in dce89642f607
    fetch https://dl-cdn.alpinelinux.org/alpine/v3.15/main/x86_64/APKINDEX.tar.gz
    fetch https://dl-cdn.alpinelinux.org/alpine/v3.15/community/x86_64/APKINDEX.tar.gz
    (1/8) Installing libpng (1.6.37-r1)
    (2/8) Installing freetype (2.11.1-r1)
    (3/8) Installing brotli-dev (1.0.9-r5)
    (4/8) Installing libpng-dev (1.6.37-r1)
    (5/8) Installing freetype-dev (2.11.1-r1)
    (6/8) Installing libjpeg-turbo (2.1.2-r0)
    (7/8) Installing libjpeg-turbo-dev (2.1.2-r0)
    (8/8) Installing jpeg-dev (9d-r1)
    Executing busybox-1.34.1-r5.trigger
    OK: 368 MiB in 118 packages
    fetch https://dl-cdn.alpinelinux.org/alpine/v3.15/main/x86_64/APKINDEX.tar.gz
    fetch https://dl-cdn.alpinelinux.org/alpine/v3.15/community/x86_64/APKINDEX.tar.gz
    (1/4) Installing dpkg-dev (1.20.9-r0)
    (2/4) Installing dpkg (1.20.9-r0)
    (3/4) Installing re2c (2.1.1-r0)
    (4/4) Installing .phpize-deps-configure (20220517.184422)
    Executing busybox-1.34.1-r5.trigger
    OK: 372 MiB in 122 packages
    Configuring for:
    PHP Api Version:         20210902
    Zend Module Api No:      20210902
    Zend Extension Api No:   420210902
    configure.ac:18: warning: $as_echo is obsolete; use AS_ECHO(["message"]) instead
    build/php.m4:2111: PHP_CONFIG_NICE is expanded from...
    configure.ac:18: the top level
    configure.ac:161: warning: The macro `AC_LANG_C' is obsolete.
    configure.ac:161: You should run autoupdate.
    ./lib/autoconf/c.m4:72: AC_LANG_C is expanded from...
    build/libtool.m4:2739: _LT_AC_LANG_C_CONFIG is expanded from...
    build/libtool.m4:2738: AC_LIBTOOL_LANG_C_CONFIG is expanded from...
    build/libtool.m4:70: AC_LIBTOOL_SETUP is expanded from...
    build/libtool.m4:52: _AC_PROG_LIBTOOL is expanded from...
    build/libtool.m4:39: AC_PROG_LIBTOOL is expanded from...
    configure.ac:161: the top level
    configure.ac:161: warning: The macro `AC_LANG_C' is obsolete.
    configure.ac:161: You should run autoupdate.
    ./lib/autoconf/c.m4:72: AC_LANG_C is expanded from...
    lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from...
    lib/m4sugar/m4sh.m4:699: AS_IF is expanded from...
    ./lib/autoconf/general.m4:2249: AC_CACHE_VAL is expanded from...
    ./lib/autoconf/general.m4:2270: AC_CACHE_CHECK is expanded from...
    build/libtool.m4:561: _LT_AC_LOCK is expanded from...
    build/libtool.m4:1185: AC_LIBTOOL_SYS_HARD_LINK_LOCKS is expanded from...
    build/libtool.m4:2739: _LT_AC_LANG_C_CONFIG is expanded from...
    build/libtool.m4:2738: AC_LIBTOOL_LANG_C_CONFIG is expanded from...
    build/libtool.m4:70: AC_LIBTOOL_SETUP is expanded from...
    build/libtool.m4:52: _AC_PROG_LIBTOOL is expanded from...
    build/libtool.m4:39: AC_PROG_LIBTOOL is expanded from...
    configure.ac:161: the top level
    configure.ac:161: warning: The macro `AC_TRY_LINK' is obsolete.
    configure.ac:161: You should run autoupdate.
    ./lib/autoconf/general.m4:2920: AC_TRY_LINK is expanded from...
    lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from...
    lib/m4sugar/m4sh.m4:699: AS_IF is expanded from...
    ./lib/autoconf/general.m4:2249: AC_CACHE_VAL is expanded from...
    ./lib/autoconf/general.m4:2270: AC_CACHE_CHECK is expanded from...
    build/libtool.m4:561: _LT_AC_LOCK is expanded from...
    build/libtool.m4:1185: AC_LIBTOOL_SYS_HARD_LINK_LOCKS is expanded from...
    build/libtool.m4:2739: _LT_AC_LANG_C_CONFIG is expanded from...
    build/libtool.m4:2738: AC_LIBTOOL_LANG_C_CONFIG is expanded from...
    build/libtool.m4:70: AC_LIBTOOL_SETUP is expanded from...
    build/libtool.m4:52: _AC_PROG_LIBTOOL is expanded from...
    build/libtool.m4:39: AC_PROG_LIBTOOL is expanded from...
    configure.ac:161: the top level
    configure.ac:161: warning: back quotes and double quotes must not be escaped in: $as_me:${as_lineno-$LINENO}: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe
    build/libtool.m4:1185: AC_LIBTOOL_SYS_HARD_LINK_LOCKS is expanded from...
    build/libtool.m4:2739: _LT_AC_LANG_C_CONFIG is expanded from...
    build/libtool.m4:2738: AC_LIBTOOL_LANG_C_CONFIG is expanded from...
    build/libtool.m4:70: AC_LIBTOOL_SETUP is expanded from...
    build/libtool.m4:52: _AC_PROG_LIBTOOL is expanded from...
    build/libtool.m4:39: AC_PROG_LIBTOOL is expanded from...
    configure.ac:161: the top level
    configure.ac:161: warning: back quotes and double quotes must not be escaped in: $as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe
    build/libtool.m4:1185: AC_LIBTOOL_SYS_HARD_LINK_LOCKS is expanded from...
    build/libtool.m4:2739: _LT_AC_LANG_C_CONFIG is expanded from...
    build/libtool.m4:2738: AC_LIBTOOL_LANG_C_CONFIG is expanded from...
    build/libtool.m4:70: AC_LIBTOOL_SETUP is expanded from...
    build/libtool.m4:52: _AC_PROG_LIBTOOL is expanded from...
    build/libtool.m4:39: AC_PROG_LIBTOOL is expanded from...
    configure.ac:161: the top level
    configure.ac:161: warning: back quotes and double quotes must not be escaped in: $as_me:${as_lineno-$LINENO}: WARNING: output file \`$ofile' does not exist
    build/libtool.m4:1929: _LT_AC_TAGCONFIG is expanded from...
    build/libtool.m4:70: AC_LIBTOOL_SETUP is expanded from...
    build/libtool.m4:52: _AC_PROG_LIBTOOL is expanded from...
    build/libtool.m4:39: AC_PROG_LIBTOOL is expanded from...
    configure.ac:161: the top level
    configure.ac:161: warning: back quotes and double quotes must not be escaped in: $as_me: WARNING: output file \`$ofile' does not exist
    build/libtool.m4:1929: _LT_AC_TAGCONFIG is expanded from...
    build/libtool.m4:70: AC_LIBTOOL_SETUP is expanded from...
    build/libtool.m4:52: _AC_PROG_LIBTOOL is expanded from...
    build/libtool.m4:39: AC_PROG_LIBTOOL is expanded from...
    configure.ac:161: the top level
    configure.ac:161: warning: back quotes and double quotes must not be escaped in: $as_me:${as_lineno-$LINENO}: WARNING: output file \`$ofile' does not look like a libtool script
    build/libtool.m4:1929: _LT_AC_TAGCONFIG is expanded from...
    build/libtool.m4:70: AC_LIBTOOL_SETUP is expanded from...
    build/libtool.m4:52: _AC_PROG_LIBTOOL is expanded from...
    build/libtool.m4:39: AC_PROG_LIBTOOL is expanded from...
    configure.ac:161: the top level
    configure.ac:161: warning: back quotes and double quotes must not be escaped in: $as_me: WARNING: output file \`$ofile' does not look like a libtool script
    build/libtool.m4:1929: _LT_AC_TAGCONFIG is expanded from...
    build/libtool.m4:70: AC_LIBTOOL_SETUP is expanded from...
    build/libtool.m4:52: _AC_PROG_LIBTOOL is expanded from...
    build/libtool.m4:39: AC_PROG_LIBTOOL is expanded from...
    configure.ac:161: the top level
    configure.ac:161: warning: back quotes and double quotes must not be escaped in: $as_me:${as_lineno-$LINENO}: WARNING: using \`LTCC=$LTCC', extracted from \`$ofile'
    build/libtool.m4:1929: _LT_AC_TAGCONFIG is expanded from...
    build/libtool.m4:70: AC_LIBTOOL_SETUP is expanded from...
    build/libtool.m4:52: _AC_PROG_LIBTOOL is expanded from...
    build/libtool.m4:39: AC_PROG_LIBTOOL is expanded from...
    configure.ac:161: the top level
    configure.ac:161: warning: back quotes and double quotes must not be escaped in: $as_me: WARNING: using \`LTCC=$LTCC', extracted from \`$ofile'
    build/libtool.m4:1929: _LT_AC_TAGCONFIG is expanded from...
    build/libtool.m4:70: AC_LIBTOOL_SETUP is expanded from...
    build/libtool.m4:52: _AC_PROG_LIBTOOL is expanded from...
    build/libtool.m4:39: AC_PROG_LIBTOOL is expanded from...
    configure.ac:161: the top level
    configure.ac:161: warning: back quotes and double quotes must not be escaped in: tag name \"$tagname\" already exists
    build/libtool.m4:1929: _LT_AC_TAGCONFIG is expanded from...
    build/libtool.m4:70: AC_LIBTOOL_SETUP is expanded from...
    build/libtool.m4:52: _AC_PROG_LIBTOOL is expanded from...
    build/libtool.m4:39: AC_PROG_LIBTOOL is expanded from...
    configure.ac:161: the top level
    configure.ac:161: warning: The macro `AC_LANG_CPLUSPLUS' is obsolete.
    configure.ac:161: You should run autoupdate.
    ./lib/autoconf/c.m4:262: AC_LANG_CPLUSPLUS is expanded from...
    build/libtool.m4:2821: _LT_AC_LANG_CXX_CONFIG is expanded from...
    build/libtool.m4:2820: AC_LIBTOOL_LANG_CXX_CONFIG is expanded from...
    build/libtool.m4:1929: _LT_AC_TAGCONFIG is expanded from...
    build/libtool.m4:70: AC_LIBTOOL_SETUP is expanded from...
    build/libtool.m4:52: _AC_PROG_LIBTOOL is expanded from...
    build/libtool.m4:39: AC_PROG_LIBTOOL is expanded from...
    configure.ac:161: the top level
    configure.ac:161: warning: back quotes and double quotes must not be escaped in: $as_me:${as_lineno-$LINENO}: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe
    build/libtool.m4:1185: AC_LIBTOOL_SYS_HARD_LINK_LOCKS is expanded from...
    build/libtool.m4:2821: _LT_AC_LANG_CXX_CONFIG is expanded from...
    build/libtool.m4:2820: AC_LIBTOOL_LANG_CXX_CONFIG is expanded from...
    build/libtool.m4:1929: _LT_AC_TAGCONFIG is expanded from...
    build/libtool.m4:70: AC_LIBTOOL_SETUP is expanded from...
    build/libtool.m4:52: _AC_PROG_LIBTOOL is expanded from...
    build/libtool.m4:39: AC_PROG_LIBTOOL is expanded from...
    configure.ac:161: the top level
    configure.ac:161: warning: back quotes and double quotes must not be escaped in: $as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe
    build/libtool.m4:1185: AC_LIBTOOL_SYS_HARD_LINK_LOCKS is expanded from...
    build/libtool.m4:2821: _LT_AC_LANG_CXX_CONFIG is expanded from...
    build/libtool.m4:2820: AC_LIBTOOL_LANG_CXX_CONFIG is expanded from...
    build/libtool.m4:1929: _LT_AC_TAGCONFIG is expanded from...
    build/libtool.m4:70: AC_LIBTOOL_SETUP is expanded from...
    build/libtool.m4:52: _AC_PROG_LIBTOOL is expanded from...
    build/libtool.m4:39: AC_PROG_LIBTOOL is expanded from...
    configure.ac:161: the top level
    configure: error: unrecognized options: --with-freetype-dir, --with-jpeg-dir, --with-png-dir
    The command '/bin/sh -c if [ ${INSTALL_GD} = true ]; then    apk add --update --no-cache freetype-dev libjpeg-turbo-dev jpeg-dev libpng-dev;    if [ $(php -r "echo PHP_VERSION_ID - PHP_RELEASE_VERSION;") = "80000" ] || [ $(php -r "echo PHP_VERSION_ID - PHP_RELEASE_VERSION;") = "70400" ]; then      docker-php-ext-configure gd --with-freetype --with-jpeg;    else      docker-php-ext-configure gd --with-freetype-dir=/usr/lib/ --with-jpeg-dir=/usr/lib/ --with-png-dir=/usr/lib/;    fi &&    docker-php-ext-install gd ;fi' returned a non-zero code: 1
    
    Reviewed by alexandrevega at 2022-05-17 18:57
  • 14. WKHTMLtoX changes for Apple silicon

    Description

    Procedure detects the architecture and inserts the appropriate strings in package names. This way there is no error that a wrong package was attempted to be installed. Also added a configurable package version so that the repo does not have to be updated when the version changes.

    Motivation and Context

    WKHTMLtoX could not be installed on Apple silicon machines.

    Types of Changes

    • Bug fix (non-breaking change which fixes an issue).

    Definition of Done Checklist:

    • I've read the Contribution Guide.
    • I enjoyed my time contributing and making developer's life easier :)
    Reviewed by dstancer at 2022-05-17 07:45
  • 15. Latest docker update requires absolute path

    Description:

    Error response from daemon: create ./postgres/docker-entrypoint-initdb.d: "./postgres/docker-entrypoint-initdb.d" includes invalid characters for a local volume name, only "[a-zA-Z0-9][a-zA-Z0-9_.-]" are allowed. If you intended to pass a host directory, use absolute path
    

    After the latest docker update in windows, I have to use absolute path and change some of my env file, is this expected? is anyone experiencing this issue?

    so now only this part works /home/myuser/laradock/postgres/docker-entrypoint-initdb.d

    Output of docker version

    Docker version 20.10.14, build a224086
    

    Output of docker-compose version

    Docker Compose version v2.5.0
    

    System info: Mac, Windows or Linux. Include which disto/version Ubuntu 20 in WSL

    Reviewed by robertwt7 at 2022-05-16 11:38
  • 16. invalid characters for a local volume

    Error response from daemon: create ~/.laradock/data/mysql: "~/.laradock/data/mysql" includes invalid characters for a local volume name, only "[a-zA-Z0-9][a-zA-Z0-9_.-]" are allowed. If you intended to pass a host directory, use absolute path

    while using docker compse 2.5.0

    Reviewed by anoopsrma at 2022-05-09 05:23
  • 17. Solved undefined function imagecreatefromjpeg

    Description

    [Solved] Call to undefined function Intervention\Image\Gd\imagecreatefromjpeg()

    PHP 7.4 Changelog in GD section in PHP 7.4(Alpine)

    we can run docker-php-ext-configure command to configure our gd with JPEG support. we don't need to provide flag to enable PNG.

    $ docker exec -it laradock_php-worker_1 php -r 'print_r(gd_info());'
    Array
    (
        [GD Version] => bundled (2.1.0 compatible)
        [FreeType Support] => 1
        [FreeType Linkage] => with freetype
        [GIF Read Support] => 1
        [GIF Create Support] => 1
        [JPEG Support] => 1
        [PNG Support] => 1
        [WBMP Support] => 1
        [XPM Support] => 
        [XBM Support] => 1
        [WebP Support] => 
        [BMP Support] => 1
        [TGA Read Support] => 1
        [JIS-mapped Japanese Font Support] => 
    )
    

    Motivation and Context

    Types of Changes

    • [x] Bug fix (non-breaking change which fixes an issue).
    • [ ] New feature (non-breaking change which adds functionality).
    • [ ] Breaking change (fix or feature that would cause existing functionality to not work as expected).

    Definition of Done Checklist:

    • [x] I've read the Contribution Guide.
    • [x] I've updated the documentation. (refer to this for how to do so).
    • [x] I enjoyed my time contributing and making developer's life easier :)
    Reviewed by rc1021 at 2022-05-06 15:44
Shopware 6 app boilerplate + Symfony backend + Dockware docker dev environment 💙

Shopware 6 app boilerplate with Symfony backend This boilerplate template can be used to get up and running with a docker-based dev setup for Shopware

Nov 14, 2021
Blazing fast macOS PHP development environment
Blazing fast macOS PHP development environment

Introduction Valet+ is a development environment for macOS. No Vagrant, no Docker, no /etc/hosts file. Go here for the valet+ documentation. Credits T

May 12, 2022
DDEV-Local: a local PHP development environment system
DDEV-Local: a local PHP development environment system

ddev ddev is an open source tool that makes it simple to get local PHP development environments up and running in minutes. It's powerful and flexible

May 16, 2022
Quickly deploy a seedbox with self-hosted services and a web portal using Docker and docker-compose.
Quickly deploy a seedbox with self-hosted services and a web portal using Docker and docker-compose.

Seedbox Quickly deploy and configure a seedbox with self-hosted services and a web portal using Docker and a single docker-compose.yml file. Screensho

Apr 8, 2022
Docker Shortie, simplifying calls to CLI commands inside docker containers.

What is DockTie Is a simple wrapper script for commands inside docker container(s). So for instance, what you would normally run as: docker-compo

Mar 31, 2022
Stacker - The environment for local web development, ready for use.
Stacker - The environment for local web development, ready for use.

Introduction English 简体中文 Why stacker? Stacker - This is a local environment for web development with everything you need. What is its benefit? You do

Apr 11, 2022
Valet WSL is an advanced development environment for Windows Subsystem for Linux
Valet WSL is an advanced development environment for Windows Subsystem for Linux

Introduction Valet WSL is an advanced development environment for Windows Subsystem for Linux. No Vagrant, no hosts file manual management. You can ev

Mar 24, 2022
A modern Docker LAMP stack and MEAN stack for local development
A modern Docker LAMP stack and MEAN stack for local development

The Devilbox Usage | Architecture | Community | Features | Intranet | Screenshots | Contributing | Logos | License Support for valid https out of the

May 16, 2022
Docker Containers for simple Laravel development.
Docker Containers for simple Laravel development.

Docker containers of Laravel development. Docker Containers for simple Laravel development. Prerequisites This package only works for Linux users righ

May 19, 2022
Oxygen Builder's better workflow and environment

Oxygen Builder's better workflow and environment Built with ❤️ Official Website | Documentation | Change Log Supporting Artifact is an open source pro

Mar 27, 2022
This is a dockerized environment for testing and developing things on the fatfree-core.
This is a dockerized environment for testing and developing things on the fatfree-core.

F3 development bench This is a dockerized environment for testing and developing things on the fatfree-core. It uses Docker to spin up multiple contai

Mar 29, 2022
Laravel 5 with Dockerized Gulp, PHP-FPM, MySQL and nginx using docker-compose

docker-laravel Laravel 5 with Dockerized PHP-FPM, MySQL and nginx using docker-compose Usage Get Composer docker-compose run --rm phpnginx curl -O htt

Feb 8, 2022
Docker with PHP 7.4 fpm, Nginx, Composer, PhpUnit and MaridaDB

Clean Docker with PHP Docker with PHP 7.4 fpm, Nginx, Composer, PhpUnit and MariaDB Starting app docker-compose up -d Main page

Apr 26, 2022
Runs a PHP-based startpage in Docker
Runs a PHP-based startpage in Docker

docker-php-startpage Runs a PHP-based startpage in Docker Source code: GitHub Docker container: Docker Hub Image base: PHP Init system: N/A Applicatio

May 15, 2022
Lamp Docker skeleton PHP + Nginx + Mysql + Redis

Stop installing the entire development stack on your local machine. This project will allow you to quickly start working with php. To install, you need to install docker locally.

May 2, 2022
Up and running with small Docker environments
Up and running with small Docker environments

Vessel Up and running with small Docker dev environments. Documentation Full documentation can be found at https://vessel.shippingdocker.com. Install

May 7, 2022
Symfony5 template w/ Docker config

Symfony5 w/ Docker config A project template in the following configuration: Symfony 5.2 PHP8 PostgreSQL 13.2 Separate Docker containers for Nginx, FP

May 14, 2022
Docker NAT容器自助部署php版本,实现从搭建到跑路的全生命周期功能。
Docker NAT容器自助部署php版本,实现从搭建到跑路的全生命周期功能。

DockerLabs-V1 游客可通过web页面直接创建出NAT容器,本项目从发布后将不再维护任何bug,以后有时间会出sdk重构版。 环境要求 使用了赛邮云发送短信号码,需要自己去申请appid和appkey填写到app_config.php文件中。需要修改所有html文件和api/kill.ph

Mar 4, 2022
The project provides a docker image for Files App(files.photo.gallery).
The project provides a docker image for Files App(files.photo.gallery).

For the purpose of learning,I replace the files.js with cracked version which just remove authorization code.

Apr 13, 2022