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.

101 lines
2.8 KiB

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