Drawnix:无限画布上的开源白板工具
这个项目很早之前就关注过, 那时还没提供 Dockerfile😁
简介
Drawnix 是一款基于 Plait 框架打造的免费开源白板工具,提供思维导图、流程图和自由绘画等功能。依托插件化架构,用户能够随需扩展多种交互组件。每一次操作都能实时保存至浏览器缓存,确保内容不丢失。
核心特性
- 多样化绘图模式
- 支持思维导图、流程图与自由画笔,满足不同场景需求
- 可插入图片,通过简单拖拽丰富画面
- 高效编辑体验
- 撤销、重做、复制与粘贴操作流畅
- 自动保存功能避免意外丢失(浏览器缓存)
- 无限画布与导出能力
- 通过缩放与滚动打造无边界创作空间
- 可将画布导出为 PNG 或 JSON(.drawnix) 文件
- 插件机制与兼容性
- 插件架构支持 Angular、React 等多种 UI 框架
- 自带 Slate 富文本扩展,后续可接入更多文本编辑插件
- 未来可通过社区插件实现更多应用场景
项目
- 代码仓库 plait-board/drawnix
- 官方演示站 drawnix.com
名称灵感
Drawnix ,源于绘画( Draw )与凤凰( Phoenix )的灵感交织。
凤凰象征着生生不息的创造力,而 Draw 代表着人类最原始的表达方式。在这里,每一次创作都是一次艺术的涅槃,每一笔绘画都是灵感的重生。
创意如同凤凰,浴火方能重生,而 Drawnix 要做技术与创意之火的守护者。
Draw Beyond, Rise Above.
与 Plait 框架的深度结合
Drawnix 底层依托作者公司开源的 Plait 画图框架,这是知识库产品的重要技术沉淀。两者紧密结合让开发者享受“一键开箱即用”的便捷,同时还能在业务分层中灵活装载自定义插件。
这款工具不仅是面向个人创作者,同样适用于团队协作与在线教学。无限画布中,每一次涂抹都让构思变得更生动、更立体,技术与想象力在此汇合,带来前所未有的白板体验。
私有化部署
作者已经提供了 Dockerfile,基于此 Dockerfile,我构建了一个镜像, 默认监听 80 端口,除此外无特殊配置
ccr.ccs.tencentyun.com/k7scn/drawnix
基于此97ab1d4构建完成
compose 部署
- docker-compose.yaml
services:
drawnix:
image: ccr.ccs.tencentyun.com/k7scn/drawnix
container_name: drawnix
ports:
- '100.90.80.15:8088:80'
restart: always
然后配置 caddy 代理即可。
k3s 部署
我主要使用 k3s 部署,对外访问使用 cft
- drawnix.yaml
---
apiVersion: apps.kruise.io/v1alpha1
kind: CloneSet
metadata:
labels:
app: drawnix
name: drawnix
namespace: kc-system
spec:
replicas: 1
selector:
matchLabels:
app: drawnix
updateStrategy:
type: InPlaceIfPossible
template:
metadata:
labels:
app: drawnix
spec:
tolerations:
- operator: Exists
nodeSelector:
node-role.kubernetes.io/kc: "true"
containers:
- image: tcr.china.12306.work/github/drawnix
imagePullPolicy: Always
name: drawnix
ports:
- containerPort: 80
protocol: TCP
resources:
requests:
cpu: 100m
memory: 128Mi
restartPolicy: Always
---
apiVersion: v1
kind: Service
metadata:
labels:
app: drawnix
name: drawnix
namespace: kc-system
spec:
ports:
- name: http
port: 80
protocol: TCP
targetPort: 80
selector:
app: drawnix
type: ClusterIP
apply 之后,在 cfd tunnel 管理页添加公共主机名
演示站
欢迎自建,不保证 SLA,暂时不知道开源版与官方演示有什么区别。
欢迎订阅我的微信公众号,同步更新 😁
