docker-compose.yml 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172
  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. ext1:
  53. name: ${CONTAINER_NAME}_ext1
  54. driver: local
  55. driver_opts:
  56. type: volume
  57. o: 'bind'
  58. device: "${EXT1_ROOT}"
  59. vol1:
  60. name: ${CONTAINER_NAME}_vol1
  61. driver: local
  62. driver_opts:
  63. type: volume
  64. o: 'bind'
  65. device: "${VOL1_ROOT}"
  66. services:
  67. db:
  68. image: mariadb:11.4.2
  69. container_name: ${CONTAINER_NAME}_db
  70. command: --transaction-isolation=READ-COMMITTED --binlog-format=ROW
  71. restart: "no"
  72. volumes:
  73. - db:/var/lib/mysql
  74. environment:
  75. - MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD}
  76. - MYSQL_PASSWORD=${MYSQL_PASSWORD}
  77. - MYSQL_DATABASE=nextcloud
  78. - MYSQL_USER=nextcloud
  79. redis:
  80. image: redis:7.2.4-alpine
  81. container_name: ${CONTAINER_NAME}_redis
  82. restart: "no"
  83. volumes:
  84. - redis:/var/lib/redis
  85. app:
  86. image: nextcloud:30.0.4-apache
  87. container_name: ${CONTAINER_NAME}
  88. ports:
  89. - 1234:80
  90. links:
  91. - db
  92. - redis
  93. volumes:
  94. - files:/var/www/html
  95. - ext1:/var/www/data/ext1
  96. - vol1:/var/www/data/vol1
  97. restart: "no"
  98. environment:
  99. - REDIS_HOST=redis
  100. - REDIS_PASSWORD=
  101. - PHP_MEMORY_LIMIT=1G
  102. - PHP_UPLOAD_LIMIT=12G
  103. cron:
  104. image: nextcloud:30.0.4-apache
  105. container_name: ${CONTAINER_NAME}_cron
  106. links:
  107. - db
  108. - redis
  109. volumes:
  110. - files:/var/www/html
  111. restart: "no"
  112. entrypoint: /cron.sh
  113. es01:
  114. image: docker.elastic.co/elasticsearch/elasticsearch:7.17.23
  115. container_name: ${CONTAINER_NAME}_es
  116. environment:
  117. - node.name=es01
  118. - discovery.type=single-node
  119. ulimits:
  120. memlock:
  121. soft: -1
  122. hard: -1
  123. volumes:
  124. - es_index:/usr/share/elasticsearch/data
  125. - es_root:/usr/share/elasticsearch
  126. restart: "no"
  127. ports:
  128. - 9200:9200
  129. av:
  130. container_name: ${CONTAINER_NAME}_clamav
  131. image: mkodockx/docker-clamav:alpine
  132. restart: "no"
  133. ports:
  134. - 3310:3310
  135. volumes:
  136. - clamav:/etc/clamav
  137. onlyoffice:
  138. container_name: ${CONTAINER_NAME}_onlyoffice
  139. image: onlyoffice/documentserver:latest
  140. restart: "no"
  141. environment:
  142. - JWT_SECRET=secret
  143. ports:
  144. - 9980:80
  145. volumes:
  146. - oo_data:/var/www/onlyoffice/Data
  147. - oo_data:/var/log/onlyoffice