
dgraziotin/nginx-webdav-nononsensedocker-nginx-webdav-nononsense 是一个基于最新nginx(稳定版和主线版)的WebDAV Docker镜像,旨在提供简洁实用的WebDAV系统。该镜像及生成的容器设计用于在反向代理后运行,专注于WebDAV核心功能,将SSL/TLS、域名管理等功能交由反向代理处理,确保轻量高效。
/config卷(详见下文)及s6-overlay v3。容器不原生支持以下功能,需通过反向代理(如nginx-proxy-manager、caddy)实现:
容器通过内部80端口提供服务,反向代理可实现上述功能及更多扩展。虽然可通过修改暴露的配置文件实现这些功能,但容器本身不原生支持,配置文件仅为方便自定义提供。
需挂载以下卷之一或全部:
./path/to/dir:/data:WebDAV内容的根目录(nginx将服务此目录下的内容)。./config:/config:包含nginx配置文件及容器整体配置。空文件夹挂载时会自动初始化默认配置文件,可直接编辑。| 变量名 | 说明 | 默认值 |
|---|---|---|
PUID | 访问/data卷的用户ID(nginx将使用此ID读写目录) | 1000 |
PGID | 访问/data卷的组ID | 1000 |
TZ | 系统时区 | Europe/Berlin |
WEBDAV_USERNAME | WebDAV访问用户名(需配合WEBDAV_PASSWORD,/config/nginx/htpasswd存在时忽略) | user |
WEBDAV_PASSWORD | WebDAV访问密码(需配合WEBDAV_USERNAME,WEBDAV_PASSWORD_FILE或htpasswd存在时忽略) | password |
WEBDAV_PASSWORD_FILE | 密码文件路径(读取文件内容作为密码,覆盖WEBDAV_PASSWORD,htpasswd存在时忽略;文件为空则禁用认证) | - |
SERVER_NAMES | 服务器主机名(逗号分隔) | localhost,ineed.coffee |
TIMEOUTS_S | nginx超时时间(秒),同时设置send_timeout、client_body_timeout、keepalive_timeout、lingering_timeout | 1200 |
CLIENT_MAX_BODY_SIZE | 文件上传大小限制(需以M或G结尾) | 120M |
ALLOW_FINDER_METADATA | 是否允许macOS Finder元数据(`_.* | DS_Store |
/config为***卷,包含以下路径和文件:
/config/nginx:nginx自定义配置目录,包含:
http.conf:包含在nginx.conf的http指令末尾server.conf:包含在nginx.conf的server指令末尾location.conf:包含在nginx.conf的location指令末尾若提供/config/nginx/htpasswd文件(Apache HTTP兼容的用户名密码扁平文件),容器将使用此文件进行认证,忽略WEBDAV_USERNAME和WEBDAV_PASSWORD环境变量。所有用户拥有相同访问权限。删除该文件后,容器将恢复使用环境变量认证。
满足以下条件可快速测试:
./dav1目录user1,密码为password1127.0.0.1:8080访问bashdocker container run --rm \ -p 127.0.0.1:8080:80 \ -v ./dav1:/data \ -e WEBDAV_USERNAME=user1 \ -e WEBDAV_PASSWORD=password1 \ -e PUID=1000 \ -e PGID=1000 \ dgraziotin/nginx-webdav-nononsense
访问http://127.0.0.1:8080测试,按CTRL-C停止并删除容器。
docker-compose.yml,执行docker-compose build && docker-compose up,通过http://localhost:32080访问。docker run运行,或拉取镜像dgraziotin/nginx-webdav-nononsense使用docker-compose部署。项目使用构建脚本(build.sh)基于Dockerfile.template生成Dockerfile,每次nginx更新时自动更新。提交PR时请修改Dockerfile.template而非直接修改Dockerfile。
感谢dotWee添加CI功能,FlorianEndel提供可选多用户支持。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
无需登录使用专属域名
Kubernetes 集群配置 Containerd
K3s 轻量级 Kubernetes 镜像加速
VS Code Dev Containers 配置
Podman 容器引擎配置
HPC 科学计算容器配置
ghcr、Quay、nvcr 等镜像仓库
Harbor Proxy Repository 对接专属域名
Portainer Registries 加速拉取
Nexus3 Docker Proxy 内网缓存
需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单
manifest unknown
no matching manifest(架构)
invalid tar header(解压)
TLS 证书失败
DNS 超时
410 Gone 排查
402 与流量用尽
401 认证失败
429 限流
D-Bus 凭证提示
413 与超大单层
来自真实用户的反馈,见证轩辕镜像的优质服务