Drawnix 私有白板:3条命令在内网跑起开源白板
【免费下载链接】drawnix开源白板工具(SaaS),一体化白板,包含思维导图、流程图、自由画等。All in one open-source whiteboard tool with mind, flowchart, freehand and etc.项目地址: https://gitcode.com/GitHub_Trending/dr/drawnix
周五下午,一张流程图突然要赶出来,用公网在线白板又卡在安全规定上。这时候可以把 Drawnix 拉出来:开源一体化白板,思维导图、流程图、自由画都有,一个 Docker 镜像跑在内网,无后端、无数据库,打开页面就能画。
30 秒速览
部署完成后,你的环境长这样。下面四条都是交付状态,不是学习目标:
- 浏览器打开 http://localhost:8080 即见白板画布,免注册、免后端
- 单个容器后台常驻,静态站点服务,资源占用接近于零
- 思维导图、流程图、自由画笔、插入图片开箱即用,一键导出 PNG 或 .drawnix
- 内容自动存入浏览器缓存,刷新页面不丢
环境体检
部署前用两条命令做个体检:Docker 可用、端口没被占。
docker --version ss -tlnp | grep 8080没装 Docker 的参考官方文档,本文不展开。第二条命令有输出,说明 8080 已被占用,要么换映射端口,要么停掉占用进程。这步卡住的人,通常不是命令打错,是 Docker 服务压根没起。
核心部署
拉取预构建镜像
项目提供了预构建镜像,体积很小:
docker pull pubuzhixing/drawnix:latest想自己构建也可以,Dockerfile 是多阶段流程:Node 20 构建,再用轻量静态服务器跑,一句docker build -t drawnix:local .收尾。
启动容器
docker run -d -p 8080:80 --name drawnix pubuzhixing/drawnix:latest| 参数 | 含义 |
|---|---|
-d | 后台运行,不占终端 |
-p 8080:80 | 主机 8080 映射到容器 80,静态服务器监听 80 |
--name drawnix | 起名,方便后续看日志、清理 |
验证访问
curl -I http://localhost:8080看到 HTTP/1.1 200 就说明起来了。最后一步,浏览器打开 http://localhost:8080,画布直接出现在眼前。
按需调参
命令跑通后,你大概率会想改点东西。最高频的两个:
改端口
只动-p的左半边,右边固定是 80:
docker run -d -p 3000:80 --name drawnix pubuzhixing/drawnix:latest之后访问 http://localhost:3000。
挂载静态文件
先说个反直觉的点:Drawnix 的画布存在浏览器 localStorage 里,服务端没有用户数据,"持久化"在这里是不存在的伪需求。真正值得挂载的是静态目录,自己替换构建产物后不用重建镜像:
docker run -d -p 8080:80 -v /data/drawnix:/home/static:ro --name drawnix pubuzhixing/drawnix:latest把dist/apps/web的内容放进/data/drawnix,只读挂载更稳。
上线后的第一周
- 版本更新:停掉旧容器、删掉、拉新镜像、重跑,四步一次完成:
docker stop drawnix docker rm drawnix docker pull pubuzhixing/drawnix:latest docker run -d -p 8080:80 --name drawnix pubuzhixing/drawnix:latest- 备份:没有数据库可 dump。要归档某张板子,从画布导出 PNG 或 .drawnix 即可,.drawnix 是 JSON 格式,日后可再导入。
- 进阶:想要域名加 HTTPS,前面挂一层 Nginx 反代到容器端口即可;SPA 路由与缓存头仓库已配好,见 apps/web/public/_redirects。想玩灰度,起两个容器用不同端口就行。
排错速查
| 现象 | 一条排查命令 | 大概率原因 / 解法 |
|---|---|---|
| 浏览器连接被拒 | docker ps -a | 容器没跑或已退出,看docker logs drawnix最后几行 |
| 端口 8080 被占用 | ss -tlnp \| grep 8080 | 有进程占着,改映射端口或停掉占用方 |
| 容器反复重启 | docker logs drawnix | 静态目录读取失败,用 -v 挂载时先查目录权限 |
| docker 命令不存在 | systemctl status docker | Docker 服务没启动,先把它拉起来 |
延伸阅读
- README.md:特性清单与本地开发命令
- Dockerfile:完整构建流程
想往深了挖,从这里开始。
【免费下载链接】drawnix开源白板工具(SaaS),一体化白板,包含思维导图、流程图、自由画等。All in one open-source whiteboard tool with mind, flowchart, freehand and etc.项目地址: https://gitcode.com/GitHub_Trending/dr/drawnix
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考