SkillAgentSearch skills...

Mindav

A self-hosted file backup server which bridges WebDAV protocol with @Minio written in @Totoval. Webdav ❤️ Minio

Install / Use

/learn @totoval/Mindav
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

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

<img src="https://raw.githubusercontent.com/totoval/mindav/master/readme_assets/architecture.png" alt="mindav architecture" width="800" />

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:
<img src="https://raw.githubusercontent.com/totoval/mindav/master/readme_assets/37E56D20-FCA7-41FB-B8B2-3B5E390A6DBC.png" alt="cyberduck client" width="600" />

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

  • [x] Memory filesystem support
  • [x] File filesystem support
  • [x] Minio filesystem support
  • [x] User system

Thanks

View on GitHub
GitHub Stars104
CategoryDevelopment
Updated6d ago
Forks9

Languages

Go

Security Score

100/100

Audited on Mar 31, 2026

No findings