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.

130 lines
4.0 KiB

3 years ago
  1. version: '2.3'
  2. services:
  3. nextcloud-db:
  4. image: mariadb
  5. command: --transaction-isolation=READ-COMMITTED --binlog-format=ROW
  6. container_name: nextcloud-db
  7. restart: always
  8. volumes:
  9. - /home/docker/nextcloud/container-db:/var/lib/mysql
  10. environment:
  11. - MYSQL_ROOT_PASSWORD=
  12. - MYSQL_PASSWORD=
  13. - MYSQL_DATABASE=nextcloud
  14. - MYSQL_USER=nextcloud
  15. networks:
  16. - nextcloud
  17. nextcloud:
  18. image: nextcloud:stable-fpm-alpine
  19. restart: on-failure:5
  20. container_name: nextcloud
  21. volumes:
  22. - /home/docker/nextcloud/app:/var/www/html
  23. environment:
  24. - MYSQL_HOST=nextcloud-db
  25. - MYSQL_PASSWORD=
  26. - MYSQL_DATABASE=nextcloud
  27. - MYSQL_USER=nextcloud
  28. - REDIS_HOST=redis
  29. - REDIS_HOST_PASSWORD=
  30. depends_on:
  31. - nextcloud-db
  32. - redis
  33. security_opt:
  34. - no-new-privileges:true
  35. networks:
  36. - nextcloud
  37. nextcloud-cron:
  38. image: nextcloud:stable-fpm-alpine
  39. restart: always
  40. container_name: nextcloud-cron
  41. volumes:
  42. - /home/docker/nextcloud/app:/var/www/html
  43. entrypoint: /cron.sh
  44. depends_on:
  45. - nextcloud-db
  46. - redis
  47. networks:
  48. - nextcloud
  49. nextcloud-web:
  50. build: ./nextcloud-web
  51. restart: on-failure:5
  52. container_name: nextcloud-web
  53. volumes:
  54. - /home/docker/nextcloud/app:/var/www/html
  55. labels:
  56. - traefik.docker.network=proxy
  57. - traefik.enable=true
  58. - traefik.protocol=http
  59. - traefik.port=80
  60. - traefik.http.routers.nextcloud.tls=true
  61. - traefik.http.routers.nextcloud.entrypoints=websecure
  62. - traefik.http.routers.nextcloud.tls.certresolver=myresolver
  63. - traefik.http.routers.nextcloud.rule=Host(`pellets.journalismarena.eu`)
  64. - traefik.http.routers.nextcloud.middlewares=nextcloud,nextcloud_redirect
  65. - traefik.http.middlewares.nextcloud.headers.stsSeconds=155520011
  66. - traefik.http.middlewares.nextcloud.headers.stsIncludeSubdomains=true
  67. - traefik.http.middlewares.nextcloud.headers.stsPreload=true
  68. - traefik.http.middlewares.nextcloud_redirect.redirectregex.regex=/.well-known/(card|cal)dav
  69. - traefik.http.middlewares.nextcloud_redirect.redirectregex.replacement=/remote.php/dav/
  70. depends_on:
  71. - nextcloud
  72. security_opt:
  73. - no-new-privileges:true
  74. mem_limit: 4096M
  75. memswap_limit: 4096M
  76. networks:
  77. - proxy
  78. - nextcloud
  79. redis:
  80. image: redis:alpine
  81. restart: always
  82. container_name: nextcloud-redis
  83. command: redis-server --requirepass ZpP2FwwNeMXW7Fd
  84. networks:
  85. - nextcloud
  86. collabora:
  87. image: collabora/code
  88. container_name: collabora
  89. restart: unless-stopped
  90. mem_limit: 4096m
  91. environment:
  92. - domain=collabora-docs\\.digitalcourage\\.de
  93. - username=admin-user
  94. - password=6MktK8fu9Xx8iKrMu
  95. - extra_params=--o:logging.level=warning --o:ssl.enable=false --o:ssl.termination=true
  96. cap_add:
  97. - MKNOD
  98. networks:
  99. - proxy
  100. labels:
  101. - traefik.docker.network=proxy
  102. - traefik.enable=true
  103. - traefik.protocol=http
  104. - traefik.port=9080
  105. - traefik.http.routers.collabora.tls=true
  106. - traefik.http.routers.collabora.entrypoints=websecure
  107. - traefik.http.routers.collabora.tls.certresolver=myresolver
  108. - traefik.http.routers.collabora.rule=Host(`collabora-docs.digitalcourage.de`)
  109. - traefik.http.routers.collabora.middlewares=collabora
  110. - traefik.http.middlewares.collabora.headers.customRequestHeaders.X-Forwarded-Proto=https
  111. - traefik.http.middlewares.collabora.headers.referrerPolicy=no-referrer
  112. - traefik.http.middlewares.collabora.headers.stsSeconds=31536000
  113. - traefik.http.middlewares.collabora.headers.forceSTSHeader=true
  114. - traefik.http.middlewares.collabora.headers.stsPreload=true
  115. - traefik.http.middlewares.collabora.headers.stsIncludeSubdomains=true
  116. - traefik.http.middlewares.collabora.headers.browserXssFilter=true
  117. networks:
  118. proxy:
  119. external: true
  120. nextcloud:
  121. external: false