docker-compose.yml 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151
  1. version: '3'
  2. volumes:
  3. files:
  4. name: ${CONTAINER_NAME}_files
  5. driver: local
  6. driver_opts:
  7. type: volume
  8. o: 'bind'
  9. device: "${DATA_VOLUME_ROOT}/data"
  10. db:
  11. name: ${CONTAINER_NAME}_db
  12. driver: local
  13. driver_opts:
  14. type: volume
  15. o: 'bind'
  16. device: "${DB_VOLUME_ROOT}"
  17. redis:
  18. name: ${CONTAINER_NAME}_redis
  19. driver: local
  20. driver_opts:
  21. type: volume
  22. o: 'bind'
  23. device: "${REDIS_VOLUME_ROOT}"
  24. es_index:
  25. name: ${CONTAINER_NAME}_es_index
  26. driver: local
  27. driver_opts:
  28. type: volume
  29. o: 'bind'
  30. device: "${ELASTIC_SEARCH_ROOT}"
  31. es_root:
  32. name: ${CONTAINER_NAME}_es_root
  33. driver: local
  34. driver_opts:
  35. type: volume
  36. o: 'bind'
  37. device: "${ELASTIC_SEARCH_ROOT}"
  38. oo_data:
  39. name: ${CONTAINER_NAME}_oo_data
  40. driver: local
  41. driver_opts:
  42. type: volume
  43. o: 'bind'
  44. device: "${OO_VOLUME_ROOT}"
  45. clamav:
  46. name: ${CONTAINER_NAME}_clamav
  47. driver: local
  48. driver_opts:
  49. type: volume
  50. o: 'bind'
  51. device: "${CLAMAV_ROOT}"
  52. services:
  53. db:
  54. image: mariadb:11.4.2
  55. container_name: ${CONTAINER_NAME}_db
  56. command: --transaction-isolation=READ-COMMITTED --binlog-format=ROW
  57. restart: "no"
  58. volumes:
  59. - db:/var/lib/mysql
  60. environment:
  61. - MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD}
  62. - MYSQL_PASSWORD=${MYSQL_PASSWORD}
  63. - MYSQL_DATABASE=nextcloud
  64. - MYSQL_USER=nextcloud
  65. redis:
  66. image: redis:7.2.4-alpine
  67. container_name: ${CONTAINER_NAME}_redis
  68. restart: "no"
  69. volumes:
  70. - redis:/var/lib/redis
  71. app:
  72. image: nextcloud:30.0.4-apache
  73. container_name: ${CONTAINER_NAME}
  74. ports:
  75. - 1234:80
  76. links:
  77. - db
  78. - redis
  79. volumes:
  80. - files:/var/www/html
  81. restart: "no"
  82. environment:
  83. - REDIS_HOST=redis
  84. - REDIS_PASSWORD=
  85. - PHP_MEMORY_LIMIT=1G
  86. - PHP_UPLOAD_LIMIT=12G
  87. cron:
  88. image: nextcloud:30.0.4-apache
  89. container_name: ${CONTAINER_NAME}_cron
  90. links:
  91. - db
  92. - redis
  93. volumes:
  94. - files:/var/www/html
  95. restart: "no"
  96. entrypoint: /cron.sh
  97. es01:
  98. image: docker.elastic.co/elasticsearch/elasticsearch:7.17.23
  99. container_name: ${CONTAINER_NAME}_es
  100. environment:
  101. - node.name=es01
  102. - discovery.type=single-node
  103. ulimits:
  104. memlock:
  105. soft: -1
  106. hard: -1
  107. volumes:
  108. - es_index:/usr/share/elasticsearch/data
  109. - es_root:/usr/share/elasticsearch
  110. restart: "no"
  111. ports:
  112. - 9200:9200
  113. av:
  114. container_name: ${CONTAINER_NAME}_clamav
  115. image: mkodockx/docker-clamav:alpine
  116. restart: "no"
  117. ports:
  118. - 3310:3310
  119. volumes:
  120. - clamav:/etc/clamav
  121. onlyoffice:
  122. container_name: ${CONTAINER_NAME}_onlyoffice
  123. image: onlyoffice/documentserver:latest
  124. restart: "no"
  125. environment:
  126. - JWT_SECRET=secret
  127. ports:
  128. - 9980:80
  129. volumes:
  130. - oo_data:/var/www/onlyoffice/Data
  131. - oo_data:/var/log/onlyoffice