All Projects → Maxlab → Stacker

Maxlab / Stacker

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

Programming Languages

shell
77523 projects

Projects that are alternatives of or similar to Stacker

Docker Laravel
🐳 Docker Images for Laravel development
Stars: ✭ 101 (-71.63%)
Mutual labels:  mysql, redis, laravel, docker-compose, nginx
Devilbox
A modern Docker LAMP stack and MEAN stack for local development
Stars: ✭ 3,598 (+910.67%)
Mutual labels:  mysql, redis, lamp, docker-compose, nginx
Lnmp
LEMP stack/LAMP stack/LNMP stack installation scripts for CentOS/Redhat Debian and Ubuntu
Stars: ✭ 2,488 (+598.88%)
Mutual labels:  mysql, redis, lamp, nginx
Docker Laravel
🐳 Build a simple laravel development environment with docker-compose.
Stars: ✭ 415 (+16.57%)
Mutual labels:  mysql, laravel, docker-compose, nginx
Docker Lnmp
🐋Docker-compose(Linux,Nginx,MySQL,PHP7,Redis)
Stars: ✭ 244 (-31.46%)
Mutual labels:  mysql, redis, docker-compose, nginx
Kickoff Docker Php
🐳 🐘 🚀 Easily setup a PHP project with Docker
Stars: ✭ 213 (-40.17%)
Mutual labels:  mysql, redis, docker-compose, nginx
Docker Magento Mutagen
Mage2click Docker-based development environment for Magento with mutagen.io sync for files on macOS
Stars: ✭ 64 (-82.02%)
Mutual labels:  redis, xdebug, docker-compose, nginx
Reading
整理阅读过的干货文章, 帖子
Stars: ✭ 318 (-10.67%)
Mutual labels:  mysql, redis, laravel, nginx
Vagrant Php Dev Box
PHP 7 vagrant development box with nginx, php-fpm, MySQL, Symfony, Laravel, ... on Ubuntu 16.04
Stars: ✭ 473 (+32.87%)
Mutual labels:  mysql, laravel, symfony, nginx
Docker Symfony
🐳 A docker multicontainer with NGINX, PHP7-FPM, MySQL and ELK (Elasticsearch Logstash and Kibana)
Stars: ✭ 1,305 (+266.57%)
Mutual labels:  mysql, symfony, docker-compose, nginx
Pilothouse
A command line app for managing a LEMP local development environment based on Docker.
Stars: ✭ 98 (-72.47%)
Mutual labels:  mysql, laravel, xdebug, nginx
Photo Blog
The Photo Blog Application based on Laravel 5 and Vue.js 2 + Prerender
Stars: ✭ 55 (-84.55%)
Mutual labels:  mysql, redis, laravel, nginx
Symfony 4 Docker Env
Docker Environment for Symfony. PHP-FPM, NGINX SSL Proxy, MySQL, LEMP
Stars: ✭ 119 (-66.57%)
Mutual labels:  mysql, xdebug, docker-compose, nginx
Oneinstack
OneinStack - A PHP/JAVA Deployment Tool
Stars: ✭ 1,983 (+457.02%)
Mutual labels:  mysql, redis, lamp, nginx
Ansipress
AnsiPress - Simple L(Linux) E(NGINX) M(MariaDB) P(PHP7) Shared Hosting Setup
Stars: ✭ 184 (-48.31%)
Mutual labels:  mysql, laravel, nginx
Blog
Hi, I am CrazyCodes, and here are all my articles
Stars: ✭ 212 (-40.45%)
Mutual labels:  mysql, laravel, nginx
Seconds Kill
基于 Springboot + Redis + Kafka 的秒杀系统,乐观锁 + 缓存 + 限流 + 异步,TPS 从 500 优化到 3000
Stars: ✭ 180 (-49.44%)
Mutual labels:  mysql, redis, nginx
Dice
前后端分离Blog系统,采用Nuxt、Vue 2.x 和 SpringBoot 全家桶。
Stars: ✭ 222 (-37.64%)
Mutual labels:  mysql, redis, docker-compose
Config
Armbian configuration utility
Stars: ✭ 317 (-10.96%)
Mutual labels:  mysql, lamp, nginx
Lyonblog
基于Java8的SSM+Elasticsearch全文检索的个人博客系统
Stars: ✭ 169 (-52.53%)
Mutual labels:  mysql, redis, nginx

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
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].