diff --git a/dufs/README.md b/dufs/README.md new file mode 100644 index 0000000..4336e98 --- /dev/null +++ b/dufs/README.md @@ -0,0 +1,124 @@ +# Dufs - 文件共享服务器 + +[Dufs](https://github.com/sigoden/dufs) 是一个轻量级的文件共享服务器,支持 WebDAV、上传、下载、搜索等功能。 + +## 服务信息 + +| 项目 | 值 | +|------|-----| +| 镜像 | `sigoden/dufs` | +| 版本 | `v0.45.0` | +| 端口 | `5000` | +| 路径前缀 | `/dufs` | + +## 目录结构 + +``` +dufs/ +├── config/ +│ └── config.yaml # Dufs 配置文件 +├── env.cfg # 环境变量配置 +└── stack.yml # Docker Compose 编排文件 +``` + +## 部署前准备 + +1. 创建数据目录: + +```bash +mkdir -pv /data/volumes/dufs/data +mkdir -pv /data/mygit/config/dufs +``` + +2. 修改 `./config/config.yaml` 中的配置,并将其复制到 `/data/mygit/config/dufs` 目录中: + +```bash +cp ./config/config.yaml /data/mygit/config/dufs/ +``` + +## 部署命令 + +### 拉取镜像 + +```bash +docker compose -p dufs --env-file ./dufs/env.cfg -f ./dufs/stack.yml pull +``` + +### 启动服务 + +```bash +docker compose -p dufs --env-file ./dufs/env.cfg -f ./dufs/stack.yml up -d +``` + +## 配置说明 + +### 环境变量 (`env.cfg`) + +| 变量 | 说明 | 默认值 | +|------|------|--------| +| `IMAGE_TAG_VER` | 镜像版本号 | `v0.45.0` | +| `IMAGE_TAG` | 镜像完整标签 | `sigoden/dufs:${IMAGE_TAG_VER}` | +| `Volumes_Path` | 数据卷路径 | `/data/volumes/dufs` | +| `Config_Path` | 配置文件路径 | `/data/mygit/config` | + +### 应用配置 (`config/config.yaml`) + +#### 基本设置 + +- **serve-path**: 服务根目录,默认为 `.`(容器内 `/data`) +- **bind**: 绑定地址,`0.0.0.0` 表示监听所有接口 +- **port**: 服务端口,默认 `5000` +- **path-prefix**: URL 路径前缀,设为 `/dufs` + +#### 隐藏文件规则 + +以下文件/目录在列表中不可见: + +- `tmp`、`.git`、`.svn`、`.DS_Store`(系统/版本控制目录) +- `*.log`、`*.lock`、`*.db`(临时/数据库文件) + +#### 访问控制(auth) + +| 用户 | 密码 | 权限范围 | +|------|------|----------| +| `admin` | `admin` | `/` 目录读写 | +| `user` | `pass` | `/backups` 读写,`/shared` 只读 | +| 匿名 | - | `/` 只读 | + +> ⚠️ **安全提示**:请在生产环境中修改默认用户名和密码! + +#### 功能开关 + +| 功能 | 状态 | 说明 | +|------|------|------| +| allow-upload | ✅ | 允许上传文件 | +| allow-delete | ✅ | 允许删除文件 | +| allow-search | ✅ | 允许搜索文件 | +| allow-symlink | ✅ | 允许符号链接 | +| allow-archive | ✅ | 允许打包下载 | +| enable-cors | ✅ | 启用跨域请求 | +| render-index | ✅ | 渲染 index.html | +| render-try-index | ✅ | 尝试渲染 index.html | +| render-spa | ✅ | SPA 模式 | + +#### 其他设置 + +- **compress**: 压缩级别为 `low` +- **log-format**: 访问日志格式 +- **log-file**: 日志文件路径 `./dufs.log` + +## 数据卷映射 + +| 容器路径 | 宿主机路径 | 说明 | +|----------|------------|------| +| `/data` | `${Volumes_Path}/data` | 共享文件数据 | +| `/config` | `${Config_Path}/dufs` | 配置文件(只读) | +| `/etc/timezone` | `/etc/timezone` | 时区(只读) | +| `/etc/localtime` | `/etc/localtime` | 本地时间(只读) | + +## 访问方式 + +启动服务后,通过以下方式访问: + +- **Web UI**: `http://:5000/dufs/` +- **WebDAV**: `http://:5000/dufs/`