介绍
tldraw是一款免费的绘图和图表工具,具有手绘风格和智能箭头、捕捉和便签等便捷功能,可以导入本机图片,绘图后也可以导出各种图片格式。
使用的v1版本制作的镜像,不过也够用了🤔
项目支持中文(右下角点击问号修改),支持英文、符号、数字手写体,不支持中文手写体。
自托管不支持多人项目,可以用官方的。
GitHub地址-v1:tldraw/tldraw-v1: A tiny little drawing app. (github.com)
GitHub地址-v2:tldraw/tldraw: a very good whiteboard (github.com)
官网:tldraw
更好的docker镜像:ratneo/tldraw - Docker Image
从A tiny little drawing app变成了a very good whiteboard🥳
预览
下面这张是官网做的,字体不一样。
部署
x64架构可跳过构建镜像阶段直接运行
构建镜像
# 下载代码
git clone --depth=1 https://github.com/tldraw/tldraw-v1.git
# 进入目录
cd tldraw-v1/apps/www/
创建Dockerfile文件
FROM node:16-alpine
WORKDIR /app
COPY . .
RUN yarn && yarn build
FROM alpine:latest
RUN apk add --no-cache yarn
WORKDIR /app
COPY --from=0 /app/public ./public
COPY --from=0 --chown=nextjs:nodejs /app/.next ./.next
COPY --from=0 /app/node_modules ./node_modules
COPY --from=0 /app/package.json ./package.json
CMD ["yarn","start"]
# 构建镜像
docker build -t tldraw .
运行
docker run -d --name tldraw -p 3445:80 ratneo/tldraw
ip:3445可打开界面
可以自行修改容器名、端口、启动策略等参数,若使用自己构建的镜像一并修改镜像。
需要反代可以看这篇:nginxWebUI使用方法 - MJ的博客
没有80、443端口或纯内网鸡可以看这篇:CloudFlare Tunnels 内网穿透 家宽建站 - MJ的博客
一点遗憾
构建出来的镜像体积有530MB,太大了🥲一个node_modules/文件夹占了476MB;
standalone应该能进一步缩小体积,不过我不会😋
参考文档
[1]免费的绘图和图表工具Tldraw | 老苏的blog (laosu.cf)
[2][feature] Publish docker image? · Issue #96 · tldraw/tldraw-v1 (github.com)