docker-compose.yml 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. # Mark Shust's Docker Configuration for Magento
  2. # (https://github.com/markshust/docker-magento)
  3. #
  4. # Version 39.0.0
  5. version: "3"
  6. services:
  7. app:
  8. image: markoshust/magento-nginx:1.18-4
  9. ports:
  10. - "80:8000"
  11. - "443:8443"
  12. links:
  13. - db
  14. - phpfpm
  15. volumes: &appvolumes
  16. - ~/.composer:/var/www/.composer:cached
  17. - appdata:/var/www/html
  18. - sockdata:/sock
  19. - ssldata:/etc/nginx/certs
  20. phpfpm:
  21. image: markoshust/magento-php:7.4-fpm-7
  22. links:
  23. - db
  24. volumes: *appvolumes
  25. db:
  26. image: mariadb:10.4
  27. command: --max_allowed_packet=64M
  28. ports:
  29. - "3306:3306"
  30. env_file: env/db.env
  31. volumes:
  32. - dbdata:/var/lib/mysql
  33. redis:
  34. image: redis:5.0-alpine
  35. elasticsearch:
  36. image: markoshust/magento-elasticsearch:7.9.3-0
  37. ports:
  38. - "9200:9200"
  39. - "9300:9300"
  40. environment:
  41. - "discovery.type=single-node"
  42. - "ES_JAVA_OPTS=-Xms1g -Xmx1g"
  43. # Avoid test failures due to small disks
  44. # More info at https://github.com/markshust/docker-magento/issues/488
  45. - "cluster.routing.allocation.disk.threshold_enabled=false"
  46. - "index.blocks.read_only_allow_delete"
  47. rabbitmq:
  48. image: rabbitmq:3.8.22-management-alpine
  49. ports:
  50. - "15672:15672"
  51. - "5672:5672"
  52. volumes:
  53. - rabbitmqdata:/var/lib/rabbitmq
  54. ## Disabling cron by default as it uses higher CPU, enable if needed
  55. #cron:
  56. # image: markoshust/magento-php:7.4-fpm-6
  57. # user: root
  58. # command: /usr/local/bin/cronstart
  59. # tty: true
  60. # links:
  61. # - db
  62. # volumes: *appvolumes
  63. volumes:
  64. appdata:
  65. dbdata:
  66. rabbitmqdata:
  67. sockdata:
  68. ssldata: