一、方案对比:为什么要选自建 WebDAV?
| 方案 |
优势 |
缺点 |
| 自建 WebDAV(Docker) |
轻量(镜像<10MB、内存占用<5MB)、数据私有、空间和功能无限制 |
需自有云主机或NAS |
| 第三方云盘(坚果云/koofr) |
无需部署 |
限速/付费、数据隐私风险、空间有限/功能有限制,例如坚果云webdav不支持思源笔记 |
| 自建 Nextcloud/Seafile |
功能全 |
臃肿占资源、配置复杂 |
| Alist/Openlist |
自带webdav,无需额外部署 |
异地访问会暴露网盘入口到公网 |
二、部署方法(Docker 极简版)
-
准备环境:安装 Docker + Docker Compose(全平台通用);
-
创建存储目录(示例):mkdir -p /webdav/data(存放思源笔记/keepass密码库等),在该目录创建config.yml内容如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
|
# 服务器监听配置
address: 0.0.0.0
port: 6065
# 基础设置
tls: false
prefix: /
debug: false
noSniff: true
behindProxy: true
# 默认目录
directory: /data
# CORS 配置
cors:
enabled: true
credentials: true
allowed_headers:
- Depth
- Authorization
- Content-Type
- Content-Length
allowed_hosts:
- "*"
allowed_methods:
- GET
- PUT
- POST
- DELETE
- PROPFIND
- MKCOL
- COPY
- MOVE
exposed_headers:
- Content-Length
- Content-Range
# 日志
log:
level: debug
format: json
# 用户配置
users:
- username: usr
# 获取 bcrypt 密码,替换$2a$10$...:sudo docker run --rm hacdias/webdav:v5.11.1 bcrypt "pwd123"
password: "{bcrypt}$2a$10$..."
permissions: CRUD
# password: pwd123 可选:明文保存密码
# directory: /data/yan 可选:指定用户专属目录
|
- 编写 docker-compose.yml(核心配置,自定义端口/账号)同样放在
/webdav/data;
1
2
3
4
5
6
7
8
9
10
11
12
13
|
services:
webdav:
image: hacdias/webdav:v5.11.1
container_name: webdav
restart: unless-stopped
ports:
- "6065:6065"
volumes:
- ./config.yml:/config.yml:ro
- ./data:/data #数据保存目录,按需修改
environment:
- TZ=Asia/Shanghai
command: ["-c", "/config.yml"]
|
- 启动服务:进入配置目录
/webdav/data,执行 docker-compose up -d,显示“Up”即成功。
局域网访问地址 http://nasip:6065,实测思源笔记1000个文件(70MB左右)同步仅需1.5秒;