一个命令搭建文件服务器,dufs + WebDAV 实践指南

目前很多手机应用都提供了数据备份服务,比如小编的电子书阅读器支持webDAV备份数据,小说阅读器支持webDAV备份书源,rss 工具支持备份rss源。

今天小编介绍一个 webDAV实现,就是 dufs。它非常适合个人开发者、运维、NAS 用户搭个简单的文件服务器使用。

01 dufs 是什么

dufs,用 Rust 写的文件服务器,GitHub 上 9.6k stars。它的特点是:

  • 简单,一个命令就能启动。不用折腾复杂的配置文件,也不用学什么语法。

  • 性能好,Rust 写的,性能不用担心。内存占用小,CPU 使用率低。个人用完全够用。

  • 支持 WebDAV,这是重点。WebDAV 协议支持,你可以在浏览器、资源管理器、各种客户端里直接访问,不用装专门的客户端。

  • API 支持,dufs 提供了 RESTful API。上传、下载、删除、搜索,都有对应的接口。方便你二次开发,或者集成到其他系统。

笑话时间:为什么程序员总是喜欢用 Rust 写工具?因为他们不想在半夜三点被叫起来修内存泄漏。

02 Docker Compose 部署

dufs 支持好几种安装方式:cargo、Homebrew、Docker。个人推荐 Docker Compose。

创建 docker-compose.yml:

services:
  webdav:
    image: sigoden/dufs
    container_name: webdav
    restart: unless-stopped
    ports:
      - 5000:5000
    volumes:
      - webdav_data:/data
    # user: admin
    # pwd: kissyoubaby
    command: /data -A -a admin:kissyoubaby@/:rw
volumes:
  webdav_data:

启动:

docker-compose up -d 

就这么简单。

参数说明

  • -A:允许所有操作(上传、删除、搜索等)

  • /data:托管的数据目录

  • ports:端口映射,主机 5000 映射到容器 5000

如果需要更细粒度的控制:

command: /data --allow-upload --allow-delete --allow-search

pan001

03 进阶使用 webDAV

dufs 自带的 Web 界面比较简陋,这里推荐一个浏览器扩展,提高使用管理体验

WebDav文件管理

一个浏览器扩展,支持 WebDAV 协议的网盘和文件服务器。

  • 在线浏览文件、新增/修改/删除文件,这些基本操作都有。还支持大部分文件格式的预览,以及标签页和弹窗两种打开方式。

使用方式

安装扩展 → 配置 WebDAV 服务器地址(http://your-server:5000)→ 输入用户名密码(如果设置了)→ 开始使用。

适用场景

文件浏览、文件编辑及操作、连接各种支持 WebDAV 的网盘。

pan003pan002

可以看到 WebDav文件管理 提升了网盘的使用体验,当然它也支持其他 webDAV协议的应用。是个不错扩展。

工具

  • WebDav文件管理:https://logspot.hocgin.top/addone-webdav/?active=home

  • dufs:https://github.com/sigoden/dufs

04 最后说两句

dufs 是个轻量级的文件服务器方案,适合个人用或者小团队内部用。

优点

部署简单,一个命令搞定。性能好,Rust 写的。功能也全面,WebDAV、搜索、访问控制都有。API 完善,方便扩展。

注意事项

默认没认证,建议内网用或者配置认证。适合文件共享,不适合大规模存储。权限控制相对简单,复杂需求可能要其他方案。

工具是手段,不是目的。

dufs 适合那些想要快速搭建文件服务器的人。如果你只是想分享几个文件,或者给团队搭个简单的文件中心,dufs 足够了。


其他

欢迎关注本公众号其他社媒平台

link_logo

点击以下链接关注我的数字名片!

https://muselink.cc/hamisay

如果您觉得这篇文章对您或您的朋友有所帮助,不妨动动手指,关注我们、点赞并分享到朋友圈。

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