You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

106 lines
2.8 KiB

  1. version: '3.6'
  2. services:
  3. nginx:
  4. image: nginx
  5. restart: always
  6. volumes:
  7. - ${PROJECTS_DIR}:/usr/share/nginx/html
  8. - ./config/nginx/conf.d:/etc/nginx/conf.d
  9. - ./config/nginx/includes.d:/etc/nginx/includes.d
  10. - ./log/nginx:/var/log/nginx
  11. ports:
  12. - "80:80"
  13. php:
  14. build:
  15. context: ./dockerfiles/php-fpm
  16. args:
  17. - INSTALL_REDIS=${INSTALL_REDIS}
  18. - INSTALL_PEAR_MAIL=${INSTALL_PEAR_MAIL}
  19. - PHP_OPT_SHORT_OPEN_TAG=${PHP_OPT_SHORT_OPEN_TAG}
  20. - PHP_OPT_MAX_EXECUTION_TIME=${PHP_OPT_MAX_EXECUTION_TIME}
  21. - PHP_OPT_MEMORY_LIMIT=${PHP_OPT_MEMORY_LIMIT}
  22. - PHP_OPT_POST_MAX_SIZE=${PHP_OPT_POST_MAX_SIZE}
  23. - PHP_OPT_UPLOAD_MAX_FILESIZE=${PHP_OPT_UPLOAD_MAX_FILESIZE}
  24. restart: always
  25. volumes:
  26. - ${PROJECTS_DIR}:/usr/share/nginx/html
  27. - ./data/profiler:/tmp/profiler
  28. workspace:
  29. build:
  30. context: ./dockerfiles/workspace
  31. args:
  32. - CUSTOM_PUID=${WORKSPACE_PUID}
  33. - CUSTOM_PGID=${WORKSPACE_PGID}
  34. - CUSTOM_TZ=${WORKSPACE_TIMEZONE}
  35. - PHP_OPT_SHORT_OPEN_TAG=${PHP_OPT_SHORT_OPEN_TAG}
  36. - PHP_OPT_MAX_EXECUTION_TIME=${WORKSPACE_PHP_OPT_MAX_EXECUTION_TIME}
  37. - PHP_OPT_MEMORY_LIMIT=${WORKSPACE_PHP_OPT_MEMORY_LIMIT}
  38. restart: always
  39. volumes:
  40. - ${PROJECTS_DIR}:/var/www
  41. extra_hosts:
  42. - "dockerhost:${DOCKER_HOST_IP}"
  43. secrets:
  44. - user_ssh_key
  45. - user_known_hosts
  46. - composer_auth
  47. db:
  48. image: mariadb
  49. restart: always
  50. environment:
  51. MYSQL_ROOT_PASSWORD: 123456
  52. ports:
  53. - "3306:3306"
  54. volumes:
  55. - database:/var/lib/mysql
  56. - ./hostfiles:/hostfiles
  57. - ./log/mariadb:/var/log/mariadb
  58. - ./config/mariadb:/etc/mysql/conf.d
  59. pma:
  60. image: phpmyadmin/phpmyadmin
  61. restart: always
  62. environment:
  63. PMA_HOST: db
  64. PMA_USER: root
  65. PMA_PASSWORD: 123456
  66. ports:
  67. - "81:80"
  68. inbucket:
  69. image: inbucket/inbucket
  70. restart: always
  71. ports:
  72. - "2500:2500"
  73. - "82:9000"
  74. redis:
  75. image: redis
  76. restart: always
  77. command: [ "redis-server", "/usr/local/etc/redis/redis.conf" ]
  78. volumes:
  79. - ./config/redis/redis.conf:/usr/local/etc/redis/redis.conf
  80. elastic:
  81. build:
  82. context: ./dockerfiles/elastic
  83. restart: on-failure
  84. environment:
  85. - discovery.type=single-node
  86. - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
  87. ulimits:
  88. memlock:
  89. soft: -1
  90. hard: -1
  91. expose:
  92. - "9200"
  93. - "9300"
  94. minio:
  95. image: minio/minio:RELEASE.2020-06-12T00-06-19Z
  96. restart: always
  97. environment:
  98. MINIO_ACCESS_KEY: ${MINIO_ACCESS_KEY}
  99. MINIO_SECRET_KEY: ${MINIO_SECRET_KEY}
  100. command: server /minio
  101. pm2:
  102. build:
  103. context: ./dockerfiles/pm2
  104. restart: always
  105. expose:
  106. - 3000