K-Vault免费图片/文件托管解决方案,支持 Cloudflare Pages + Docker 双模部署,并兼容多种存储后端
功能特性
- 无限存储 - 不限数量的图片和文件上传
- 完全免费 - 托管于 Cloudflare,免费额度内零成本
- 免费域名 - 使用
*.pages.dev二级域名,也支持自定义域名 - 多存储后端 - 支持 Telegram、Cloudflare R2、S3 兼容存储、Discord、HuggingFace、WebDAV、GitHub
- Telegram Webhook 回链 - 机器人在频道/群接收文件后自动回复直链
- KV 写入优化 - Telegram 可启用签名直链,显著降低 KV 读写消耗
- 内容审核 - 可选的图片审核 API,自动屏蔽不良内容
- 多格式支持 - 图片、视频、音频、文档、压缩包等
- 在线预览 - 支持图片、视频、音频、文档(pdf、docx、txt)格式的预览
- 分片上传 - 支持最大 100MB 文件(配合 R2/S3)
- 访客上传 - 可选的访客上传功能,支持文件大小和每日次数限制
- API Token 认证 - 支持
curl/ ShareX / 脚本等程序化上传与调用 - 多种视图 - 网格、列表、瀑布流多种管理界面
- 存储分类 - 直观区分不同存储后端的文件
- 双模部署 - 保留 Cloudflare Pages 部署,同时新增 Docker 自托管(
docker compose up -d) - 动态存储配置管理 - 支持在管理端通过 API 对存储配置进行新增/编辑/删除/测试/设为默认
- 可插拔设置存储(Docker) - 基础站点设置可使用
sqlite(默认)或 Redis 协议后端(Upstash / Redis / KVrocks) - 前端路径简化 - 以根路径页面为主流程(
/、/admin.html、/webdav.html) - GitHub Actions 镜像构建 - 主分支/Tag 自动构建并推送
api+web镜像
快速部署
前置要求
- Cloudflare 账户
- Telegram 账户(如使用 Telegram 存储)
- Docker + Docker Compose(可选,用于自托管部署)
第一步:获取 Telegram 凭据
- 获取 Bot Token
- 向 @BotFather 发送
/newbot - 按提示创建机器人,获得
BOT_TOKEN
- 向 @BotFather 发送
- 创建频道并添加机器人
- 创建一个新的 Telegram 频道
- 将机器人添加为频道管理员
- 获取 Chat ID
- 向 @VersaToolsBot 或 @GetTheirIDBot 发送消息获取频道 ID
第二步:部署到 Cloudflare
- Fork 本仓库
- 创建 Pages 项目
- 登录 Cloudflare Dashboard
- 进入
Workers 和 Pages→创建应用程序→Pages→连接到 Git - 选择 Fork 的仓库,点击部署
- 配置环境变量
- 进入项目
设置→环境变量 - 添加必需变量:
- 进入项目
| 变量名 | 说明 | 必需 |
|---|---|---|
TG_Bot_Token | Telegram Bot Token | ✅ |
TG_Chat_ID | Telegram 频道 ID | ✅ |
BASIC_USER | 管理后台用户名 | 可选 |
BASIC_PASS | 管理后台密码 | 可选 |
重新部署 - 修改环境变量后需重新部署生效
第三步:Docker 自托管部署(可选)
如果你希望在自己的 VPS/NAS 上运行(不依赖 Cloudflare Pages 运行时):
- 复制环境变量模板:
npm run docker:init-env
该命令会在 .env 不存在时自动创建,并仅在密钥为空或占位符时生成 CONFIG_ENCRYPTION_KEY 与 SESSION_SECRET,不会每次重置已有密钥。
- 至少填写以下关键变量:
CONFIG_ENCRYPTION_KEYSESSION_SECRET- 一套默认存储配置(例如
TG_BOT_TOKEN+TG_CHAT_ID) - 可选设置存储:
- 默认:
SETTINGS_STORE=sqlite - Redis 模式:
SETTINGS_STORE=redis且配置SETTINGS_REDIS_URL
- 默认:
- 启动服务:
npm run docker:up
如需启用本地 Redis(用于基础设置存储):
docker compose --profile redis up -d --build
- 访问地址:
- 上传首页:
http://<host>:8080/ - 管理后台:
http://<host>:8080/admin.html - WebDAV 页面:
http://<host>:8080/webdav.html
- 上传首页:
完整 Docker 说明请查看 README-DOCKER.md。
本文来自网络,不代表王道测评立场,如有争议请发邮件:enofun@foxmail.com
AD:【本站QQ交流群】114135944



评论