Mindav
A self-hosted file backup server which bridges WebDAV protocol with @Minio written in @Totoval. Webdav ❤️ Minio
Install / Use
/learn @totoval/MindavREADME
MinDAV
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.jsonfile{ "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.goor 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):
- Cyberduck for
macOS,Windows - PhotoSync for
iOS,Android - FE File Explorer for
iOS,Android,macOS - Filezilla for
macOS,Windows,Linux - rclone for
macOS,Windows,Linux - And More...
OSX'sfinderis not support forrenameoperate!
MEMORY_UPLOAD_MODE
If the host has a large memory, then set to
truecould improve upload performance.
Roadmap
- [x] Memory filesystem support
- [x] File filesystem support
- [x] Minio filesystem support
- [x] User system
