version: "3" services: nextcloud: image: hoellen/nextcloud:15.0 labels: - com.centurylinklabs.watchtower.enable=true - traefik.enable=true - traefik.backend=nextcloud - traefik.frontend.rule=Host:nextcloud.test.org - traefik.docker.network=traefik_default - traefik.port=8888 - traefik.default.protocol=http - "traefik.frontend.redirect.regex=^(.*)/.well-known/webfinger" - "traefik.frontend.redirect.replacement=$$1/public.php?service=webfinger" links: - nextcloud-db:nextcloud-db - nextcloud-redis:nextcloud-redis environment: - UID=1000 - GID=1000 - UPLOAD_MAX_SIZE=10G - APC_SHM_SIZE=128M - OPCACHE_MEM_SIZE=128 - CRON_PERIOD=15m - TZ=Europe/Berlin - DOMAIN=nextcloud.test.org - DB_TYPE=mysql - DB_NAME=nextcloud - DB_USER=nextcloud - DB_PASSWORD=YOUSHOULDHAVECHANGEDTHAT - DB_HOST=nextcloud-db - CHECK_PERMISSIONS=1 depends_on: - nextcloud-db - nextcloud-redis networks: - default - traefik_default restart: unless-stopped volumes: - ./data:/data - ./config:/config - ./apps:/apps2 - ./themes:/nextcloud/themes - /etc/localtime:/etc/localtime:ro - /etc/timezone:/etc/timezone:ro nextcloud-db: image: mariadb:10.3 labels: com.centurylinklabs.watchtower.enable: "true" environment: - MYSQL_ROOT_PASSWORD=YOUSHOULDHAVECHANGEDTHATTOO - MYSQL_DATABASE=nextcloud - MYSQL_USER=nextcloud - MYSQL_PASSWORD=YOUSHOULDHAVECHANGEDTHAT restart: unless-stopped volumes: - ./mysql:/var/lib/mysql - /etc/localtime:/etc/localtime:ro - /etc/timezone:/etc/timezone:ro nextcloud-redis: image: redis:5.0-alpine labels: com.centurylinklabs.watchtower.enable: "true" restart: unless-stopped volumes: - ./redis:/data - /etc/localtime:/etc/localtime:ro - /etc/timezone:/etc/timezone:ro nextcloud-db-backup: image: fradelg/mysql-cron-backup labels: com.centurylinklabs.watchtower.enable: "true" links: - nextcloud-db:nextcloud-db environment: - MYSQL_HOST=nextcloud-db - MYSQL_USER=nextcloud - MYSQL_PASS=YOUSHOULDHAVECHANGEDTHAT - MAX_BACKUPS=20 - CRON_TIME=0 0 * * * depends_on: - nextcloud-db restart: unless-stopped volumes: - ./mysql-backups:/backup - /etc/localtime:/etc/localtime:ro - /etc/timezone:/etc/timezone:ro nextcloud-nc-backup: image: waja/calcardbackup labels: com.centurylinklabs.watchtower.enable: "true" links: - nextcloud-db:nextcloud-db - nextcloud:nextcloud environment: - CRON_TIME=0 0 * * * - INIT_BACKUP=yes - CALCARD_OPTS=-i -r 20 - NC_DIR=/nextcloud - NC_HOST=nextcloud - NC_PORT=8888 - DB_HOST=nextcloud-db depends_on: - nextcloud-db - nextcloud restart: unless-stopped volumes: - ./calcardbackup:/backup - ./config:/nextcloud/config - /etc/localtime:/etc/localtime:ro - /etc/timezone:/etc/timezone:ro networks: traefik_default: external: true