Slendy_Milky icon

docker_compose.yml

Slendy_Milky | PRO | 09/12/24 09:24:02 AM UTC (Edited) | 0 ⭐ | 5622 👁️ | Never ⏰ | []
YAML |

3.46 KB

|

None

|

0 👍

/

0 👎

version: '3'
 
services:
  nc_db:
    image: mariadb:11.3
    networks:
      - nc_internal
    container_name: nc_db
    command: --transaction-isolation=READ-COMMITTED --binlog-format=ROW --innodb-file-per-table=1 --skip-innodb-read-only-compressed
    restart: always
    labels:
      - "com.centurylinklabs.watchtower.enable=false"
    volumes:
      - nc_db_v2:/var/lib/mysql:Z
    env_file:
      - stack.env
 
  nc_redis:
    image: redis:alpine
    networks:
      - nc_internal
    hostname: redis
    container_name: nc_redis
    restart: always
 
  nc_app:
    image: nextcloud:28-fpm-alpine
    networks:
      - nc_internal
    restart: always
    hostname: nc_app
    container_name: nc_app
    volumes:
      - nextcloud_v2:/var/www/html:z
      - /dev/shm/nextcloud/ramdisk:/ramdisk
    env_file:
      - stack.env
    labels:
      - "com.centurylinklabs.watchtower.enable=false"
    depends_on:
      - nc_db
      - nc_redis
 
  nc_web:
    image: nginx:alpine
    hostname: nc_web
    container_name: nc_web
    restart: always
    networks:
      - proxy
      - nc_internal
    volumes:
      - nextcloud_v2:/var/www/html:z,ro
      - /opt/nginx/nginx.conf:/etc/nginx/nginx.conf:ro
      - /dev/shm/nginx:/dev/shm/
    labels:
      - "traefik.enable=true"
      - "traefik.http.routers.nextcloud.rule=Host(`example.com`)"
      - "traefik.http.routers.nextcloud.service=nextcloud"
      - "traefik.http.routers.nextcloud.entrypoints=websecure"
      - "traefik.http.services.nextcloud.loadbalancer.server.port=80"
      - "traefik.http.routers.nextcloud.tls=true"
      - "traefik.http.routers.nextcloud.tls.certresolver=cloudflare"
      - "traefik.http.services.nextcloud.loadbalancer.passhostheader=true"
      - "traefik.http.routers.nextcloud.middlewares=compresstraefik,redirect-to-https,nextcloud-redirectregex1,nextcloud-redirectregex2"
      - "traefik.http.middlewares.compresstraefik.compress=true"
      - "traefik.docker.network=proxy"
      - "traefik.http.middlewares.redirect-to-https.redirectscheme.scheme=https"
      - "traefik.http.middlewares.redirect-to-https.redirectscheme.permanent=true"
      - "traefik.http.routers.redir-to-https.entrypoints=web"
      - "traefik.http.routers.redir-to-https.rule=Host(`example.com`)"
      - "traefik.http.middlewares.nextcloud-redirectregex1.redirectregex.permanent=true"
      - "traefik.http.middlewares.nextcloud-redirectregex1.redirectregex.regex=https?://([^/]*)/.well-known/(card|cal)dav"
      - "traefik.http.middlewares.nextcloud-redirectregex1.redirectregex.replacement=https://$${1}/remote.php/dav/"
      - "traefik.http.middlewares.nextcloud-redirectregex2.redirectregex.permanent=true"
      - "traefik.http.middlewares.nextcloud-redirectregex2.redirectregex.regex=https?://([^/]*)(/.well-known[^#]*)"
      - "traefik.http.middlewares.nextcloud-redirectregex2.redirectregex.replacement=https://$${1}/index.php$${2}"
    depends_on:
      - nc_app
    
  nc_cron:
    image: nextcloud:28-fpm-alpine
    networks:
      - nc_internal
    container_name: nc_cron
    restart: always
    volumes:
      - nextcloud_v2:/var/www/html:z
    entrypoint: /cron.sh
    labels:
      - "com.centurylinklabs.watchtower.enable=false"
    depends_on:
      - nc_db
      - nc_redis
 
 
volumes:
  nc_db_v2:
  nextcloud_v2:

networks:
  proxy:
    external: true
  nc_internal:
    enable_ipv6: true
    ipam:
      config:
        - subnet: 2001:0DB9::/112

Comments

  •  icon
    01/01/70 12:00:00 AM UTC
    Plain Text |

    0 B

    |

    👍

    /

    👎

    
        
  •  icon
    01/01/70 12:00:00 AM UTC
    Plain Text |

    0 B

    |

    👍

    /

    👎