Mount a webdav directory as an NFS filesystem to use it as a Docker or Docker Compose volume.
The example Compose manifest will start the webdav-nfs container on localhost port 2049.
It will then make the NFS filesystem available to other services by configuring it as a volume.
The service_healthy condition ensures that a connection to a webdav directory has been established before the other service can start using it.
Multiple services can use the same volume.
wget https://raw.githubusercontent.com/nedix/webdav-nfs-container/main/stacks/busybox/compose.ymldocker compose up -ddocker compose exec busybox ls /dataThe following example will mount the remote webdav directory to a local directory named webdav-nfs.
docker run \
--cap-add SYS_ADMIN \
--device /dev/fuse \
--name webdav-nfs \
--pull always \
--restart unless-stopped \
-e WEBDAV_DIRECTORY="foo" \
-e WEBDAV_ENDPOINT="bar" \
-e WEBDAV_PASSWORD="baz" \
-e WEBDAV_USERNAME="qux" \
-p 127.0.0.1:2049:2049 \
nedix/webdav-nfsmkdir webdav-nfsmount -v -o vers=4 -o port=2049 127.0.0.1:/ ./webdav-nfs