PHPackages                             maxlab/stacker - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Caching](/categories/caching)
4. /
5. maxlab/stacker

ActiveShell[Caching](/categories/caching)

maxlab/stacker
==============

Stacker - Symfony docker starter kit for development. Quickly start of developing locally with Nginx, PHP7, Mysql, Pgsql, Mailcatcher and Redis etc.

1.21.7(8y ago)36313024[3 issues](https://github.com/Maxlab/stacker/issues)MITShell

Since Mar 26Pushed 7y ago19 watchersCompare

[ Source](https://github.com/Maxlab/stacker)[ Packagist](https://packagist.org/packages/maxlab/stacker)[ Docs](https://github.com/Maxlab/stacker)[ RSS](/packages/maxlab-stacker/feed)WikiDiscussions master Synced 2mo ago

READMEChangelog (4)DependenciesVersions (23)Used By (0)

[![Frameworks a lot - he's one!](logo.png)](logo.png)

[![Latest Stable Version](https://camo.githubusercontent.com/eb51dd65a14ad91c4ab7e689292646cb492b47af54180c29db1208ea7d7a854f/68747470733a2f2f706f7365722e707567782e6f72672f6d61786c61622f737461636b65722f762f737461626c65)](https://packagist.org/packages/maxlab/stacker)[![Build Status](https://camo.githubusercontent.com/57c62efe71ed71a5ee2fc86c086d3621cf9d177c5898966f79fe010d21b8217d/68747470733a2f2f7472617669732d63692e6f72672f4d61786c61622f737461636b65722e7376673f6272616e63683d6d6173746572)](https://travis-ci.org/Maxlab/stacker)[![License](https://camo.githubusercontent.com/d8c34d4719995196cdc05a67626db9d5e6602b072ba66ce4050b714b4cea86d6/68747470733a2f2f706f7365722e707567782e6f72672f6d61786c61622f737461636b65722f6c6963656e7365)](https://packagist.org/packages/maxlab/stacker)[![Latest Unstable Version](https://camo.githubusercontent.com/2c753815f77a296cbf60fedad48634eec74f21da0a44cb96caf0143c93590682/68747470733a2f2f706f7365722e707567782e6f72672f6d61786c61622f737461636b65722f762f756e737461626c65)](https://packagist.org/packages/maxlab/stacker)

Introduction
------------

[](#introduction)

- [English](https://github.com/Maxlab/stacker)
- [简体中文](https://github.com/Maxlab/stacker/blob/master/README_cn.md)

#### Why stacker?

[](#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](https://youtu.be/42BemUfK5-4)
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](https://youtu.be/N7HpPoNcaA4?list=PLD8VGB8i9TYha8YOd-deV6bX5hZco0ZGy)
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](https://www.youtube.com/playlist?list=PLD8VGB8i9TYha8YOd-deV6bX5hZco0ZGy)
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

[](#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)

[](#video-demos-ru)

- [Presentation](https://youtu.be/qVqzYMczuwM)
- [PhpStorm + Xdebug + Stacker = profit!](https://youtu.be/RYnRamdZJ-Q)
- [Console, Composer, Gulp, Npm, Gem, Bower](https://youtu.be/WBFMs35ucfk)
- [Run Symfony, Laravel and native PHP scripts](https://youtu.be/TONMezpUqkc)

Requirements
------------

[](#requirements)

- Install [Docker](https://docs.docker.com/)
- Install [Docker Compose](https://docs.docker.com/compose/install/) &gt; 1.8.0

Installation
------------

[](#installation)

#### Get a stacker:

[](#get-a-stacker)

```
$ composer create-project maxlab/stacker
# OR
$ git clone git@github.com:Maxlab/stacker.git
```

#### Run in Stacker directory

[](#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

[](#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.

- Then open  in your browser
- [Examples](https://youtu.be/42BemUfK5-4)

#### For SSH

[](#for-ssh)

Copy your ssh keys in the folder workspace

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

#### Move your projects

[](#move-your-projects)

- Add your project in workspace folder `./workspace//` (no need to restart, this will work out of the box)
- Open  in your browser (if you do not have dnsmasq, you have to add your hosts file manually)

On the ship
-----------

[](#on-the-ship)

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

Console
-------

[](#console)

- *ZSH* + [oh-my-zsh](http://ohmyz.sh/)
- 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](http://deployer.org/))

FAQ
---

[](#faq)

#### Which settings in the configs for my projects?

[](#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?

[](#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](/docker-compose.yml) for more

#### Xdebug + PhpStorm configuration

[](#xdebug--phpstorm-configuration)

- Watch [this video](https://youtu.be/RdmcGAAQGfI) (in Russian)

1. Go to Settings -&gt; Languages &amp; Frameworks -&gt; 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?

[](#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?

[](#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

[](#symfony-completion)

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

#### Laravel5 completion

[](#laravel5-completion)

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

Commands
--------

[](#commands)

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

Support project
---------------

[](#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](http://patreon.com/maxlab)
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](https://camo.githubusercontent.com/5765966024170c82aff7c4c025c8992acb9fefeeeec945771cebdbc0c029cee9/68747470733a2f2f696d672e736869656c64732e696f2f67726174697061792f757365722f6d61786c61622e737667)](https://gratipay.com/~maxlab) [![Bountysource](https://camo.githubusercontent.com/0cf7161ffe2a821e4a597aab85cacd3094111b92fbd73d310a80ce681a1012b4/68747470733a2f2f696d672e736869656c64732e696f2f626f756e7479736f757263652f7465616d2f6d61786c6162737461636b65722f61637469766974792e737667)](https://www.bountysource.com/teams/maxlabstacker) [![Donate](https://camo.githubusercontent.com/604e3db9c8751116b3f765aad0353ec7ded655bbe8aaacbc38d8c4a6b784b3ed/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f446f6e6174652d50617950616c2d677265656e2e737667)](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=Q477VJVB9STGS)

###  Health Score

39

—

LowBetter than 86% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity30

Limited adoption so far

Community22

Small or concentrated contributor base

Maturity73

Established project with proven stability

 Bus Factor1

Top contributor holds 93.3% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~4 days

Recently: every ~16 days

Total

21

Last Release

3252d ago

Major Versions

0.6.2 → 1.0.02017-03-26

v0.6.3-stable → 1.0.12017-03-26

### Community

Maintainers

![](https://www.gravatar.com/avatar/d603c413d3e2b3c0a80207cf04a0a43be87a945bcc74ad4c480f814f1518f39a?d=identicon)[maxzn](/maintainers/maxzn)

---

Top Contributors

[![Maxlab](https://avatars.githubusercontent.com/u/1397425?v=4)](https://github.com/Maxlab "Maxlab (209 commits)")[![PatchRanger](https://avatars.githubusercontent.com/u/3889569?v=4)](https://github.com/PatchRanger "PatchRanger (8 commits)")[![miramir](https://avatars.githubusercontent.com/u/686364?v=4)](https://github.com/miramir "miramir (3 commits)")[![ilyar](https://avatars.githubusercontent.com/u/761285?v=4)](https://github.com/ilyar "ilyar (2 commits)")[![lex111](https://avatars.githubusercontent.com/u/4408379?v=4)](https://github.com/lex111 "lex111 (1 commits)")[![zmiulan](https://avatars.githubusercontent.com/u/2788819?v=4)](https://github.com/zmiulan "zmiulan (1 commits)")

---

Tags

dnsmasqdockerdocker-composelamplaravelmailcatchermysqlnginxpgsqlphpphp-containerradredissymfonysymfony3workspacexamppxdebugyii2zshsymfonypostgresqldevelopmentradnginxstarterPHP7kitwildcardslamplocal-server

### Embed Badge

![Health badge](/badges/maxlab-stacker/health.svg)

```
[![Health](https://phpackages.com/badges/maxlab-stacker/health.svg)](https://phpackages.com/packages/maxlab-stacker)
```

###  Alternatives

[symfony-bundles/redis-bundle

Symfony Redis Bundle

271.1M5](/packages/symfony-bundles-redis-bundle)[incenteev/hashed-asset-bundle

Apply an asset version based on a hash of the asset for symfony/asset

25526.7k1](/packages/incenteev-hashed-asset-bundle)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
