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

Last update: Apr 11, 2022

Frameworks a lot - he's one!

Latest Stable Version Build Status License Latest Unstable Version

Introduction

Why stacker?

Stacker - This is a local environment for web development with everything you need. What is its benefit?

  1. You do not need to manually configure the web server and add to the hosts, just cloned it and immediately launched it in the browser. It looks so demo
  2. Inside, there is already everything that is needed in 90% of all cases. And if not, we will add it for you : )
  3. For you, there is a super zsh console with autocomplete and everything you need. Video with presentation
  4. There is an autocompletion for Symfony and Laravel commands out of the box. For example, la5 and a double tab, will output a list of commands for which you can "walk" with arrows to select them
  5. It is faster analogs, the same homestead is just a turtle compared to it
  6. There is a video course
  7. Friendly author, in case there are questions or suggestions
  8. Based on Docker. Wherever you can install Docker, you can install Stacker
  9. It is very simple to expand. The process of adding your own images with a couple of lines in docker-compose.yml
  10. Just try it!

General goals

  • Frameworks a lot - he's one!
  • Everything is easy, nothing to migrate
  • Quickly start of developing locally
  • No overhead on settings! Сopied project and run
  • Zoo under a Docker, let the host mashine remains clean!

Video demos (RU)

Requirements

Installation

Get a stacker:

$ composer create-project maxlab/stacker 
# OR
$ git clone [email protected]:Maxlab/stacker.git

Run in Stacker directory

# make ./workspace folder and make a symbolic link to your folder with all your projects 
$ mkdir workspace && ln -s /your_path/to_all_your_own_projects ./workspace
# copy .env.dist to .env and change it
$ cp .env.dist .env
$ docker-compose build && docker-compose up -d && docker-compose ps
$ mv ./test ./workspace

Set local DNS server

- Linux
  /etc/resolv.conf
- Mac
  System Settings
- Windows
  Network Adapter Setting

set your local dns server to 127.0.0.1 , to prevent dnsmasq from running, you need to set up the second DNS server. Such as 8.8.8.8 or something else.

For SSH

Copy your ssh keys in the folder workspace

$ cp -R ~/.ssh ~/www/docker/stacker/workspace 

Move your projects

  • Add your project in workspace folder ./workspace/<customer>/<projectname> (no need to restart, this will work out of the box)
  • Open http://customer.project.dev/ in your browser (if you do not have dnsmasq, you have to add your hosts file manually)

