这个项目很早之前就关注过, 那时还没提供 Dockerfile😁
Drawnix 是一款基于 Plait 框架打造的免费开源白板工具,提供思维导图、流程图和自由绘画等功能。依托插件化架构,用户能够随需扩展多种交互组件。每一次操作都能实时保存至浏览器缓存,确保内容不丢失。
Drawnix ,源于绘画( Draw )与凤凰( Phoenix )的灵感交织。
凤凰象征着生生不息的创造力,而 Draw 代表着人类最原始的表达方式。在这里,每一次创作都是一次艺术的涅槃,每一笔绘画都是灵感的重生。
创意如同凤凰,浴火方能重生,而 Drawnix 要做技术与创意之火的守护者。
Draw Beyond, Rise Above.
Drawnix 底层依托作者公司开源的 Plait 画图框架,这是知识库产品的重要技术沉淀。两者紧密结合让开发者享受“一键开箱即用”的便捷,同时还能在业务分层中灵活装载自定义插件。
这款工具不仅是面向个人创作者,同样适用于团队协作与在线教学。无限画布中,每一次涂抹都让构思变得更生动、更立体,技术与想象力在此汇合,带来前所未有的白板体验。
作者已经提供了 Dockerfile,基于此 Dockerfile,我构建了一个镜像, 默认监听 80 端口,除此外无特殊配置
ccr.ccs.tencentyun.com/k7scn/drawnix
基于此97ab1d4构建完成services:
drawnix:
image: ccr.ccs.tencentyun.com/k7scn/drawnix
container_name: drawnix
ports:
- '100.90.80.15:8088:80'
restart: always
然后配置 caddy 代理即可。
我主要使用 k3s 部署,对外访问使用 cft
---
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,暂时不知道开源版与官方演示有什么区别。
欢迎订阅我的微信公众号,同步更新 😁