docker-compose.yml 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195
  1. version: '3'
  2. volumes:
  3. files_player1:
  4. name: ${CONTAINER_NAME}_files_player1
  5. driver: local
  6. driver_opts:
  7. type: volume
  8. o: 'bind'
  9. device: "/media/orbitzs/nextcloud_files/apex/player1"
  10. files:
  11. name: ${CONTAINER_NAME}_files
  12. driver: local
  13. driver_opts:
  14. type: volume
  15. o: 'bind'
  16. device: "${DATA_VOLUME_ROOT}/data"
  17. db:
  18. name: ${CONTAINER_NAME}_db
  19. driver: local
  20. db_r1:
  21. name: ${CONTAINER_NAME}_db_r1
  22. driver: local
  23. redis:
  24. name: ${CONTAINER_NAME}_redis
  25. driver: local
  26. es_index:
  27. name: ${CONTAINER_NAME}_es_index
  28. driver: local
  29. es_root:
  30. name: ${CONTAINER_NAME}_es_root
  31. driver: local
  32. oo_data:
  33. name: ${CONTAINER_NAME}_oo_data
  34. driver: local
  35. clamav:
  36. name: ${CONTAINER_NAME}_clamav
  37. driver: local
  38. duplicati_backups:
  39. name: ${CONTAINER_NAME}_duplicati
  40. driver: local
  41. driver_opts:
  42. type: volume
  43. o: 'bind'
  44. device: "${DUPLICAT_BACKUP_LOC}"
  45. services:
  46. db:
  47. image: mariadb:11.4.2
  48. container_name: ${CONTAINER_NAME}_db
  49. command: --transaction-isolation=READ-COMMITTED --binlog-format=ROW
  50. restart: "no"
  51. volumes:
  52. - db:/var/lib/mysql
  53. # - db_r1:/var/lib/mysql
  54. environment:
  55. - MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD}
  56. - MYSQL_PASSWORD=${MYSQL_PASSWORD}
  57. - MYSQL_DATABASE=nextcloud
  58. - MYSQL_USER=nextcloud
  59. redis:
  60. image: redis:7.2.4-alpine
  61. container_name: ${CONTAINER_NAME}_redis
  62. restart: "no"
  63. volumes:
  64. - redis:/var/lib/redis
  65. app:
  66. # image: nextcloud:30.0.4-apache
  67. image: nextcloud-ffmpeg-image:latest
  68. container_name: ${CONTAINER_NAME}
  69. ports:
  70. - 1234:80
  71. links:
  72. - db
  73. - redis
  74. volumes:
  75. - files:/var/www/html
  76. - files_player1:/var/www/html/data/player1
  77. restart: "no"
  78. environment:
  79. - REDIS_HOST=redis
  80. - REDIS_PASSWORD=
  81. - PHP_MEMORY_LIMIT=1G
  82. - PHP_UPLOAD_LIMIT=12G
  83. devices:
  84. - /dev/dri:/dev/dri # VA-API (omit for NVENC)
  85. cron:
  86. image: nextcloud:30.0.4-apache
  87. container_name: ${CONTAINER_NAME}_cron
  88. links:
  89. - db
  90. - redis
  91. volumes:
  92. - files:/var/www/html
  93. restart: "no"
  94. entrypoint: /cron.sh
  95. es01:
  96. image: docker.elastic.co/elasticsearch/elasticsearch:7.17.23
  97. container_name: ${CONTAINER_NAME}_es
  98. environment:
  99. - node.name=es01
  100. - discovery.type=single-node
  101. ulimits:
  102. memlock:
  103. soft: -1
  104. hard: -1
  105. volumes:
  106. - es_index:/usr/share/elasticsearch/data
  107. - es_root:/usr/share/elasticsearch
  108. restart: "no"
  109. ports:
  110. - 9200:9200
  111. av:
  112. container_name: ${CONTAINER_NAME}_clamav
  113. image: mkodockx/docker-clamav:alpine
  114. restart: "no"
  115. ports:
  116. - 3310:3310
  117. volumes:
  118. - clamav:/etc/clamav
  119. onlyoffice:
  120. container_name: ${CONTAINER_NAME}_onlyoffice
  121. image: onlyoffice/documentserver:latest
  122. restart: "no"
  123. environment:
  124. - JWT_SECRET=secret
  125. ports:
  126. - 9980:80
  127. volumes:
  128. - oo_data:/var/www/onlyoffice/Data
  129. - oo_data:/var/log/onlyoffice
  130. duplicati:
  131. container_name: ${CONTAINER_NAME}_duplicati
  132. image: duplicati/duplicati:latest
  133. environment:
  134. PUID: 0
  135. PGID: 0
  136. TZ: Asia/Hong_Kong
  137. CLI_ARGS: "" # optional
  138. SETTINGS_ENCRYPTION_KEY: "secret1234"
  139. DUPLICATI__WEBSERVICE_PASSWORD: "123456" #optional
  140. volumes:
  141. - ./duplicati/appdata/config:/config
  142. - duplicati_backups:/backups
  143. - db:/source/db
  144. - redis:/source/redis
  145. - es_index:/source/es_index
  146. - files:/source/data
  147. ports:
  148. - 8200:8200
  149. restart: "no"
  150. go-vod:
  151. container_name: ${CONTAINER_NAME}_govod
  152. image: radialapps/go-vod
  153. restart: "no"
  154. init: true
  155. depends_on:
  156. - app
  157. environment:
  158. - NEXTCLOUD_HOST=${NEXTCLOUD_HOST}
  159. # - NEXTCLOUD_ALLOW_INSECURE=1 # (self-signed certs or no HTTPS)
  160. - NVIDIA_VISIBLE_DEVICES=all
  161. devices:
  162. - /dev/dri:/dev/dri # VA-API (omit for NVENC)
  163. volumes:
  164. - files:/var/www/html:ro