分享一下我最近一直在开发的项目 Picloom——以插件编织你的自托管图床,一个支持插件扩展和自定义主题的开源自托管图床。
这个项目已经持续迭代了挺长一段时间,目前功能和使用体验都逐渐趋于稳定,想趁正式发布前发出来,邀请有自建图床需求的朋友试用,听听大家的意见。
图床项目已经蛮多的了,但往往有需要个性化自定义的时候,所以说在图床上反复造轮子已经屡见不鲜,特别是当前 AI 大大降低了编码门槛。所以我为什么再「造一个轮子」呢?
从零开始(或者 fork 一个开源图床),往往需要很多精力——你需要自己处理依赖,实现一个图床项目的基本功能,再去拓展你的个性化实现,并且后续维护项目,debug——消耗自己的时间与精力。所以为什么不提供一个通用的框架,让插件编织自己的个性化图床呢?
Picloom 的一个主要思路就是,通过插件组合存储、图片处理和路径规则,再将这些组合保存为不同的上传配置,来方便应对各种个性化的使用场景。
Features:
- 自托管部署。 支持 Docker 部署,数据库可选 SQLite 或 PostgreSQL 。
- 个性化主题。 自定义主页与登录页面,打造自己的图床界面。
插件扩展。 按需扩展存储、图片处理和路径规则:
- 接入多种存储后端,或导入支持的存储源,接管已有图库。
- 上传时压缩、缩放、转换格式、添加水印,自动打标签和归入集合。
- 上传后审核图片内容,并按处理结果发送通知。
- 通过 URL 参数按需生成图片变体,保留原图。
- 自定义公开链接与存储路径,支持日期、随机字符串等命名规则,也可通过插件实现自定义路径逻辑。
- 多套上传配置。 自由组合存储、路径与处理插件,为不同用途配置独立的上传规则。
- 上传参数自定义。 在同一套上传配置下,通过上传时传入的参数灵活调整处理行为,满足不同图片的个性化需求。
- 多副本存储。 同时向多个存储源写入图片,多个副本共用一个公开链接,提高图片可用性。
- 标签与集合。 灵活归类图片,支持筛选查找与批量管理。
- 保留链接替换图片。 更新图片内容,无需修改已发布的引用链接。
- 多用户与游客上传。 支持多用户管理、上传权限控制与游客上传限流。
- 上传工具与 API 集成。 支持 PicGo 、ShareX ,通过 HTTP API 接入自己的应用或工作流。
- 分片上传。 支持将文件拆分上传,满足大文件上传需求。
- 多语言支持。 提供中英文界面,支持扩展更多语言,面向不同语言的用户。
官方提供的 Horizon 主题:

又或者默认主题:

图片管理:

插件生态:

主题生态:

多存储源,并发上传,负载均衡访问:

比如:你可以将 NodeImage 作为一个后端存储插件(这是目前官方正在维护的存储插件);或者编写一个 AI 插件,实现图片的自动打标签;使用阿里云图片审核或者腾讯云审核(官方维护插件)或者本地审核(官方维护插件);又或者说让 AI 实现一个插件,迁移你已有的图床。
不管怎样,你想要实现的,都可以通过编写插件来实现。加之现在 AI 编码,也会大大降低你的插件编码难度。
项目目前仍在开发中,相关插件或主题契约可能变更(但其实已经基本稳定),预计会在一周内完成这一阶段的功能收敛并正式发布。欢迎大家部署体验,无论是遇到的问题、操作上不顺手的地方,还是希望支持的使用场景,都欢迎在帖子里交流,或者到 GitHub 提 Issue 。
- 项目地址:GitHub · Picloom
- 使用文档:Picloom 文档
- 部署指南:Docker 快速开始
Demo
默认主题:
https://picloom.lllei.top/?theme=default
Horizon 主题:
https://picloom.lllei.top
用户名:demo
密码:demodemo
感谢大家的体验和反馈。