Proper WebDAV redirects for Nextcloud with Docker Labels
I’m running Nextcloud as a Docker container, behind Traefik as a Reverse Proxy.
This was tested with Nextcloud version
14.0.4 and Traefik
Once you have Nextcloud set up and are logged in, if you navigate to: https://subdomain.domain.com/settings/admin/overview, you should see a list of security recommendations, some of them being these:
Your web server is not properly set up to resolve "/.well-known/caldav". Further information can be found in the documentation. Your web server is not properly set up to resolve "/.well-known/cardav". Further information can be found in the documentation.
More info on this recommendation from Nextcloud: https://docs.nextcloud.com/server/14/admin_manual/issues/general_troubleshooting.html#service-discovery
Add these two
labels to the labels for the Nextcloud container/service, depending upon your setup.
- "traefik.frontend.redirect.regex=^https?://subdomain.domain.com/.well-known/(carddav|caldav)" - "traefik.frontend.redirect.replacement=https://subdomain.domain.com/remote.php/dav"
Then restart the container/service. The error should no longer be present.
Remember, if you’re running Docker in Swarm mode, the labels needs to be in the
deploy level scope. If you’re running it with just
docker run, then put them at the
service level scope.