Skip to content

aliom-v/CloudNest

Repository files navigation

CloudNest

CloudNest 是一个面向个人和小团队的自部署 Cloudinary 图床。它基于 Next.js App Router 构建,当前已经具备图片直传、链接复制、管理员后台、资源搜索、单删/批量删除和删除审计等核心能力,适合先快速上线一个可用的图床 MVP,再逐步收敛到更稳定的生产方案。

前台负责上传和拿链接,后台负责管理和删除,底层存储、CDN 和媒体管理直接复用 Cloudinary。

仓库简介可直接使用:

基于 Next.js 与 Cloudinary 的轻量图床,支持直传、管理员后台、批量删除与删除审计。

Deploy with Vercel

个人版一键部署只需要:

  • NEXT_PUBLIC_CLOUDINARY_CLOUD_NAME
  • NEXT_PUBLIC_CLOUDINARY_UPLOAD_PRESET

后台管理、signed upload 和审计持久化的进阶配置见 Cloudinary 配置指南个人一键部署指南

快速入口

目标 文档
先了解项目是什么 项目总览
先准备 Cloudinary 配置 Cloudinary 配置指南
尽快完成个人部署 个人一键部署指南
部署后日常使用和排错 使用与运维指南
查看接口与返回结构 API 参考
接手继续开发 开发维护指南
查看协作约定 CONTRIBUTING.md

技术栈

  • Next.js 16
  • React
  • TypeScript
  • Cloudinary Upload / Admin API
  • Vercel Blob

快速开始

  1. 复制环境变量模板:
cp .env.example .env.local
  1. 最小可用配置至少需要:
  • NEXT_PUBLIC_CLOUDINARY_CLOUD_NAME
  • NEXT_PUBLIC_CLOUDINARY_UPLOAD_PRESET

这套配置会走 unsigned upload,最适合先把个人图床跑起来。

  1. 启动项目:
npm install
npm run dev

默认开发地址:

http://localhost:3000

如果你要启用后台管理,还需要继续配置:

  • CLOUDINARY_API_KEY
  • CLOUDINARY_API_SECRET
  • AUTH_ALLOWED_EMAILS
  • ADMIN_LOGIN_PASSWORD
  • ADMIN_SESSION_SECRET

常用命令

npm run dev
npm run lint
npm run typecheck
npm run test
npm run build
npm run verify
npm run start

验证建议

提交或部署前,至少执行:

npm run verify

然后手动确认:

  1. 首页能正常上传图片
  2. 上传结果能复制 URL / Markdown / HTML
  3. /admin 能登录并读取资源
  4. 单删、批量删除和审计读取都正常

当前边界

  • 当前管理员认证是密码 + 白名单邮箱 + cookie session,适合个人版或小规模使用
  • 生产环境建议配置 BLOB_READ_WRITE_TOKEN,否则删除审计无法稳定持久化
  • 如果要做公开服务,建议后续补充分布式限流、验证码、更正式的认证和登录失败告警

About

CloudNest 是一个以 Cloudinary 为媒体后端的在线图床与轻量资源管理平台。用户可以在前台快速上传图片并获取可复制链接,管理员可以在后台读取资源、执行删除并查看审计记录,适合低运维成本的个人站点和小团队内容场景

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors