Skip to content
This repository has been archived by the owner on Oct 15, 2022. It is now read-only.
Thilo Planz edited this page Dec 15, 2011 · 16 revisions

v7files is a WebDAV server backed by MongoDB GridFS file storage.

It is written in Java, using the Grizzly embedded web server and the Milton WebDAV library.

All file contents are stored in GridFS, but the file (and folder) metadata is stored in separate collection, where it can also be versioned. Identical content is only stored once, even if more than one file refers (or used to refer) to it, and content can also be compressed (not yet implemented) using zip compression (good for text files) or delta storage (good for files that are similar to others).

You can configure Authentication, and set access permissions (separately for read and write) for every file and folder. A file that does not have its own set of permissions inherits them from its parent folder.

Usage

Start the program from the command line:

 # java -jar v7files.jar

This will start a WebDAV server on port 8080.

You can optionally specify a properties file with configuration.

# java -jar v7files.jar -f config.properties

All configuration options can also be set (or overridden) by system properties

# java -jar v7files.jar -Dv7files.endpoints=/webdav -Dhttp.port=5555

Configuration

Take a look at the file that defines the default settings.

For a quick-start, you probably want to set the following properties:

# The name of the database to connect to 
mongo.db = test

# enable authentication using the following two users
auth.provider = demo
auth.demo.user.admin.password = admin
auth.demo.user.demo.password = demo
# important: if you don't want these two users enabled, 
# you must explicitly set their passwords to blank

# allow anonymous access
auth.anonymous = anonymous

# set global access permissions
acl.provider = global
acl.read = anonymous, users
acl.write = admins
Clone this wiki locally