Skip to content

totoval/mindav

master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
app
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

MinDAV

GitHub tag (latest SemVer) GitHub last commit Go Report Card Travis (.org) GitHub top language GitHub Docker Cloud Build Status

About MinDAV

MinDAV is a self-hosted file backup server which bridges WebDAV protocol with Minio.

WebDAV ❤️ Minio

Why them?

WebDAV

Web Distributed Authoring and Versioning (WebDAV) is an extension of the Hypertext Transfer Protocol (HTTP) that allows clients to perform remote Web content authoring operations.

There're many cloud storages that support WebDAV protocol, such as dropbox, owncloud, nextcloud, etc.

WebDAV provides a simple port for your files.

Minio

The 100% Open Source, Enterprise-Grade, Amazon S3 Compatible Object Storage

Minio is reliable for your files.

Architecture

mindav architecture

One Click Start

git clone git@github.com:totoval/mindav.git
cd mindav
cp .env.example.json .env.json
docker-compose up -d

Now you can connect the MinDAV by using your favorite WebDAV clients, such as Cyberduck:
cyberduck client

Getting Started

Assumed that you already have your Minio server running. Or Quick Run Minio Server

  • cp .env.example.json .env.json
  • Config your Minio in your .env.json file
    {
      "WEBDAV_DRIVER": "minio",
      "WEBDAV_USER": "totoval",
      "WEBDAV_PASSWORD": "passw0rd",
      "MINIO_ENDPOINT": "play.min.io:9000",
      "MINIO_ACCESS_KEY_ID": "access_key_id",
      "MINIO_SECRET_ACCESS_KEY": "secret_access_key",
      "MINIO_BUCKET": "bucket_name",
      "MINIO_USE_SSL": false,
      "MEMORY_UPLOAD_MODE": false
    }
  • Run go run main.go or the run the binary
  • Now you can connect the MinDAV by using your favorite WebDAV clients

Quick Run Minio Server

docker run --name minio --rm -it \ 
    -p "9000:9000" \ 
    -v "./minio/data:/data" \ 
    -v "./minio/config:/root/.minio" \ 
    minio/minio:latest \ 
    server /data

Supported Clients(KNOWN):

OSX's finder is not support for rename operate!

MEMORY_UPLOAD_MODE

If the host has a large memory, then set to true could improve upload performance.

Roadmap

  • Memory filesystem support
  • File filesystem support
  • Minio filesystem support
  • User system

Thanks