All Projects → ModestCoders → Magento2 Dockergento

ModestCoders / Magento2 Dockergento

Fastest Magento 2 Docker dev environment ever for Mac and Linux

Programming Languages

shell
77523 projects

Projects that are alternatives of or similar to Magento2 Dockergento

Magento 2 Social Login
Magento 2 Social Login extension is designed for quick login to your Magento 2 store without procesing complex register steps
Stars: ✭ 156 (-25.36%)
Mutual labels:  magento2
Docker Compose Development
Clone and `bin/dev up`. Quickly start of developing locally with Nginx, PHP, Blackfire, Percona, Mailhog and Redis. Out of the box support for Magento2 Developer Box
Stars: ✭ 171 (-18.18%)
Mutual labels:  magento2
Twitterx
Keeping Twitter for macOS alive with code injection
Stars: ✭ 187 (-10.53%)
Mutual labels:  macosx
Importexportfree
Improve default Magento 2 Import / Export features - cron jobs, CSV , XML , JSON , Excel , mapping of any format, Google Sheet, data and price modification, improved speed and a lot more!
Stars: ✭ 160 (-23.44%)
Mutual labels:  magento2
Fetchcord
FetchCord grabs your OS info and displays it as Discord Rich Presence
Stars: ✭ 162 (-22.49%)
Mutual labels:  macosx
Ultratabsaver
The open source Tab Manager Extension for Safari.
Stars: ✭ 178 (-14.83%)
Mutual labels:  macosx
Magento react native
🛒 MageCart: E-commerce app for Magento 2.x written in React Native
Stars: ✭ 154 (-26.32%)
Mutual labels:  magento2
Warden
Warden is a CLI utility for orchestrating Docker based developer environments
Stars: ✭ 206 (-1.44%)
Mutual labels:  magento2
Mac Os X App Menu Bar Popup
Mac OS X Application like a menu bar popup message
Stars: ✭ 168 (-19.62%)
Mutual labels:  macosx
Ghostskb
Smart input method switcher like a ghost
Stars: ✭ 186 (-11%)
Mutual labels:  macosx
Macos Downloader
Command line tool for downloading macOS installers and beta updates
Stars: ✭ 162 (-22.49%)
Mutual labels:  macosx
Learning
Learning Shell,Python,Golang,System,Network
Stars: ✭ 161 (-22.97%)
Mutual labels:  macosx
Mage2vuestorefront
Magento to Vue-storefront datapump - synchronizes Products, Categories and Product-to-category links between your Magento2 API and NoSQL database of vue-storefront
Stars: ✭ 183 (-12.44%)
Mutual labels:  magento2
Magento2 Configurator
Magento 2 Configurator
Stars: ✭ 158 (-24.4%)
Mutual labels:  magento2
Brook Web
💻brook程序服务端Web后台管理。✈️通过网页直接管理Brook、ShadowSocks、Socks5服务(Telegram可用)!
Stars: ✭ 196 (-6.22%)
Mutual labels:  macosx
Notetaker
A simple note taking app for macOS and iOS which uses Realm and CloudKit for syncing
Stars: ✭ 156 (-25.36%)
Mutual labels:  macosx
Dotfiles
🐢 💨 Speedup your MacOS setup with this fine tuning settings
Stars: ✭ 174 (-16.75%)
Mutual labels:  macosx
Tccprofile
Creates a TCC profile for new Privacy Payloads in macOS Mojave
Stars: ✭ 208 (-0.48%)
Mutual labels:  macosx
Xdm
Powerfull download accelerator and video downloader
Stars: ✭ 3,226 (+1443.54%)
Mutual labels:  macosx
Magento2 Menu
Provides powerful menu editor to replace category based menus in Magento 2
Stars: ✭ 184 (-11.96%)
Mutual labels:  magento2

Magento 2 Dockergento

Plug and play Magento 2 dev environments with docker. Fastest performance ever on Mac and Linux.

Performance Comparison

Up to 7x faster development experience on Mac compare to standard docker setups.

Dockergento speed comparison

Check out all benchmarks

Learn more about how that is achieved


What is dockergento?

Dockergento is just a bash script ready to use in Linux and Mac to be able to use docker with best native performance.

While performance might no be a problem for Linux, using this tool is the only way you can overcome performance issues on Mac. Dockergento allows you to have different configuration for each system while using the same workflow. So your whole team can work the same way no matter which computer they are using. It just works!

Supported Systems

  • Mac
  • Linux

Video Tutorials

If you do not like reading and prefer watching videos. Check out all video tutorials here:


Installation

You only need 3 things on your local machine: git, docker and dockergento

Install Docker

Follow the installation steps for your system.

Mac
  1. Install Docker on Mac

  2. Configure File Sharing settings for the folder that contains your projects

    File Sharing Configuration

  3. Optionally you can also apply these performance tweaks

Linux
  1. Install docker

  2. Configure permissions

Install dockergento console

  1. Clone this repo

    git clone https://github.com/ModestCoders/magento2-dockergento.git
    
  2. Add dockergento bin into your $PATH

    sudo ln -s $(pwd)/magento2-dockergento/bin/dockergento /usr/local/bin/
    
  3. Open a new terminal tab/window and check that dockergento works

    which dockergento
    dockergento
    

Project Setup

Depending the type of project, you can use one of the following setups:

Dockerize existing project

cd <your_project>
dockergento setup

New project

mkdir <new_project_name> && cd <new_project_name>
dockergento setup
dockergento create-project

Magento 2 github for contribution

Disclaimer: Performance on Mac is slower here due to the huge amount of files in app (~20.000 files)

Workaround to improve performance on Mac
  1. Remove these lines on docker-compose.dev.mac.yml

        - ./app:/var/www/html/app:delegated
        - ./dev:/var/www/html/dev:delegated
        - ./generated:/var/www/html/generated:delegated
        - ./pub:/var/www/html/pub:delegated
        - ./var:/var/www/html/var:delegated
    
  2. Sync app using unison container. Add this in docker-compose.dev.mac.yml

    unison:
      volumes:
        - ./app:/sync/app
    
  3. Mirror not synced folders before executing composer the first time

    dockergento start
    dockergento mirror-host app dev generated pub var
    
  4. If you are editing code in app, you need to start unison watcher to sync files between host and container.

    dockergento watch app/code/Magento/<module_name>
    
git clone https://github.com/magento/magento2.git
cd magento2
dockergento setup

Usage

Start Application

dockergento start
dockergento composer install
sudo vim /etc/hosts
// Add -> 127.0.0.1 <your-domain>

Open http://<your-domain> in the browser 🎉

Workflow

See detailed documentation about development workflow with dockergento


More Documentation

Troubleshooting


ChangeLog

Developers

Donations 🙏

We’ve worked very hard to implement this tool. If you find it useful and want to invite us for a beer, just click on the donation button. Thanks! 🍺

Donate

Resources

This project has been possible thanks to the following resources:

Licence

Copyright

(c) ModestCoders

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].