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.

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