services: db: image: mariadb:10.6 container_name: nextcloud-db command: --transaction-isolation=READ-COMMITTED --log-bin=binlog --binlog-format=ROW volumes: - /mnt/user/appdata/nextcloud/db:/var/lib/mysql environment: - MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD} - MYSQL_PASSWORD=${MYSQL_PASSWORD} - MYSQL_DATABASE=nextcloud - MYSQL_USER=nextcloud labels: net.unraid.docker.icon: "https://raw.githubusercontent.com/linuxserver/docker-templates/refs/heads/master/linuxserver.io/img/mariadb-icon.png" folder.view3: "Databases" redis: image: redis container_name: nextcloud-cache volumes: - /mnt/user/appdata/nextcloud/cache:/data command: redis-server --requirepass ${REDIS_HOST_PASSWORD} labels: net.unraid.docker.icon: "https://cdn.jsdelivr.net/gh/selfhst/icons@main/png/redis.png" folder.view3: "Databases" proxy: image: caddy:latest container_name: nextcloud-proxy hostname: nextcloud-proxy volumes: - /mnt/user/appdata/nextcloud/proxy/Caddyfile:/etc/caddy/Caddyfile depends_on: - app networks: - default - pangolin labels: net.unraid.docker.icon: "https://raw.githubusercontent.com/linuxserver/docker-templates/refs/heads/master/linuxserver.io/img/nextcloud-icon.png" net.unraid.docker.webui: "https://${DOMAIN}" folder.view3: "Networking" pangolin.public-resources.nextcloud-server.name: "${RESOURCE_NAME}" pangolin.public-resources.nextcloud-server.full-domain: "${DOMAIN}" pangolin.public-resources.nextcloud-server.protocol: "http" pangolin.public-resources.nextcloud-server.auth.sso-enabled: false pangolin.public-resources.nextcloud-server.targets[0].method: "http" pangolin.public-resources.nextcloud-server.targets[0].hostname: "nextcloud-proxy" pangolin.public-resources.nextcloud-server.targets[0].port: 8080 app: image: nextcloud:34 container_name: nextcloud depends_on: - db - redis volumes: - /mnt/user/appdata/nextcloud/app:/var/www/html - /mnt/user/nextcloud-data:/var/www/html/data environment: - NEXTCLOUD_ADMIN_USER=${NEXTCLOUD_ADMIN_USER} - NEXTCLOUD_ADMIN_PASSWORD=${NEXTCLOUD_ADMIN_PASSWORD} - NEXTCLOUD_TRUSTED_DOMAINS=${DOMAIN} - MYSQL_DATABASE=nextcloud - MYSQL_USER=nextcloud - MYSQL_PASSWORD=${MYSQL_PASSWORD} - MYSQL_HOST=db - REDIS_HOST=redis - REDIS_PORT=6379 - REDIS_HOST_PASSWORD=${REDIS_HOST_PASSWORD} - APACHE_BODY_LIMIT=0 labels: net.unraid.docker.icon: "https://raw.githubusercontent.com/linuxserver/docker-templates/refs/heads/master/linuxserver.io/img/nextcloud-icon.png" net.unraid.docker.webui: "https://${DOMAIN}" folder.view3: "Services" # HOMEPAGE homepage.group: Cloud homepage.name: Nextcloud homepage.icon: nextcloud.png homepage.href: "https://${DOMAIN}" homepage.description: Files and collaboration networks: pangolin: name: pangolin_net external: true