Slendy_Milky

docker_compose.yml

Sep 12th, 2024 (edited)
292
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
YAML 3.46 KB | None | 0 0
  1. version: '3'
  2.  
  3. services:
  4.   nc_db:
  5.     image: mariadb:11.3
  6.     networks:
  7.      - nc_internal
  8.     container_name: nc_db
  9.     command: --transaction-isolation=READ-COMMITTED --binlog-format=ROW --innodb-file-per-table=1 --skip-innodb-read-only-compressed
  10.     restart: always
  11.     labels:
  12.      - "com.centurylinklabs.watchtower.enable=false"
  13.     volumes:
  14.      - nc_db_v2:/var/lib/mysql:Z
  15.     env_file:
  16.      - stack.env
  17.  
  18.   nc_redis:
  19.     image: redis:alpine
  20.     networks:
  21.      - nc_internal
  22.     hostname: redis
  23.     container_name: nc_redis
  24.     restart: always
  25.  
  26.   nc_app:
  27.     image: nextcloud:28-fpm-alpine
  28.     networks:
  29.      - nc_internal
  30.     restart: always
  31.     hostname: nc_app
  32.     container_name: nc_app
  33.     volumes:
  34.      - nextcloud_v2:/var/www/html:z
  35.       - /dev/shm/nextcloud/ramdisk:/ramdisk
  36.     env_file:
  37.      - stack.env
  38.     labels:
  39.      - "com.centurylinklabs.watchtower.enable=false"
  40.     depends_on:
  41.      - nc_db
  42.       - nc_redis
  43.  
  44.   nc_web:
  45.     image: nginx:alpine
  46.     hostname: nc_web
  47.     container_name: nc_web
  48.     restart: always
  49.     networks:
  50.      - proxy
  51.       - nc_internal
  52.     volumes:
  53.      - nextcloud_v2:/var/www/html:z,ro
  54.       - /opt/nginx/nginx.conf:/etc/nginx/nginx.conf:ro
  55.       - /dev/shm/nginx:/dev/shm/
  56.     labels:
  57.      - "traefik.enable=true"
  58.       - "traefik.http.routers.nextcloud.rule=Host(`example.com`)"
  59.       - "traefik.http.routers.nextcloud.service=nextcloud"
  60.       - "traefik.http.routers.nextcloud.entrypoints=websecure"
  61.       - "traefik.http.services.nextcloud.loadbalancer.server.port=80"
  62.       - "traefik.http.routers.nextcloud.tls=true"
  63.       - "traefik.http.routers.nextcloud.tls.certresolver=cloudflare"
  64.       - "traefik.http.services.nextcloud.loadbalancer.passhostheader=true"
  65.       - "traefik.http.routers.nextcloud.middlewares=compresstraefik,redirect-to-https,nextcloud-redirectregex1,nextcloud-redirectregex2"
  66.       - "traefik.http.middlewares.compresstraefik.compress=true"
  67.       - "traefik.docker.network=proxy"
  68.       - "traefik.http.middlewares.redirect-to-https.redirectscheme.scheme=https"
  69.       - "traefik.http.middlewares.redirect-to-https.redirectscheme.permanent=true"
  70.       - "traefik.http.routers.redir-to-https.entrypoints=web"
  71.       - "traefik.http.routers.redir-to-https.rule=Host(`example.com`)"
  72.       - "traefik.http.middlewares.nextcloud-redirectregex1.redirectregex.permanent=true"
  73.       - "traefik.http.middlewares.nextcloud-redirectregex1.redirectregex.regex=https?://([^/]*)/.well-known/(card|cal)dav"
  74.       - "traefik.http.middlewares.nextcloud-redirectregex1.redirectregex.replacement=https://$${1}/remote.php/dav/"
  75.       - "traefik.http.middlewares.nextcloud-redirectregex2.redirectregex.permanent=true"
  76.       - "traefik.http.middlewares.nextcloud-redirectregex2.redirectregex.regex=https?://([^/]*)(/.well-known[^#]*)"
  77.       - "traefik.http.middlewares.nextcloud-redirectregex2.redirectregex.replacement=https://$${1}/index.php$${2}"
  78.     depends_on:
  79.      - nc_app
  80.    
  81.   nc_cron:
  82.     image: nextcloud:28-fpm-alpine
  83.     networks:
  84.      - nc_internal
  85.     container_name: nc_cron
  86.     restart: always
  87.     volumes:
  88.      - nextcloud_v2:/var/www/html:z
  89.     entrypoint: /cron.sh
  90.     labels:
  91.      - "com.centurylinklabs.watchtower.enable=false"
  92.     depends_on:
  93.      - nc_db
  94.       - nc_redis
  95.  
  96.  
  97. volumes:
  98.   nc_db_v2:
  99.   nextcloud_v2:
  100. networks:
  101.   proxy:
  102.     external: true
  103.   nc_internal:
  104.     enable_ipv6: true
  105.     ipam:
  106.       config:
  107.         - subnet: 2001:0DB9::/112
Advertisement