Doory:开源自托管的 Canva 替代,浏览器里的完整设计编辑器

Doory 官方 Logo 与标题封面

在线做图这件事,几乎被 Canva 一家包圆了。它确实好用,但免费版有额度、模板带水印、素材有锁定,想导出高清或去掉背景就要开 Pro;更别提你的设计稿全都躺在别人的服务器上。今天 GitHub Trending 上冒出来一个新项目,想给这件事一个开源答案:Doory——一个开源自托管的 Canva 替代品,2026 年 10 月 10 日建仓,几天内冲到 800+ 星,TypeScript 编写,一句「Open source canva alternative」就把定位说清楚了。

它把自己定义成「一个跑在浏览器里的完整设计编辑器」:做海报、社媒图、故事页、幻灯片、请帖、简历、封面图和名片,从一个模板或一张空白页开始,什么都可改,最后导出成 PNG、JPG、SVG、PDF、MP4 或 GIF。所有功能都免费,不注册账号就能上手,整站还能跑在你自己的服务器上。

它解决的是什么问题

Doory 瞄准的是三类很具体的痛点:

  • 「免费」但处处是墙:没有 Pro 套餐,没有锁定模板,没有水印,没有广告。编辑器里的每个工具对所有人开放,从抠图到视频导出。
  • 非要你注册:打开编辑器就能设计,游客的作品存在浏览器里;等你想把设计存进云端,再建账号,一键把游客作品迁移过去。
  • 数据不属于你:一条 docker compose up 就能把应用、API、数据库和实时协作一起跑在你自己的服务器上,每个设计和上传的文件都在你的掌控之内。

它是一个「真编辑器」,不是玩具

Doory 在功能上并没有把「免费」当成缩水的借口。README 里的功能清单相当密集,我把它整理成一张表:

类别能力
文字标题、曲线文字、文字特效、字体搭配、项目符号/编号列表、开源字体库以及你自上传的字体
元素形状、线条与箭头,约 2.5 万个图标、emoji 与插画,贴纸,二维码
图片上传、裁剪、蒙版与滤镜,浏览器内一键抠图(模型在前端跑,不上传),接入 Unsplash / Pexels 图库搜索
排版布局图层可命名/锁定/隐藏、分组、对齐参考线、吸附、标尺、不同尺寸的多页设计、magic resize
动效27 种进入/退出动画、12 种强调动画、16 种页面切换,全部挂在时间轴上
声音内置 24 段音乐循环与 88 个音效(CC0)、上传、配音录制、裁剪与淡入淡出
演示演讲者备注、计时、自动播放、激光笔,以及第二个演示者窗口
协作可查看 / 可评论 / 可编辑的分享链接(可选密码),钉住评论、版本历史、带实时光标的多人协同编辑
品牌品牌套件:把你自己的颜色、字体、Logo 收在一处,每个设计里一键调用
导出PNG(带透明通道)、JPG、SVG、PDF,以及 MP4、WebM 和动图 GIF,全部在浏览器里生成;要印刷还可导出带出血和裁切标记的 PDF
Doory 的功能版图(整理自官方 README)

值得一提的是那套「图层」模型:每个对象就是一个图层,可以重命名、锁定、隐藏、拖动排序、分组,右键还能复制、克隆、删除和排列。对于从 Photoshop / Figma 这类工具过来的人,这套心智模型几乎零学习成本。

技术架构:前端 Fabric.js,后端 Django,协作靠 Yjs

README 里「Built with」一节把技术栈列得很清爽,可以分成浏览器侧和服务端两条线:

  • 浏览器端:React 19、TypeScript、Vite、Fabric.js(画布与对象模型)、Yjs(实时协同的 CRDT 底座)和 Zustand(状态管理)。
  • 服务端:Django 5、Django REST Framework、Channels(WebSocket,撑起 /ws 的实时协作)和 PostgreSQL。
  • 部署:Docker Compose 编排 web(nginx)+ api + 数据库,可选 Redis 和 S3 兼容对象存储。

这里有个设计细节值得单独说:浏览器永远只跟一个地址对话。web 容器负责托管前端应用,并把 /api 和 /ws 反向代理给后端。也就是说,前端、API 和协同 WebSocket 在浏览器看来是同一个域,既省去了跨域配置,也让「自托管一个完整的编辑器」这件事变得对新手友好。

