项目地址:https://github.com/hacdias/webdav
镜像:ghcr.io/hacdias/webdav:latest(推荐)或hacdias/webdav:latest
部署目录:/var/www/webdav/(所有文件集中管理)
/var/www/webdav/
├── docker-compose.yml # Docker Compose 主配置文件
├── config.yml # WebDAV 核心配置文件(用户名、密码、权限等)
├── README.md # 本文档(可直接复制官方 README)
└── data/ # WebDAV 实际存储目录(挂载到容器 /data)
# 1. 更新系统并安装 Docker + Compose
sudo apt update && sudo apt upgrade -y
sudo apt install -y docker.io docker-compose-plugin
# 2. 将当前用户加入 docker 组(无需每次 sudo)
sudo usermod -aG docker $USER
newgrp docker # 或重启终端
# 创建目录
sudo mkdir -p /var/www/webdav/data
sudo chown -R $USER:$USER /var/www/webdav
# 进入目录
cd /var/www/webdav
docker-compose.yml在 /var/www/webdav/ 目录下创建文件 docker-compose.yml,内容如下:
version: "3.8"
services:
webdav:
image: ghcr.io/hacdias/webdav:latest
container_name: webdav
restart: unless-stopped
ports:
- "6065:6065" # 主机端口:容器端口(可在 config.yml 修改端口)
volumes:
- ./config.yml:/config.yml:ro # 配置只读挂载
- ./data:/data # WebDAV 根目录
# 可选:开启日志驱动方便 fail2ban
# logging:
# driver: journald
config.yml(核心配置)在同一目录下创建 config.yml,推荐使用以下已优化配置(适合 Alist 挂载 + 视频播放):
address: 0.0.0.0
port: 6065
# TLS(暂时关闭,后续可配合 Caddy/Nginx 反代开启 HTTPS)
tls: false
cert: cert.pem
key: key.pem
prefix: /
debug: false
noSniff: false
behindProxy: false # 如果后面加反向代理,请改为 true
# 默认存储目录(容器内路径)
directory: /data
# 默认权限:CRUD(创建、读取、更新、删除)——适合视频挂载
permissions: CRUD
# 日志
log:
format: console
colors: true
outputs:
- stderr
# CORS(Alist / 播放器必备)
cors:
enabled: true
credentials: true
allowed_hosts:
- "*"
allowed_headers:
- Authorization
- Content-Type
- Depth
- Destination
- If
- Lock-Token
- Overwrite
- TimeOut
- Translate
allowed_methods:
- COPY
- DELETE
- GET
- HEAD
- LOCK
- UNLOCK
- MKCOL
- MOVE
- OPTIONS
- POST
- PROPFIND
- PROPPATCH
- PUT
# 用户配置(强烈建议修改密码!)
users:
- username: admin
password: 请在这里修改成强密码123456 # 明文密码,生产环境建议改成 bcrypt
permissions: CRUD
directory: /data # 可为不同用户指定独立目录
# 示例:再加一个只读用户(可选)
# - username: readonly
# password: readonlypass
# permissions: R
# directory: /data
密码建议:
- 明文密码最简单(适合个人使用)
- 推荐使用 bcrypt(更安全):
docker run --rm ghcr.io/hacdias/webdav bcrypt 你的密码
password: "{bcrypt}$2y$10$..."
cd /var/www/webdav
docker compose up -d
查看日志:
docker compose logs -f
# 启动
docker compose up -d
# 停止
docker compose down
# 重启
docker compose restart
# 查看日志
docker compose logs -f
# 更新镜像
docker compose pull && docker compose up -d
# 进入容器 shell(调试用)
docker exec -it webdav sh
http://你的服务器IP:6065adminWebDAV 客户端测试(Windows、macOS、Android 都支持):
- Windows:\\你的IP@6065\
- Alist:添加 WebDAV 存储,地址填 http://你的IP:6065
behindProxy: true 并在反代中透传 X-Forwarded-Forusers 里分别指定 directory 即可
还没有人评论,抢个沙发吧...