This special remote type stores file contents in a WebDAV server.


The environment variables WEBDAV_USERNAME and WEBDAV_PASSWORD are used to supply login credentials. You need to set these only when running git annex initremote (or enableremote), as they will be cached in a file only you can read inside the local git repository.

A number of parameters can be passed to git annex initremote to configure the webdav remote.

  • encryption - One of "none", "hybrid", "shared", or "pubkey". See encryption.

  • keyid - Specifies the gpg key to use for encryption.

  • embedcreds - Optional. Set to "yes" embed the login credentials inside the git repository, which allows other clones to also access them. This is the default when gpg encryption is enabled; the credentials are stored encrypted and only those with the repository's keys can access them.

    It is not the default when using shared encryption, or no encryption. Think carefully about who can access your repository before using embedcreds without gpg encryption.

  • url - Required. The URL to the WebDAV directory where files will be stored. This can be a subdirectory of a larger WebDAV repository, and will be created as needed. Use of a https URL is strongly encouraged, since HTTP basic authentication is used.

  • exporttree - Set to "yes" to make this special remote usable by git-annex-export. It will not be usable as a general-purpose special remote.

  • chunk - Enables chunking when storing large files.

  • chunksize - Deprecated version of chunk parameter above.
    Do not use for new remotes. It is not safe to change the chunksize setting of an existing remote.

Setup example:

# WEBDAV_PASSWORD=xxxxxxx git annex initremote type=webdav url= chunk=10mb