多人协同之所以能做到「实时光标」,靠的是 Yjs 这类 CRDT 方案——多个人的编辑操作在各自本地先应用,再通过网络合并,天然避免冲突。配合 Django Channels 的 WebSocket 通道,就能把每次光标移动和对象改动广播给所有协作者。

怎么自托管:三条命令起步

这是 Doory 最吸引人的地方——官方把部署压缩到了三条命令:

cp .env.example .env     # 设置 DJANGO_SECRET_KEY(openssl rand -base64 48)和 POSTGRES_PASSWORD
docker compose up -d --build
docker compose exec api python manage.py createsuperuser

然后打开 http://localhost:8080 就能开始设计。刚部署好的站点是空的,想要内置的模板、图标、字体和音频,再跑几条「填内容」命令即可:

docker compose exec api python manage.py seed_gallery         # 模板分类
docker compose exec api python manage.py sync_fonts --popular 100
docker compose exec api python manage.py seed_templates       # 起手模板
docker compose exec api python manage.py seed_elements        # 形状与图形
docker compose exec api python manage.py sync_element_packs   # 图标、emoji、插画
docker compose exec api python manage.py sync_models          # 抠图模型
docker compose exec api python manage.py sync_audio           # 音乐与音效

.env 里还有几个值得留意的开关:SITE_URL 填公开地址,SECURE_SSL_REDIRECT / SECURE_COOKIES 决定是否强制 HTTPS,GOOGLE_CLIENT_ID 开启 Google 登录,UNSPLASH_ACCESS_KEY / PEXELS_API_KEY 打开图库搜索,USE_S3 与 AWS_* 则把上传文件存到 S3 兼容存储而不是本地卷。想本地开发,用 make setup 配好环境,再分别 make dev-api(API 跑在 8000)和 make dev-web(前端跑在 5173)。

Doory 对比 Canva

README 里专门放了一张对比表,态度挺坦率:Canva 是个好产品,Doory 是给那些想要「同类工具、但免费、开放、在自己手里」的人准备的。

维度DooryCanva
价格免费,全部功能免费版 + 付费 Pro / Teams
开源✅❌
可自托管✅❌
免账号设计✅❌
文件存在自己控制的设施上✅❌
实时协作与评论✅✅
动画 / 视频 / GIF 导出✅✅
一键抠图✅ 浏览器内完成✅
模板库10 个起手模板,外加自建体量巨大的模板库
Doory 与 Canva 的能力与自由度对比(整理自官方 README)

差距也很诚实:模板库的规模,Doory 远不如 Canva。但如果你在意的是「数据在谁手里」「用不用付钱」「能不能自己改」,这张表的左列就是它存在的理由。

许可证:不是标准开源,得保留署名

这点必须如实说明。Doory 采用的不是 MIT / Apache 这类标准开源协议,而是 Attribution Assurance License(署名保证许可证),GitHub 上的识别结果是 NOASSERTION。你可以使用、修改、再分发,包括商业用途,但必须给作者署名:保留 LICENSE 和 NOTICE 文件,并在运行中的应用里显著展示这条署名:

Doory by Siam, creator and maintainer of Doory — https://github.com/shaongitbd/doory

换句话说,它不是「随便用」的公共领域软件:商业托管给用户也没问题,但署名这道门槛不能省。使用前最好把 LICENSE 和 NOTICE 读一遍,第三方软件、字体和内容各自保留自己的许可(见 THIRD_PARTY.md)。

小结

Doory 有几点确实让人眼前一亮:它没有把「免费」当成功能缩水的借口,抠图、动画、视频导出这些通常被锁在付费墙后的能力照样开放;它把「不注册也能用」和「数据自己掌控」做成了默认姿态;它用 Yjs + WebSocket 把多人协同和实时光标做得像模像样;部署体验也被压缩到了三条命令。它在模板体量上还追不上 Canva,署名许可证也需要留意——但对想在自己的服务器上跑一套「设计编辑器」、又不想被订阅制绑定的人来说,Doory 是个很值得一试的起点。

项目地址:github.com/shaongitbd/doory
官方网站:doory.art · 许可证:Attribution Assurance License

© 版权声明
THE END
喜欢就支持一下吧
点赞6 分享