Sign inSign up

bonaluo/webdav-server

By bonaluo

•Updated 4 months ago

WebDAV server with file version backup (WsgiDAV + Docker)

Image
0

320

bonaluo/webdav-server repository overview

⁠webdav-server

基于 WsgiDAV⁠ 的 WebDAV 服务,Docker 一键部署,带文件版本自动备份功能。

预构建镜像,开箱即用。

GitHub 仓库:bonaluo/webdav-server⁠

⁠快速部署

⁠docker-compose
services:
  webdav:
    image: bonaluo/webdav-server:latest
    container_name: webdav
    ports:
      - "50000:50000"
    volumes:
      - ./data:/data
    environment:
      - WEBDAV_USER=admin
      - WEBDAV_PASSWORD=changeme
    restart: unless-stopped
docker compose up -d
⁠docker run
docker run -d \
  --name webdav \
  -p 50000:50000 \
  -v /path/to/data:/data \
  -e WEBDAV_USER=admin \
  -e WEBDAV_PASSWORD=changeme \
  bonaluo/webdav-server:latest

⁠连接

地址: http://<host>:50000/
用户名: admin
密码: changeme

支持的客户端:RaiDrive、Rclone、Windows 映射网络驱动器、Mac Finder 等。

⁠文件版本备份

每次文件被覆盖或删除时,自动保存旧版本到带时间戳的备份目录:

data/
├── my-project/                  # 你的同步目录
│   ├── file.txt                 # 当前最新版本
│   └── 20260605_021341/         # 自动备份快照
│       └── file.txt             # 覆盖前的旧版本
└── another-project/
    └── ...
  • 同一秒内同步的多个文件共享一个时间戳目录
  • 嵌套目录结构原样保留
  • 备份目录对 WebDAV 客户端不可见(.git 和 __backup 开头的目录会被过滤)

⁠环境变量

变量默认值说明
WEBDAV_USERadmin登录用户名
WEBDAV_PASSWORDchangeme登录密码
WEBDAV_PORT50000服务端口(容器内)
WEBDAV_ROOT/data数据存储路径(容器内)

⁠技术栈

  • 服务: WsgiDAV 4.x + cheroot
  • Python: 3.11
  • 容器化: Docker 多阶段构建

⁠License

MIT

Tag summary

Content type

Image

Digest

sha256:fcc374ee0…

Size

61.8 MB

Last updated

4 months ago

docker pull bonaluo/webdav-server