
一个极其简单的文件上传应用,提供简洁现代的拖放界面。基于Node.js和原生JavaScript构建。
!DumbDrop
无认证(除非你现在想要!),无存储限制,什么都没有。只是一个简单的文件上传器,可以将文件拖放到一个简单的文件夹中。
bash# 一条命令拉取并运行 docker run -p 3000:3000 -v ./uploads:/app/uploads dumbwareio/dumbdrop:latest
创建 docker-compose.yml 文件:
yamlservices: dumbdrop: image: dumbwareio/dumbdrop:latest ports: - 3000:3000 volumes: # 上传的文件将存放在这里 - ./uploads:/app/uploads environment: # 显式设置容器内的上传目录 UPLOAD_DIR: /app/uploads # 网页界面中显示的标题 DUMBDROP_TITLE: DumbDrop # 最大文件大小(MB) MAX_FILE_SIZE: 1024 # 可选的PIN码保护(留空则禁用) DUMBDROP_PIN: *** # 无需点击按钮自动上传 AUTO_UPLOAD: false # 应用的基础URL # 你必须将此更新为访问网站时使用的URL BASE_URL: http://localhost:3000
然后运行:
bashdocker compose up -d
注意: 环境变量
UPLOAD_DIR现在显式设置为容器内的/app/uploads。Dockerfile 只创建uploads目录,不创建local_uploads。主机目录./uploads挂载到/app/uploads以实现持久化存储。
有关本地开发设置、故障排除和高级用法,请参阅专门的指南:
👉 本地开发指南
| 变量名 | 描述 | 默认值 | 是否必需 |
|---|---|---|---|
| PORT | 服务器端口 | 3000 | 否 |
| BASE_URL | 应用的基础URL | http://localhost:PORT | 否 |
| MAX_FILE_SIZE | 最大文件大小(MB) | 1024 | 否 |
| DUMBDROP_PIN | PIN码保护(4-10位数字) | 无 | 否 |
| DUMBDROP_TITLE | 标题栏显示的网站标题 | DumbDrop | 否 |
| APPRISE_URL | 通知的Apprise URL | 无 | 否 |
| APPRISE_MESSAGE | 通知消息模板 | New file uploaded {filename} ({size}), Storage used {storage} | 否 |
| APPRISE_SIZE_UNIT | 通知中的大小单位(B、KB、MB、GB、TB或Auto) | Auto | 否 |
| AUTO_UPLOAD | 启用文件选择后自动上传 | false | 否 |
| ALLOWED_EXTENSIONS | 允许的文件扩展名,逗号分隔列表 | 无 | 否 |
| ALLOWED_IFRAME_ORIGINS | 允许在iframe中嵌入应用的源,逗号分隔列表 | 无 | 否 |
| UPLOAD_DIR | 上传目录(Docker/生产环境;容器中应为 /app/uploads) | 无(参见LOCAL_UPLOAD_DIR回退) | 否 |
| LOCAL_UPLOAD_DIR | 上传目录(本地开发,回退值:'./local_uploads') | ./local_uploads | 否 |
./local_uploads。uploads 目录。主机的 ./local_uploads 挂载到 /app/uploads,应由主机系统管理。[***]),你必须将 BASE_URL 设置为包含尾部斜杠的完整路径(例如 [***])。所有API和资源请求都将以此值为前缀。如果部署在根目录,使用 [***]。参见 .env.example 获取模板和更多详细信息。
要允许此应用在特定源的iframe中嵌入(例如Organizr),请设置 ALLOWED_IFRAME_ORIGINS 环境变量。例如:
envALLOWED_IFRAME_ORIGINS=[***]
要限制可以上传的文件类型,请设置 ALLOWED_EXTENSIONS 环境变量。例如:
envALLOWED_EXTENSIONS=.jpg,.jpeg,.png,.pdf,.doc,.docx,.txt
如果未设置,将允许所有文件扩展名。
通知消息支持以下占位符:
{filename}: 上传文件的名称{size}: 文件大小(根据APPRISE_SIZE_UNIT格式化){storage}: 上传目录中所有文件的总大小消息模板示例:
envAPPRISE_MESSAGE: 新文件上传 {filename} ({size}), 已使用存储 {storage}
大小格式化示例:
{size}和{storage}都使用基于APPRISE_SIZE_UNIT的相同格式化规则。
git checkout -b feature/amazing-feature)git push origin feature/amazing-feature)有关本地设置和指南,请参见本地开发(推荐的快速开始)。
由 DumbWare.io 用心制作 ❤️
有想法?提出issue 或 提交PR






来自真实用户的反馈,见证轩辕镜像的优质服务
免费版仅支持 Docker Hub 加速,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。
免费版仅支持 docker.io;专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等。
当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
在 Linux 系统配置镜像加速服务
在 Docker Desktop 配置镜像加速
Docker Compose 项目配置加速
Kubernetes 集群配置 Containerd
在宝塔面板一键配置镜像加速
Synology 群晖 NAS 配置加速
飞牛 fnOS 系统配置镜像加速
极空间 NAS 系统配置加速服务
爱快 iKuai 路由系统配置加速
绿联 NAS 系统配置镜像加速
QNAP 威联通 NAS 配置加速
Podman 容器引擎配置加速
HPC 科学计算容器配置加速
ghcr、Quay、nvcr 等镜像仓库
无需登录使用专属域名加速
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429