Docker containers: varnish, nginx, php, elasticsearch, mariadb, redis, rabbitmq, nodejs, mailhog, watchtower
git clone https://github.com/aliuosio/mage2.docker.git
Fresh Installation (latest magento 2 version) or your running project when located in your filesystem
cd mage2.docker
chmod +x bin/*.sh
bin/install.sh
with
bin/install config
you can use prompts to configure install
use .env to change values after installation and activate on restart of containers
https://localhost/admin
User: mage2_admin
Password: mage2_admin123#T
https://localhost
OSX: on first run very slow due to docker-sync update of local shop files volume in the background.
See .docker-sync/daemon.log
for progress
bin/start.sh
chmod +x sample-data.sh
bin/sample-data.sh
docker exec -it mage2_php bash
** Configured automatically with install.sh **
In Magento 2 Backend stores
-Configuration
-Catalog
-Catalog
-Tab: Catalog Search
Search Engine: Elasticsearch 7.0+
Elasticsearch Server Hostname: elasticsearch
You MUST set sysctl -w vm.max_map_count=262144
on the docker host system or the elasticsearch container goes down
On OSX see link: https://stackoverflow.com/questions/41192680/update-max-map-count-for-elasticsearch-docker-container-mac-host?rq=1
Mail Client
https://localhost:8025
In Magento 2 Backend `stores` -`Configuration` -`Advanced` -`System`
-`Tab: SMTP Configuration and Settings (Gmail/Google/AWS/Office360 etc)`
Authentication method: NONE
SSL type: None
SMTP Host: mailhog
SMTP Port: 1025
- Fresh Install or use existing magento 2 project on your file system using
bin/install.sh config
- alternative OSX docker-compose file using docker-sync for better performance
- set project directory to where ever you want (as configurable option in .env)
- Mailhog container
- Extra Composer Packages with Magento 2 Installer
- magepal/magento2-gmailsmtpapp SMTP Module
- yireo/magento2-webp2 WebP Converter
- mage2tv/magento-cache-clean Cache Cleaner
- Xdebug as configurable option (xdebug.idekey=docker)
- add domain to
etc/hosts
option for interactive config inbin/install.sh
- fix SSL (nginx and node)n
- create backup of
.env
afterbin/install.sh
usage - refactor docker-compose.osx.yml
- Exchange
docker-sync
withMutagen
- reduce the number of volumes
- Docker letsencrypt certification Container
- add downloader script to clone and install App
- make Webserver(Apache or Nginx) configurable in
bin/install.sh
anddocker-entrypoint.sh
- rename config_blueprints to config and move config files to .docker/config
- simplify letsencrypt certificate embedding in nginx container
- Nginx Header Config passes at https://securityheaders.com/
set permissons between host node containerset german locale, curreny, timezonefix redis socket supportadd PHP 8 to Dockerfileadd magento 2 cronjobadd DB Import progress baradd Healtchecks to docker-composemodify installer to use config flag instead of flag kickitbuild own ElasticSearch Image with required Plugins for Magento 2fix OSX Installerchange PHP container OS from debian to alpineset Time and Zone according to hostmap local user to php container www-data userthanks to fixuidadd DB Import functions and logsmodify for running Magento 2 projectexchange MySQL with MariaDB as soon as Magento 2 Installer fixes Mariadb container again
If you encounter any problems or bugs, please create an issue on GitHub.
Please Contribute by creating a fork of this repository.
Follow the instructions here: https://help.github.com/articles/fork-a-repo/