Files
deploy.stack/dufs/README.md
2026-05-15 17:19:36 +08:00

125 lines
3.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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://<host-ip>:5000/dufs/`
- **WebDAV**: `http://<host-ip>:5000/dufs/`