万能的开源制图利器 —— draw.io(diagrams.net)自托管与应用分享

在工作中,我们经常需要画各种图:流程图、UML、架构图、网络拓扑、业务逻辑、ER 模型……
常见工具有 Visio、ProcessOn、Lucidchart 等,但它们要么收费、要么依赖云服务,无法用于内网或保密环境。

有没有既开源、又免费、还能完全离线自托管的制图工具?
答案就是:draw.io(现名:diagrams.net)。


✅ draw.io 是什么?

draw.io 是一款 开源、免费、功能强大的通用绘图工具,支持:

  • 流程图、组织结构图
  • UML、时序图、用例图
  • ER 数据库模型图
  • 网络拓扑、云架构图(AWS / Azure / GCP)
  • 软件架构图、服务关系图
  • BPMN、思维导图等

它同时提供:

✔ Web 在线版
✔ 桌面版(Windows、Mac、Linux)
✔ VSCode / Obsidian 插件
自托管服务器版(重点)

也就是说,你可以在自己的服务器上运行一个“公司内部的 draw.io”,所有人不用登录、无需联网即可使用,数据不会上传第三方。


✅ 为什么推荐 draw.io?

优势说明
✅ 完全开源、免费Apache 2.0 协议,可商业使用
✅ 自托管支持内网、机密项目环境可用
✅ 图标库丰富网络、架构、云服务、UML、BPMN……应有尽有
✅ 导出方便PNG、SVG、PDF、XML、HTML
✅ 支持中文操作体验友好
✅ 多系统支持Web、桌面、插件,多场景使用

对需要离线绘图、内网使用、交付客户项目、企业开发文档的人特别友好。


✅ 自托管安装(适合内网环境)

✅ 方式一:Docker 运行(最快)

docker run -d \ --name drawio \ -p 8080:8080 \ jgraph/drawio 

浏览器访问:

http://服务器IP:8080 

即可直接使用,无需登录、无需数据库。


✅ 方式二:Docker Compose(推荐长期部署)

新建 docker-compose.yml

version:"3.8"services:drawio:image: jgraph/drawio:latest container_name: drawio ports:-"8080:8080"-"8443:8443"environment:- DRAWIO_DISABLE_ANALYTICS=true - DRAWIO_ENABLE_PLANTUML=true restart: unless-stopped 

启动:

docker compose up -d 

优势:

✅ 自动重启
✅ 支持启用 PlantUML(序列图/类图自动生成)
✅ 内网即可访问

✅ 自托管效果

在这里插入图片描述

✅ Mermaid 是什么?

Mermaid 是一个基于文本(类似代码)的开源制图语言,用简单描述就能生成专业流程图、时序图、甘特图、状态机、架构关系图。

✅ 支持流程图、时序图、类图、ER 图、状态机、甘特图
✅ 用文本写图 → 可版本管理(Git)
✅ 可嵌入 Markdown、Wiki、文档系统
✅ Obsidian / VSCode / GitLab / Typora / Wiki.js / GitHub 已原生支持
✅ 可自托管渲染(适合离线或内网)

一句话总结:
Mermaid = 图用“代码”生成,让图变得可追踪、可自动化、可被大模型生成。

大模型生成Mermaid

用户浏览商品并下单 → 系统检查库存 → 如果库存不足提示失败 → 否则扣库存 → 用户支付 → 支付成功后生成订单 → 通知仓库发货 将上述的描述转成 Mermaid 
flowchart TD A[用户浏览商品并下单] --> B[系统检查库存] B -->|库存不足| C[提示下单失败] B -->|库存充足| D[扣减库存] D --> E[用户支付] E -->|支付成功| F[生成订单] F --> G[通知仓库发货] 
在这里插入图片描述


在这里插入图片描述

✅ 文件保存方式(重点)

draw.io 不会强制把数据存到服务器,默认保存到用户本地:

  • .drawio / .xml 文件
  • PNG、SVG、PDF

如果需要团队协作,可以接入:

  • WebDAV(Nextcloud、OwnCloud、Seafile)
  • GitLab / Gitea 仓库
  • Samba 文件共享

这比云产品更自由,数据完全掌控在自己手里。


✅ 适用场景

研发团队内部文档、架构图
不依赖外网,图保存到 Git/Nextcloud,安全可控。

高校、培训、教学演示
学生在浏览器打开就能画图,轻量零门槛。

公司交付客户的私有化项目
很多甲方项目不能使用外网制图工具,draw.io 刚好解决痛点。

个人知识管理
结合 Obsidian、VSCode,当本地画图工具使用。

长期使用 Visio 替代品
无需授权、无需破解、完全免费。


✅ 与其他工具对比

工具是否开源是否可私有部署费用难度功能丰富度
draw.io✅ 是✅ 是免费✅ 丰富
ProcessOn❌ 否❌ 否商业中等
Lucidchart❌ 否❌ 否商业
Excalidraw✅ 是✅ 是免费中(偏手绘)
Visio❌ 否✅ 部分商业

综合来看,draw.io是最接近Visio级功能同时完全开源可私有部署的方案。


