services: nextcloud: image: nextcloud:35.0.1 deploy: resources: limits: cpus: "1.0" memory: 2G restart: unless-stopped labels: - rclone.storage=storagebox-crypt - traefik.http.middlewares.nextcloud-buffering.buffering.maxRequestBodyBytes=0 - traefik.http.routers.nextcloud.middlewares=nextcloud-buffering volumes: - nextcloud_data:/var/www/html - type: bind source: /opt/media/storagebox/nextcloud target: /mnt/storagebox bind: propagation: rslave create_host_path: false healthcheck: test: [ "CMD-SHELL", "timeout 10 ls /mnt/storagebox >/dev/null 2>&1 || exit 1" ] interval: 30s timeout: 15s retries: 3 start_period: 60s environment: - NEXTCLOUD_TRUSTED_DOMAINS=${NEXTCLOUD_DOMAIN} - MYSQL_HOST=nextcloud_db - MYSQL_DATABASE=nextcloud - MYSQL_USER=nextcloud - MYSQL_PASSWORD=${MYSQL_SECRET_PASSWORD} - OVERWRITEPROTOCOL=https - PHP_UPLOAD_LIMIT=10G - PHP_MEMORY_LIMIT=1024M nextcloud_db: image: mariadb deploy: resources: limits: cpus: "0.75" memory: 1G restart: unless-stopped volumes: - nextcloud_db_data:/var/lib/mysql environment: - MYSQL_ROOT_PASSWORD=${MYSQL_SECRET_PASSWORD_ROOT} - MYSQL_DATABASE=nextcloud - MYSQL_USER=nextcloud - MYSQL_PASSWORD=${MYSQL_SECRET_PASSWORD} volumes: nextcloud_data: nextcloud_db_data: