docker-compose.yml file
version: '2'
services:
apache:
# build:
# context: .
# dockerfile: build/apache/php-7.4/Dockerfile
image: rifkat/magento-php-apache:7.4
ports:
- "80:80"
- "9001:9000" # xdebug
volumes:
- ./src:/var/www/html
- ~/.composer/cache:/var/www/.composer/cache
- ~/.npm:/var/www/.npm
environment:
XDEBUG_CONFIG: "remote_host=localhost"
PHP_IDE_CONFIG: "serverName=Docker"
# VIRTUAL_HOST: "example.localhost"
depends_on:
- db
links:
- db
networks:
- magento-network
db:
image: mariadb:10.4.13
ports:
- 3300:3306
environment:
- MYSQL_ROOT_PASSWORD=root
- MYSQL_DATABASE=magento
- MYSQL_USER=magento
- MYSQL_PASSWORD=magento
volumes:
- dbdata:/var/lib/mysql
- ./backups:/var/tmp/backups
networks:
- magento-network
redis:
image: redis
ports:
- 6379
networks:
- magento-network
redis-session:
image: redis
ports:
- 6379
networks:
- magento-network
mailhog:
image: mailhog/mailhog
ports:
- 1025:1025
- 8025:8025
networks:
- magento-network
elasticsearch:
build:
context: .
dockerfile: build/elasticsearch/Dockerfile
environment:
- cluster.name=docker-cluster
- bootstrap.memory_lock=true
- ES_JAVA_OPTS=-Xms512m -Xmx512m
- node.name=node-1
- cluster.initial_master_nodes=node-1
ulimits:
memlock:
soft: -1
hard: -1
volumes:
- ./elasticsearchdata:/usr/share/elasticsearch/data
ports:
- 9200:9200
networks:
- magento-network
phpmyadmin:
image: phpmyadmin/phpmyadmin
environment:
- PMA_ARBITRARY=1
links:
- db
ports:
- "2022:80"
networks:
- magento-network
networks:
magento-network:
driver: bridge
volumes:
dbdata:
driver: local