
dumbwareio/dumbdrop一个极其简单的文件上传应用,提供简洁现代的拖放界面。基于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






manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务