✅ 总结

draw.io 就像一把“瑞士军刀式”的制图工具:

✅ 开源免费
✅ 自托管,无数据外泄风险
✅ 图标库丰富、支持架构/网络/UML/ER全部场景
✅ 部署简单,几分钟搞定

适合:

  • 开发团队
  • 企业内部系统
  • 信息安全要求高的客户项目
  • 个人学习、文档记录

Read more

前端与 Spring Boot 后端无感 Token 刷新 - 从原理到全栈实践

前端与 Spring Boot 后端无感 Token 刷新 - 从原理到全栈实践

🌷 古之立大事者,不惟有超世之才,亦必有坚忍不拔之志 🎐 个人CSND主页——Micro麦可乐的博客 🐥《Docker实操教程》专栏以最新的Centos版本为基础进行Docker实操教程,入门到实战 🌺《RabbitMQ》专栏19年编写主要介绍使用JAVA开发RabbitMQ的系列教程,从基础知识到项目实战 🌸《设计模式》专栏以实际的生活场景为案例进行讲解,让大家对设计模式有一个更清晰的理解 🌛《开源项目》本专栏主要介绍目前热门的开源项目,带大家快速了解并轻松上手使用 🍎 《前端技术》专栏以实战为主介绍日常开发中前端应用的一些功能以及技巧,均附有完整的代码示例 ✨《开发技巧》本专栏包含了各种系统的设计原理以及注意事项,并分享一些日常开发的功能小技巧 💕《Jenkins实战》专栏主要介绍Jenkins+Docker的实战教程,让你快速掌握项目CI/CD,是2024年最新的实战教程 🌞《Spring Boot》专栏主要介绍我们日常工作项目中经常应用到的功能以及技巧,代码样例完整 👍《Spring Security》专栏中我们将逐步深入Spring Security的各个

By Ne0inhk
从零开始:SpringBoot与KingbaseES的完美融合实践

从零开始:SpringBoot与KingbaseES的完美融合实践

目录 * 从零开始:SpringBoot与KingbaseES的完美融合实践 * 前言 * 一、KingbaseES简介与核心优势 * 二、环境准备与快速体验 * 2.1 Docker环境下的KingbaseES部署 * 2.2 SpringBoot项目配置 * 三、SpringBoot集成KingbaseES实战 * 3.1 数据访问层实现 * 3.2 测试用例编写 * 四、KingbaseES特性深度应用 * 4.1 高效批量操作 * 4.2 事务管理实践 * 4.3 高级特性应用 * 五、性能优化建议 * 六、常见问题解决方案 * 七、总结与展望 * 附录 从零开始:SpringBoot与KingbaseES的完美融合实践 前言 在当今数字化转型的浪潮中,数据库作为企业信息系统的核心组件,其选择与使用直接影响着应用的性能与稳定性。KingbaseES(简称KES)作为国产数据库的佼佼者,凭借其强大的功能和优异的性能,

By Ne0inhk
Spring Cloud与Dubbo架构哲学对决

Spring Cloud与Dubbo架构哲学对决

目录 摘要 🎯 开篇:别被"微服务"这个词忽悠了 🏗️ 架构哲学:两种完全不同的"世界观" 🎨 Spring Cloud:生态为王的全家桶 ⚡ Dubbo:专精RPC的特种兵 📊 性能对决:数据不说谎 🔧 核心原理:扒开看看里面啥样 🎯 Spring Cloud 2025.1.0的"虚拟线程革命" ⚡ Dubbo 3.0的Triple协议:对标gRPC 🚀 实战:从零搭建混合微服务架构 🏢 场景:电商平台(日均订单千万级) 📝 分步骤实现 步骤1:搭建Spring Cloud Gateway 步骤2:Dubbo核心服务实现 步骤3:Spring Cloud外围服务 步骤4:

By Ne0inhk
Flutter 三方库 hive_ce_generator 无脑极速的 NoSQL 大数据对象存盘生成基石(适配鸿蒙 HarmonyOS Next ohos)

Flutter 三方库 hive_ce_generator 无脑极速的 NoSQL 大数据对象存盘生成基石(适配鸿蒙 HarmonyOS Next ohos)

欢迎加入开源鸿蒙跨平台社区:https://openharmonycrossplatform.ZEEKLOG.net 前言 在鸿蒙(OpenHarmony)应用开发中,处理复杂的数据持久化是一个常见的挑战。如果手动将数据对象映射到 SQLite 并编写复杂的迁移逻辑,开发效率将大打折扣。 Hive 是一个高性能的键值对数据库,特别适用于移动端。而 hive_ce_generator 是 Hive 的代码自动生成工具。它可以根据类定义的注解,自动生成对象适配代码(TypeAdapter),实现高效的序列化与反序列化,极大减少了手动操作导致的错误。 一、原理解析 / 概念介绍 1.1 基础概念 hive_ce_generator 是一个构建工具。当你在数据模型类(如 Chat 对象)上添加注解后,它会生成专门的 .g.dart 适配器文件。这些生成的方法比手动映射更高效且类型更安全。 添加

By Ne0inhk