forked from DevOps/deploy.stack
Add README for dufs deployment
This commit is contained in:
124
dufs/README.md
Normal file
124
dufs/README.md
Normal file
@@ -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://<host-ip>:5000/dufs/`
|
||||
- **WebDAV**: `http://<host-ip>:5000/dufs/`
|
||||
Reference in New Issue
Block a user