Home

Awesome

<p align="center"> <img alt="Frameworks a lot - he's one!" src="logo.png"> </p>

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

Video demos (RU)

Requirements

Installation

Get a stacker:

$ composer create-project maxlab/stacker 
# OR
$ git clone git@github.com: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

On the ship

Console

FAQ

Which settings in the configs for my projects?

What external ports are listening images?

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?

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