当前位置: 首页 > article >正文

本地部署的drawio绘图存储调研

前言

之前本地使用 drawio 的 war 包方式,部署了本地绘图 https://blog.qc7.org/archives/drawio-deploy

但是绘图是保存在本地的,不支持存储到服务器,也可以配置 github、google 等第三方存储

这里尝试了一下本地 drawio + github 的存储方式

先说结论

1、本地部署的 drawio,只能将绘图存储到 public 仓库,暂时没找到可以存储到 private 仓库的

2、使用官网的 https://app.diagrams.net/ 的 web 版,可以将绘图存储到 private 仓库,但是官网服务会慢一点

官网存储到github私有仓库

创建仓库和应用

新建一个私有的仓库 drawio

安装 draw.io App 应用 https://github.com/apps/draw-io-app

并选择刚创建的私有仓库 drawio

配置授权

打开官网进行绘图 https://app.diagrams.net/

在保存绘图的时候,选择 github 并进行授权,授权后指定位置为刚创建的 drawio 私有仓库

本地drawio保存到github

生成应用

登录 github 并打开开发者页面 https://github.com/settings/developers ,创建一个 OAuth 应用

输入应用的信息,其中 Homepage URL 为本地的 drawio 地址,以及 callback 地址如下

这里的 callback 地址为 github2,然后点击注册应用

将会进行 OAuth 应用创建,生成 client id,这里还需要点击一下才能生成 client secret

生成后将 client id 和 client secret 复制出来

修改配置

修改 webapps/draw/js/PreConfig.js 文件,增加本地 drawio 的地址以及 github 的配置信息

这里的 DRAWIO_GITHUB_ID 就是前面创建的 client id

另外还需要配置 WEB-INF 目录下的 github_auth_url、github_client_id、github_client_secret 文件内容

github_auth_url 值为 https://github.com/login/oauth/access_token

github_client_id 和 github_client_secret 就是前面生成的 github 配置

授权配置

为了能够存储绘图到 github ,这里需要先创建一个 test 的 public 仓库

然后回到浏览器中,输入 http://192.168.10.200:8080/draw/ 进行访问

在保存绘图文件的时候,选择 github 进行授权配置,点击 Authorize 按钮进行授权

授权完毕后,会出现一个仓库选择列表,这里只能看到 public 的仓库

选择前面创建的 test 仓库进行存储,drawio 绘图的每次保存都是一次 commit 提交


http://www.kler.cn/a/542488.html

相关文章:

  • 【数据结构入门】一、数组
  • 单张照片可生成写实3D头部模型!Adobe提出FaceLift,从单一的人脸图像中重建出360度的头部模型。
  • 用Python编写经典《贪吃蛇》小游戏
  • Android和DLT日志系统
  • 11vue3实战-----封装缓存工具
  • 【Docker】
  • 数据结构--迷宫问题
  • 在nodejs中使用RabbitMQ(三)Routing、Topics、Headers
  • Flink-DataStream API
  • Redis Sentinel(哨兵)模式介绍
  • 力扣动态规划-26【算法学习day.120】
  • DeepSeek API 调用 - Spring Boot 实现
  • 【经验分享】Linux 系统安装后内核参数优化
  • C++中函数的调用
  • 机器学习 - 进一步理解最大似然估计和高斯分布的关系
  • kafka服务端之日志磁盘存储
  • 从零开始设计一个完整的网站:HTML、CSS、PHP、MySQL 和 JavaScript 实战教程
  • 如何评估云原生GenAI应用开发中的安全风险(下)
  • MySQL 中可以通过添加主键来节省磁盘空间吗?(译文)
  • jQuery UI 下载指南
  • 腾讯云HAI部署DeepSeek结合Ollama API搭建智能对话系统
  • [QMT量化交易小白入门]-二十二、deepseek+cline+vscode,让小白使用miniQMT量化交易成为可能
  • MR30分布式IO模块:驱动智能制造工厂的工业互联与高效控制新范式
  • React进行路由跳转的方法汇总
  • 在 Qt 开发中,可以将 QML 封装成库
  • 基于Springmvc+MyBatis+Spring+Bootstrap+EasyUI+Mysql的个人博客系统