On the ship

  • mailcatcher -> schickling/mailcatcher:latest (all outgoing mail is sent to http://mail.dev/)
  • nginx -> nginx:1.10.1
  • elasticsearch -> elasticsearch:5
  • mysql -> mysql:5.7
  • pgsql -> postgres:9.6
  • php7xdebug -> php:7.1 + xdebug
  • dnsmasq -> dnsmasq:latest
  • php5apache -> php:5apache for legacy
  • php7console -> stacker console
  • redis -> redis:3.0

Console

  • ZSH + oh-my-zsh
  • For frontend: nodejs, gem, npm, webpack, bower, gulp, uglify-js, uglifycss
  • For backend: composer, php, phpunit, symfony, symfony-autocomplete, Yii2 autocomplete
  • For automation deploy: dep (Deployer)

FAQ

Which settings in the configs for my projects?

  • Database
    • You can access the database in your app config use db for mysql and pgsql for postgresql (files will be saved in the mysql directory so it will be saved after destroying or recreating the containers)
      # Example for mysql
      parameters:
        database_host: mysql
        database_port: 3306
        database_name: sf
        database_user: root
        database_password: root
    
      # Example for pgsql
      parameters:
        database_host: pgsql
        database_port: 5433
        database_name: sf
        database_user: postgres
        database_password: postgres
      
      # Example for redis
      parameters:
        database_host: redis
        database_port: 6379

What external ports are listening images?

  • It's easy. For convenience, the external ports of the databases are offset by plus one. For example, MySQL listens to port 3306 + 1 = 3307 and so on...
  • Check the file docker-compose.yml for more

Xdebug + PhpStorm configuration

  1. Go to Settings -> Languages & Frameworks -> PHP
  2. Click the ... behind your interperter

I have a lot of the Symfony project, is it possible to make a symbolic link to them?

  • Yes! It's much faster and easier, plus no need to move folders from the usual places.
  • In the directory with your projects, create a folder and copy all the projects from the Symfony code. Now, make a link to your directory project in the directory with the Stacker, remove a directory ./workspace and rename your link to workspace - that's all! Now all your Symfony projects is available from the browser.

How to contact the any instances Staker in console?

You can do so:

$ /your_path/to_stacker_folder/bin/stacker console

But, it will be much better:

# for bash
$ echo 'export PATH=/your_path/to_stacker_folder/bin:$PATH' >> ~/.bashrc && source ~/.bashrc 
# for ~/.zshrc
$ echo 'export PATH=/your_path/to_stacker_folder/bin:$PATH' >> ~/.zshrc && source ~/.zshrc
# then restart console and run
$ stacker console

Symfony completion

$ stacker console
$ cd to_symfony_folder
$ sf [tab*2] # for sf3 completion OR sf2 for sf2 completion

Laravel5 completion

$ stacker console
$ cd to_symfony_folder
$ la5 [tab*2]

Commands

$ stacker usage # for list available commands
$ stacker console # for enter to console
$ stacker logs <cont_name> -f # for logs stream container
$ stacker build && stacker down && stacker up && stacker ps # for full rebuild

Support project

You can support the project in several ways:

  1. Becoming a sponsor - If you are interested in becoming a sponsor, please visit the Stacker Patreon page
  2. Posting review - You can support the project by posting reviews in their social networks. Send a link to the review and we'll post it here!
  3. Buy a beer - Gratipay User Bountysource Donate

GitHub

https://github.com/Maxlab/stacker
Comments
  • 1. Symlinks don't work on mac

    I'm not sure if it's docker or stacker issue, but if I copy the full Laravel project to ./workspace/test/laravel it works just OK, however, when I create a soft link for it (as suggested in the readme)
    ln -s /your_path/to_your_own_projects ./workspace/test
    I get 404 Not Found error

    Reviewed by vitr at 2017-03-20 12:10
  • 2. DB Connection issue - MySQL ERROR 2002 (HY000): Can't connect to local...

    Hi,

    I'm just trying to connect to stacker_mysql_1 container. I'm using wordpress but I get always the 2002 error.

    My Connection Settings are the following:

    DB_HOST='127.0.0.1' DB_NAME='wpdev' DB_PASSWORD='root' DB_USER='root'

    • I can connect via Sequel Pro to the database via root user - no problem.
    • It also works if I use the IP which I get via docker inspect stacker_mysql_1. But this is a bit annoying since the IP always changes on stacker up/down. Looks like this here '172.18.0.2'

    Oh and btw: I needed to add mysqli extension to the nginx xdebug dockerfile to get wordpress running.

    Regards

    Reviewed by regenrek at 2017-04-23 21:14
  • 3. Many changes

    • fix error sed options(sed -s) for mac
    • add mysqli support for php7xdebug
    • enable file upload for php7xdebug
    • travis-ci update ubuntu image, see https://blog.travis-ci.com/2017-06-21-trusty-updates-2017-Q2-launch
    • update docker install in travis-ci
    Reviewed by naiba at 2017-07-03 03:08
  • 4. Use wp-cli with stacker. mysql_connect(): php_network_getaddresses: getaddrinfo failed: nodename nor servname provided...

    Hi, i think stacker can't resolve the 'mysql' Servername. It tried 127.0.0.1 and also the ip which I get via docker inspect stacker_mysql_1. Doesn't work also.

    How is it possible to resolve this issue?

    
    $ wp migratedb export asdf.sql
    Warning: mysqli_real_connect(): php_network_getaddresses: getaddrinfo failed: nodename nor servname provided, or not known in /Users/regenrek/docker/stacker/workspace/cust/wexltrails3/web/wp/wp-includes/wp-db.php on line 1538
    Warning: mysqli_real_connect(): (HY000/2002): php_network_getaddresses: getaddrinfo failed: nodename nor servname provided, or not known in /Users/regenrek/docker/stacker/workspace/cust/wexltrails3/web/wp/wp-includes/wp-db.php on line 1538
    Deprecated: mysql_connect(): The mysql extension is deprecated and will be removed in the future: use mysqli or PDO instead in /Users/regenrek/docker/stacker/workspace/cust/wexltrails3/web/wp/wp-includes/wp-db.php on line 1568
    Warning: mysql_connect(): php_network_getaddresses: getaddrinfo failed: nodename nor servname provided, or not known in /Users/regenrek/docker/stacker/workspace/cust/wexltrails3/web/wp/wp-includes/wp-db.php on line 1568
    Warning: mysql_connect(): php_network_getaddresses: getaddrinfo failed: nodename nor servname provided, or not known in /Users/regenrek/docker/stacker/workspace/cust/wexltrails3/web/wp/wp-includes/wp-db.php on line 1568
    Error: Fehler beim Aufbau einer Datenbankverbindung. Das bedeutet entweder, dass die Information über den Benutzernamen und das Passwort in deiner `wp-config.php` Datei nicht korrekt ist, oder wir können den Datenbank-Server auf `mysql` nicht erreichen. Es könnte sein, dass der Datenbank-Server deines Hostings ausgefallen ist.
    

    Kindly regards

    Reviewed by regenrek at 2017-05-31 16:38
  • 5. Service 'php7xdebug' failed to build

    In file included from /tmp/pear/temp/intl/php_intl.h:34:0, from /tmp/pear/temp/intl/php_intl.c:25: /tmp/pear/temp/intl/intl_error.h:24:40: fatal error: ext/standard/php_smart_str.h: No such file or directory #include <ext/standard/php_smart_str.h> ^ compilation terminated. Makefile:194: recipe for target 'php_intl.lo' failed make: *** [php_intl.lo] Error 1 ERROR: `make' failed ERROR: Service 'php7xdebug' failed to build: The command '/bin/sh -c apt-get update && ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone && apt-get install -f -y --reinstall locales && locale-gen en_US.UTF-8 && apt-get install -y libbz2-dev && apt-get install -y libfreetype6-dev libjpeg62-turbo-dev libpng12-dev && apt-get install -y libmcrypt-dev && apt-get install -y libpq-dev libsqlite3-dev && apt-get install -y libxslt-dev && apt-get install -y libicu-dev && apt-get install -y zlib1g-dev && apt-get install -y msmtp imagemagick libssl-dev libxml2-dev wget git vim ruby ruby-dev libcurl4-openssl-dev && pecl install apcu && echo "extension=apcu.so" > /usr/local/etc/php/conf.d/apcu.ini && pecl install -o -f redis && rm -rf /tmp/pear && echo "extension=redis.so" > /usr/local/etc/php/conf.d/redis.ini && pecl install intl && docker-php-ext-install intl && pecl install xdebug && echo "zend_extension=$(find /usr/local/lib/php/extensions/ -name xdebug.so)\n" >> /usr/local/etc/php/conf.d/xdebug.ini && echo "xdebug.remote_enable=1" >> /usr/local/etc/php/conf.d/xdebug.ini && echo "xdebug.remote_autostart=0" >> /usr/local/etc/php/conf.d/xdebug.ini && echo "xdebug.remote_connect_back=1" >> /usr/local/etc/php/conf.d/xdebug.ini && docker-php-ext-configure gd --with-freetype-dir=/usr/include/ --with-jpeg-dir=/usr/include/ && docker-php-ext-install gd && docker-php-ext-install bz2 mcrypt pdo_mysql pdo_pgsql pdo_sqlite xsl zip opcache calendar dba pcntl bcmath mbstring xmlrpc ftp shmop && apt-get clean && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*' returned a non-zero code: 1

    Reviewed by bifidokk at 2017-05-18 13:31
  • 6. Уменьшил количество слоёв и размер образа php7xdebug

    • сделал сборку всех зависимостей в одном RUN
    • убрал пересборку нескольких либ, они собирались дважды

    Содержимое образа по расширениям и софту не изменилось, но образ уменьшился с 810MB до 676MB

    Reviewed by miramir at 2017-04-20 08:23
  • 7. Error stacker

    Stacker error on running stacker

    stacker usage sed: illegal option -- s usage: sed script [-Ealn] [-i extension] [file ...] sed [-Ealn] [-i extension] [-e script] ... [-f script_file] ... [file ...] sed: illegal option -- s usage: sed script [-Ealn] [-i extension] [file ...] sed [-Ealn] [-i extension] [-e script] ... [-f script_file] ... [file ...] sed: illegal option -- s usage: sed script [-Ealn] [-i extension] [file ...] sed [-Ealn] [-i extension] [-e script] ... [-f script_file] ... [file ...] Usage stacker [build console down exec logs mysql mysqldump php ps restart rm start stop up]

         Name                      Command                          State    Ports
    
         php7console               docker-php-entrypoint php-fpm    Up       9000/tcp
         stacker_elasticsearch_1   /docker-entrypoint.sh serv ...   Exit 1
         stacker_mailcatcher_1     mailcatcher -f --ip=0.0.0.0      Up       1025/tcp, 1080/tcp
         stacker_mysql_1           docker-entrypoint.sh mysqld      Up       0.0.0.0:3307->3306/tcp
         stacker_pgsql_1           docker-entrypoint.sh postgres    Up       0.0.0.0:5433->5432/tcp
         stacker_php5apache_1      docker-php-entrypoint apac ...   Up       0.0.0.0:444->443/tcp, 0.0.0.0:81->80/tcp
         stacker_php7xdebug_1      docker-php-entrypoint php-fpm    Up       9000/tcp
         stacker_redis_1           docker-entrypoint.sh redis ...   Up       0.0.0.0:6379->6379/tcp
         stacker_web_1             /bin/bash -c envsubst '$SY ...   Up       0.0.0.0:443->433/tcp, 443/tcp, 0.0.0.0:80->80/tcp
    

    I use Mac OS 10.12.3

    Thank you

    Reviewed by SolidRhino at 2017-03-15 23:41
  • 8. ошибка в контейнере nginx

    после запуска сборки наблюдается ошибка nginx: [emerg] unexpected end of file, expecting ";" or "}" in /etc/nginx/sites-enabled/00-default:1

    но в конфигах все в порядке

    Reviewed by wormen at 2016-12-13 06:26
  • 9. Where do I find the error Logs? 502 Bad Gateway

    Hi,

    where do I find the error logs ? Currently I got a 502 Bad Gateway Error with Wordpress + Woocommerce and can't find the logs where the error happens.

    Could you guide me pls?

    Regards

    Reviewed by regenrek at 2017-06-26 08:03
  • 10. readme

    For now is impossible to run project with steps described in readme. (\*.dev > 127.0.0.1 give command .dev not found)

    As i see from video there is extra steps with docker-compose build etc. But its confusing when you just try follow steps in readme and got an error which tells nothing for anyone unexpirienced with docker.

    Maybe it require a little update for someone who just start with docker and want to use this container?

    Reviewed by artemzi at 2017-03-13 18:22
  • 11. docker-php-entrypoint: 9: exec: /bin/zsh: not found

    docker-compose build && docker-compose up -d && docker-compose ps
    ...
    ./bin/dev php -v
    /usr/local/bin/docker-php-entrypoint: 9: exec: /bin/zsh: not found
    
    Reviewed by ilyar at 2017-03-12 01:12
  • 12. Build is ok, can't start

    Problem

    Running docker-compose build && docker-compose up -d && docker-compose ps, I've got the following errors:

    Successfully tagged maxlab/nginx:latest
    Removing maxlab_dnsmasq_1
    Starting php7console ... 
    Starting maxlab_elasticsearch_1          ... error
    Starting maxlab_mailcatcher_1   ... 
    Starting php7console                     ... done
    Starting maxlab_redis_1                  ... 
    Starting mysql                           ... 
    Starting maxlab_pgsql_1                  ... 
    Starting maxlab_redis_1                  ... error
    Starting maxlab_mailcatcher_1            ... done
    Recreating 881a14f4c282_maxlab_dnsmasq_1 ... error
    
    ERROR: for maxlab_redis_1  Cannot start service redis: driver failed programming external connectivity on endpoint maxlab_redis_1 (022d3a90c941b4dae4fb615bc42d7f48965b9476e55f4e21b141a462e09d96aa): Bind for 0.0.0.0:6379 failed: port is already allocated
    
    ERROR: for 881a14f4c282_maxlab_dnsmasq_1  Cannot start service dnsmasq: driver failed programming external connectivity on endpoint maxlab_Starting mysql                           ... done
    Starting maxlab_pgsql_1                  ... done
    
    ERROR: for elasticsearch  Cannot start service elasticsearch: driver failed programming external connectivity on endpoint maxlab_elasticsearch_1 (c09cb5dea79585922466cb3a07dbd3b3fefc4daf4524e94e09d92dd4022e993e): Bind for 0.0.0.0:9200 failed: port is already allocated
    
    ERROR: for redis  Cannot start service redis: driver failed programming external connectivity on endpoint maxlab_redis_1 (022d3a90c941b4dae4fb615bc42d7f48965b9476e55f4e21b141a462e09d96aa): Bind for 0.0.0.0:6379 failed: port is already allocated
    
    ERROR: for dnsmasq  Cannot start service dnsmasq: driver failed programming external connectivity on endpoint maxlab_dnsmasq_1 (06afca8b7bc1c844fb8efdbdfc1ee69667bfe8ebbad753c63f2ff91d8e49f4cd): Error starting userland proxy: listen tcp 0.0.0.0:53: bind: address already in use
    ERROR: Encountered errors while bringing up the project.
    

    Reason

    My guess is that php7console and php7xdebug are conflicting because of having the same dependencies. I guess, they should share them somehow - not redefining separate docker-dependencies.

    Reviewed by PatchRanger at 2018-07-15 13:55
  • 13. Установка Stacker

    Делаю всё по инструкции, но при выполнении docker-compose build && docker-compose up -d && docker-compose ps получаю ошибку

    Step 47/58 : RUN composer global require "bamarni/symfony-console-autocomplete"
     ---> Running in d9f82439013c
    Changed current directory to /home/composer/.composer
    Using version ^1.2 for bamarni/symfony-console-autocomplete
    ./composer.json has been updated
    Loading composer repositories with package information
    Updating dependencies (including require-dev)
    Your requirements could not be resolved to an installable set of packages.
    
      Problem 1
        - Installation request for bamarni/symfony-console-autocomplete ^1.2 -> satisfiable by bamarni/symfony-console-autocomplete[v1.2.0].
        - Conclusion: remove symfony/console v4.0.6
        - Conclusion: don't install symfony/console v4.0.6
        - bamarni/symfony-console-autocomplete v1.2.0 requires symfony/console ^2.5|3.* -> satisfiable by symfony/console[v2.5.0, v2.5.1, v2.5.10, v2.5.11, v2.5.12, v2.5.2, v2.5.3, v2.5.4, v2.5.5, v2.5.6, v2.5.7, v2.5.8, v2.5.9, v2.6.0, v2.6.1, v2.6.10, v2.6.11, v2.6.12, v2.6.13, v2.6.2, v2.6.3, v2.6.4, v2.6.5, v2.6.6, v2.6.7, v2.6.8, v2.6.9, v2.7.0, v2.7.1, v2.7.10, v2.7.11, v2.7.12, v2.7.13, v2.7.14, v2.7.15, v2.7.16, v2.7.17, v2.7.18, v2.7.19, v2.7.2, v2.7.20, v2.7.21, v2.7.22, v2.7.23, v2.7.24, v2.7.25, v2.7.26, v2.7.27, v2.7.28, v2.7.29, v2.7.3, v2.7.30, v2.7.31, v2.7.32, v2.7.33, v2.7.34, v2.7.35, v2.7.36, v2.7.37, v2.7.38, v2.7.39, v2.7.4, v2.7.40, v2.7.41, v2.7.42, v2.7.43, v2.7.5, v2.7.6, v2.7.7, v2.7.8, v2.7.9, v2.8.0, v2.8.1, v2.8.10, v2.8.11, v2.8.12, v2.8.13, v2.8.14, v2.8.15, v2.8.16, v2.8.17, v2.8.18, v2.8.19, v2.8.2, v2.8.20, v2.8.21, v2.8.22, v2.8.23, v2.8.24, v2.8.25, v2.8.26, v2.8.27, v2.8.28, v2.8.29, v2.8.3, v2.8.30, v2.8.31, v2.8.32, v2.8.33, v2.8.34, v2.8.35, v2.8.36, v2.8.4, v2.8.5, v2.8.6, v2.8.7, v2.8.8, v2.8.9, v3.0.0, v3.0.1, v3.0.2, v3.0.3, v3.0.4, v3.0.5, v3.0.6, v3.0.7, v3.0.8, v3.0.9, v3.1.0, v3.1.1, v3.1.10, v3.1.2, v3.1.3, v3.1.4, v3.1.5, v3.1.6, v3.1.7, v3.1.8, v3.1.9, v3.2.0, v3.2.1, v3.2.10, v3.2.11, v3.2.12, v3.2.13, v3.2.14, v3.2.2, v3.2.3, v3.2.4, v3.2.5, v3.2.6, v3.2.7, v3.2.8, v3.2.9, v3.3.0, v3.3.1, v3.3.10, v3.3.11, v3.3.12, v3.3.13, v3.3.14, v3.3.15, v3.3.16, v3.3.2, v3.3.3, v3.3.4, v3.3.5, v3.3.6, v3.3.7, v3.3.8, v3.3.9, v3.4.0, v3.4.1, v3.4.2, v3.4.3, v3.4.4, v3.4.5, v3.4.6].
        - Can only install one of: symfony/console[v3.0.0, v4.0.6].
        - Can only install one of: symfony/console[v3.0.1, v4.0.6].
        - Can only install one of: symfony/console[v3.0.2, v4.0.6].
        - Can only install one of: symfony/console[v3.0.3, v4.0.6].
        - Can only install one of: symfony/console[v3.0.4, v4.0.6].
        - Can only install one of: symfony/console[v3.0.5, v4.0.6].
        - Can only install one of: symfony/console[v3.0.6, v4.0.6].
        - Can only install one of: symfony/console[v3.0.7, v4.0.6].
        - Can only install one of: symfony/console[v3.0.8, v4.0.6].
        - Can only install one of: symfony/console[v3.0.9, v4.0.6].
        - Can only install one of: symfony/console[v3.1.0, v4.0.6].
        - Can only install one of: symfony/console[v3.1.1, v4.0.6].
        - Can only install one of: symfony/console[v3.1.10, v4.0.6].
        - Can only install one of: symfony/console[v3.1.2, v4.0.6].
        - Can only install one of: symfony/console[v3.1.3, v4.0.6].
        - Can only install one of: symfony/console[v3.1.4, v4.0.6].
        - Can only install one of: symfony/console[v3.1.5, v4.0.6].
        - Can only install one of: symfony/console[v3.1.6, v4.0.6].
        - Can only install one of: symfony/console[v3.1.7, v4.0.6].
        - Can only install one of: symfony/console[v3.1.8, v4.0.6].
        - Can only install one of: symfony/console[v3.1.9, v4.0.6].
        - Can only install one of: symfony/console[v3.2.0, v4.0.6].
        - Can only install one of: symfony/console[v3.2.1, v4.0.6].
        - Can only install one of: symfony/console[v3.2.10, v4.0.6].
        - Can only install one of: symfony/console[v3.2.11, v4.0.6].
        - Can only install one of: symfony/console[v3.2.12, v4.0.6].
        - Can only install one of: symfony/console[v3.2.13, v4.0.6].
        - Can only install one of: symfony/console[v3.2.14, v4.0.6].
        - Can only install one of: symfony/console[v3.2.2, v4.0.6].
        - Can only install one of: symfony/console[v3.2.3, v4.0.6].
        - Can only install one of: symfony/console[v3.2.4, v4.0.6].
        - Can only install one of: symfony/console[v3.2.5, v4.0.6].
        - Can only install one of: symfony/console[v3.2.6, v4.0.6].
        - Can only install one of: symfony/console[v3.2.7, v4.0.6].
        - Can only install one of: symfony/console[v3.2.8, v4.0.6].
        - Can only install one of: symfony/console[v3.2.9, v4.0.6].
        - Can only install one of: symfony/console[v3.3.0, v4.0.6].
        - Can only install one of: symfony/console[v3.3.1, v4.0.6].
        - Can only install one of: symfony/console[v3.3.10, v4.0.6].
        - Can only install one of: symfony/console[v3.3.11, v4.0.6].
        - Can only install one of: symfony/console[v3.3.12, v4.0.6].
        - Can only install one of: symfony/console[v3.3.13, v4.0.6].
        - Can only install one of: symfony/console[v3.3.14, v4.0.6].
        - Can only install one of: symfony/console[v3.3.15, v4.0.6].
        - Can only install one of: symfony/console[v3.3.16, v4.0.6].
        - Can only install one of: symfony/console[v3.3.2, v4.0.6].
        - Can only install one of: symfony/console[v3.3.3, v4.0.6].
        - Can only install one of: symfony/console[v3.3.4, v4.0.6].
        - Can only install one of: symfony/console[v3.3.5, v4.0.6].
        - Can only install one of: symfony/console[v3.3.6, v4.0.6].
        - Can only install one of: symfony/console[v3.3.7, v4.0.6].
        - Can only install one of: symfony/console[v3.3.8, v4.0.6].
        - Can only install one of: symfony/console[v3.3.9, v4.0.6].
        - Can only install one of: symfony/console[v3.4.0, v4.0.6].
        - Can only install one of: symfony/console[v3.4.1, v4.0.6].
        - Can only install one of: symfony/console[v3.4.2, v4.0.6].
        - Can only install one of: symfony/console[v3.4.3, v4.0.6].
        - Can only install one of: symfony/console[v3.4.4, v4.0.6].
        - Can only install one of: symfony/console[v3.4.5, v4.0.6].
        - Can only install one of: symfony/console[v3.4.6, v4.0.6].
        - Can only install one of: symfony/console[v2.5.0, v4.0.6].
        - Can only install one of: symfony/console[v2.5.1, v4.0.6].
        - Can only install one of: symfony/console[v2.5.10, v4.0.6].
        - Can only install one of: symfony/console[v2.5.11, v4.0.6].
        - Can only install one of: symfony/console[v2.5.12, v4.0.6].
        - Can only install one of: symfony/console[v2.5.2, v4.0.6].
        - Can only install one of: symfony/console[v2.5.3, v4.0.6].
        - Can only install one of: symfony/console[v2.5.4, v4.0.6].
        - Can only install one of: symfony/console[v2.5.5, v4.0.6].
        - Can only install one of: symfony/console[v2.5.6, v4.0.6].
        - Can only install one of: symfony/console[v2.5.7, v4.0.6].
        - Can only install one of: symfony/console[v2.5.8, v4.0.6].
        - Can only install one of: symfony/console[v2.5.9, v4.0.6].
        - Can only install one of: symfony/console[v2.6.0, v4.0.6].
        - Can only install one of: symfony/console[v2.6.1, v4.0.6].
        - Can only install one of: symfony/console[v2.6.10, v4.0.6].
        - Can only install one of: symfony/console[v2.6.11, v4.0.6].
        - Can only install one of: symfony/console[v2.6.12, v4.0.6].
        - Can only install one of: symfony/console[v2.6.13, v4.0.6].
        - Can only install one of: symfony/console[v2.6.2, v4.0.6].
        - Can only install one of: symfony/console[v2.6.3, v4.0.6].
        - Can only install one of: symfony/console[v2.6.4, v4.0.6].
        - Can only install one of: symfony/console[v2.6.5, v4.0.6].
        - Can only install one of: symfony/console[v2.6.6, v4.0.6].
        - Can only install one of: symfony/console[v2.6.7, v4.0.6].
        - Can only install one of: symfony/console[v2.6.8, v4.0.6].
        - Can only install one of: symfony/console[v2.6.9, v4.0.6].
        - Can only install one of: symfony/console[v2.7.0, v4.0.6].
        - Can only install one of: symfony/console[v2.7.1, v4.0.6].
        - Can only install one of: symfony/console[v2.7.10, v4.0.6].
        - Can only install one of: symfony/console[v2.7.11, v4.0.6].
        - Can only install one of: symfony/console[v2.7.12, v4.0.6].
        - Can only install one of: symfony/console[v2.7.13, v4.0.6].
        - Can only install one of: symfony/console[v2.7.14, v4.0.6].
        - Can only install one of: symfony/console[v2.7.15, v4.0.6].
        - Can only install one of: symfony/console[v2.7.16, v4.0.6].
        - Can only install one of: symfony/console[v2.7.17, v4.0.6].
        - Can only install one of: symfony/console[v2.7.18, v4.0.6].
        - Can only install one of: symfony/console[v2.7.19, v4.0.6].
        - Can only install one of: symfony/console[v2.7.2, v4.0.6].
        - Can only install one of: symfony/console[v2.7.20, v4.0.6].
        - Can only install one of: symfony/console[v2.7.21, v4.0.6].
        - Can only install one of: symfony/console[v2.7.22, v4.0.6].
        - Can only install one of: symfony/console[v2.7.23, v4.0.6].
        - Can only install one of: symfony/console[v2.7.24, v4.0.6].
        - Can only install one of: symfony/console[v2.7.25, v4.0.6].
        - Can only install one of: symfony/console[v2.7.26, v4.0.6].
        - Can only install one of: symfony/console[v2.7.27, v4.0.6].
        - Can only install one of: symfony/console[v2.7.28, v4.0.6].
        - Can only install one of: symfony/console[v2.7.29, v4.0.6].
        - Can only install one of: symfony/console[v2.7.3, v4.0.6].
        - Can only install one of: symfony/console[v2.7.30, v4.0.6].
        - Can only install one of: symfony/console[v2.7.31, v4.0.6].
        - Can only install one of: symfony/console[v2.7.32, v4.0.6].
        - Can only install one of: symfony/console[v2.7.33, v4.0.6].
        - Can only install one of: symfony/console[v2.7.34, v4.0.6].
        - Can only install one of: symfony/console[v2.7.35, v4.0.6].
        - Can only install one of: symfony/console[v2.7.36, v4.0.6].
        - Can only install one of: symfony/console[v2.7.37, v4.0.6].
        - Can only install one of: symfony/console[v2.7.38, v4.0.6].
        - Can only install one of: symfony/console[v2.7.39, v4.0.6].
        - Can only install one of: symfony/console[v2.7.4, v4.0.6].
        - Can only install one of: symfony/console[v2.7.40, v4.0.6].
        - Can only install one of: symfony/console[v2.7.41, v4.0.6].
        - Can only install one of: symfony/console[v2.7.42, v4.0.6].
        - Can only install one of: symfony/console[v2.7.43, v4.0.6].
        - Can only install one of: symfony/console[v2.7.5, v4.0.6].
        - Can only install one of: symfony/console[v2.7.6, v4.0.6].
        - Can only install one of: symfony/console[v2.7.7, v4.0.6].
        - Can only install one of: symfony/console[v2.7.8, v4.0.6].
        - Can only install one of: symfony/console[v2.7.9, v4.0.6].
        - Can only install one of: symfony/console[v2.8.0, v4.0.6].
        - Can only install one of: symfony/console[v2.8.1, v4.0.6].
        - Can only install one of: symfony/console[v2.8.10, v4.0.6].
        - Can only install one of: symfony/console[v2.8.11, v4.0.6].
        - Can only install one of: symfony/console[v2.8.12, v4.0.6].
        - Can only install one of: symfony/console[v2.8.13, v4.0.6].
        - Can only install one of: symfony/console[v2.8.14, v4.0.6].
        - Can only install one of: symfony/console[v2.8.15, v4.0.6].
        - Can only install one of: symfony/console[v2.8.16, v4.0.6].
        - Can only install one of: symfony/console[v2.8.17, v4.0.6].
        - Can only install one of: symfony/console[v2.8.18, v4.0.6].
        - Can only install one of: symfony/console[v2.8.19, v4.0.6].
        - Can only install one of: symfony/console[v2.8.2, v4.0.6].
        - Can only install one of: symfony/console[v2.8.20, v4.0.6].
        - Can only install one of: symfony/console[v2.8.21, v4.0.6].
        - Can only install one of: symfony/console[v2.8.22, v4.0.6].
        - Can only install one of: symfony/console[v2.8.23, v4.0.6].
        - Can only install one of: symfony/console[v2.8.24, v4.0.6].
        - Can only install one of: symfony/console[v2.8.25, v4.0.6].
        - Can only install one of: symfony/console[v2.8.26, v4.0.6].
        - Can only install one of: symfony/console[v2.8.27, v4.0.6].
        - Can only install one of: symfony/console[v2.8.28, v4.0.6].
        - Can only install one of: symfony/console[v2.8.29, v4.0.6].
        - Can only install one of: symfony/console[v2.8.3, v4.0.6].
        - Can only install one of: symfony/console[v2.8.30, v4.0.6].
        - Can only install one of: symfony/console[v2.8.31, v4.0.6].
        - Can only install one of: symfony/console[v2.8.32, v4.0.6].
        - Can only install one of: symfony/console[v2.8.33, v4.0.6].
        - Can only install one of: symfony/console[v2.8.34, v4.0.6].
        - Can only install one of: symfony/console[v2.8.35, v4.0.6].
        - Can only install one of: symfony/console[v2.8.36, v4.0.6].
        - Can only install one of: symfony/console[v2.8.4, v4.0.6].
        - Can only install one of: symfony/console[v2.8.5, v4.0.6].
        - Can only install one of: symfony/console[v2.8.6, v4.0.6].
        - Can only install one of: symfony/console[v2.8.7, v4.0.6].
        - Can only install one of: symfony/console[v2.8.8, v4.0.6].
        - Can only install one of: symfony/console[v2.8.9, v4.0.6].
        - Installation request for symfony/console (locked at v4.0.6) -> satisfiable by symfony/console[v4.0.6].
    
    
    Installation failed, reverting ./composer.json to its original content.
    ERROR: Service 'php7console' failed to build: The command '/bin/sh -c composer global require "bamarni/symfony-console-autocomplete"' returned a non-zero code: 2
    
    Reviewed by ivansal at 2018-03-19 13:23
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 26, 2022
Full PHP development environment for Docker.
Full PHP development environment for Docker.

Full PHP development environment based on Docker. Use Docker First - Learn About It Later! Join Us Awesome People Laradock is an MIT-licensed open sou

May 23, 2022
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 24, 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
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
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
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
🎲Neard is a portable WAMP software stack involving useful binaries, tools and applications for your web development.
🎲Neard is a portable WAMP software stack involving useful binaries, tools and applications for your web development.

About Neard is a portable WAMP software stack involving useful binaries, tools and applications for your web development. It also offers several versi

May 11, 2022
Vagrant is a tool for building and distributing development environments.

Vagrant Website: https://www.vagrantup.com/ Source: https://github.com/hashicorp/vagrant HashiCorp Discuss: https://discuss.hashicorp.com/c/vagrant/24

May 20, 2022
A development tool for all your projects that is fast, easy, powerful and liberating
A development tool for all your projects that is fast, easy, powerful and liberating

Lando A Liberating Dev Tool For All Your Projects The local development and DevOps tool trusted by professional developers across the galaxy. Free you

May 25, 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
Protobox is vagrant web GUI

Protobox Protobox is a layer on top of vagrant and a web GUI to setup virtual machines for web development. A single YAML document controls everything

May 4, 2022
Live Coding Project #1 | Création d'un annuaire téléphonique web (CRUD) ☎️📚

Live Coding #1 - Annuaire Téléphonique Ceci est un petit projet réalisé par les développeurs de Galsen Dev. Contribuer Si vous souhaitez une contribut

Jan 31, 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
Vagrant-boxes - Setup scripts and docs for my vagrant boxes, primarily aimed at Web/SilverStripe developement

zauberfisch's vagrant boxes zauberfisch/silverstripe-debian64 Debian 10 x86_64 LAMP Box with many extra features, pre-configured for SilverStripe Sour

Jan 24, 2020
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 26, 2022
🚀WordPress Plugin Boilerplate using modern web techs like TypeScript, SASS, and so on... on top of a local development environment with Docker and predefined GitLab CI for continous integration and deployment!
🚀WordPress Plugin Boilerplate using modern web techs like TypeScript, SASS, and so on... on top of a local development environment with Docker and predefined GitLab CI for continous integration and deployment!

WP React Starter: WordPress React Boilerplate DEPRECATED: WP React Starter was a "research project" of devowl.io for the development of our WordPress

May 22, 2022
A dockerized magento 2 community environment ready for development or production.

Painless Magento 2 & 1 A dockerized magento 2 community environment ready for development or production. It supports magento 1.9.x for development Ins

Apr 23, 2022
A premade, easy to use local development setup to be used for authoring Laravel applications

Laravel Drydock This project is a premade, easy to use local development setup to be used for authoring Laravel applications. The deliverables of this

Feb 21, 2020
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 26, 2022