mirror of
https://github.com/BookStackApp/BookStack.git
synced 2026-02-12 03:09:38 +03:00
Feature Request: Support for self-hosted draw.io #665
Closed
opened 2026-02-04 21:44:18 +03:00 by OVERLORD
·
12 comments
No Branch/Tag Specified
development
l10n_development
release
llm_only
vectors
v25-11
docker_env
drawio_rendering
user_permissions
ldap_host_failover
svg_image
prosemirror
captcha_example
fix/video-export
v25.12.3
v25.12.2
v25.12.1
v25.12
v25.11.6
v25.11.5
v25.11.4
v24.11.4
v25.11.3
v25.11.2
v25.11.1
v25.11
v25.07.3
v25.07.2
v25.07.1
v25.07
v25.05.2
v25.05.1
v25.05
v25.02.5
v25.02.4
v25.02.3
v25.02.2
v25.02.1
v25.02
v24.12.1
v24.12
v24.10.3
v24.10.2
v24.10.1
v24.10
v24.05.4
v24.05.3
v24.05.2
v24.05.1
v24.05
v24.02.3
v24.02.2
v24.02.1
v24.02
v23.12.3
v23.12.2
v23.12.1
v23.12
v23.10.4
v23.10.3
v23.10.2
v23.10.1
v23.10
v23.08.3
v23.08.2
v23.08.1
v23.08
v23.06.2
v23.06.1
v23.06
v23.05.2
v23.05.1
v23.05
v23.02.3
v23.02.2
v23.02.1
v23.02
v23.01.1
v23.01
v22.11.1
v22.11
v22.10.2
v22.10.1
v22.10
v22.09.1
v22.09
v22.07.3
v22.07.2
v22.07.1
v22.07
v22.06.2
v22.06.1
v22.06
v22.04.2
v22.04.1
v22.04
v22.03.1
v22.03
v22.02.3
v22.02.2
v22.02.1
v22.02
v21.12.5
v21.12.4
v21.12.3
v21.12.2
v21.12.1
v21.12
v21.11.3
v21.11.2
v21.11.1
v21.11
v21.10.3
v21.10.2
v21.10.1
v21.10
v21.08.6
v21.08.5
v21.08.4
v21.08.3
v21.08.2
v21.08.1
v21.08
v21.05.4
v21.05.3
v21.05.2
v21.05.1
v21.05
v21.04.6
v21.04.5
v21.04.4
v21.04.3
v21.04.2
v21.04.1
v21.04
v0.31.8
v0.31.7
v0.31.6
v0.31.5
v0.31.4
v0.31.3
v0.31.2
v0.31.1
v0.31.0
v0.30.7
v0.30.6
v0.30.5
v0.30.4
v0.30.3
v0.30.2
v0.30.1
v0.30.0
v0.29.3
v0.29.2
v0.29.1
v0.29.0
v0.28.3
v0.28.2
v0.28.1
v0.28.0
v0.27.5
v0.27.4
v0.27.3
v0.27.2
v0.27.1
v0.27
v0.26.4
v0.26.3
v0.26.2
v0.26.1
v0.26.0
v0.25.5
v0.25.4
v0.25.3
v0.25.2
v0.25.1
v0.25.0
v0.24.3
v0.24.2
v0.24.1
v0.24.0
v0.23.2
v0.23.1
v0.23.0
v0.22.0
v0.21.0
v0.20.3
v0.20.2
v0.20.1
v0.20.0
v0.19.0
v0.18.5
v0.18.4
v0.18.3
v0.18.2
v0.18.1
v0.18.0
v0.17.4
v0.17.3
v0.17.2
v0.17.1
v0.17.0
v0.16.3
v0.16.2
v0.16.1
v0.16.0
v0.15.3
v0.15.2
v0.15.1
v0.15.0
v0.14.3
v0.14.2
v0.14.1
v0.14.0
v0.13.1
v0.13.0
v0.12.2
v0.12.1
v0.12.0
v0.11.2
v0.11.1
v0.11.0
v0.10.0
v0.9.3
v0.9.2
v0.9.1
v0.9.0
v0.8.2
v0.8.1
v0.8.0
v0.7.6
v0.7.5
v0.7.4
v0.7.3
0.7.2
v.0.7.1
v0.7.0
v0.6.3
v0.6.2
v0.6.1
v0.6.0
v0.5.0
Labels
Clear labels
🎨 Design
📖 Docs Update
🐛 Bug
🐛 Bug
:cat2:🐈 Possible duplicate
💿 Database
☕ Open to discussion
💻 Front-End
🐕 Support
🚪 Authentication
🌍 Translations
🔌 API Task
🏭 Back-End
⛲ Upstream
🔨 Feature Request
🛠️ Enhancement
🛠️ Enhancement
🛠️ Enhancement
❤️ Happy feedback
🔒 Security
🔍 Pending Validation
💆 UX
📝 WYSIWYG Editor
🌔 Out of scope
🔩 API Request
:octocat: Admin/Meta
🖌️ View Customization
❓ Question
🚀 Priority
🛡️ Blocked
🚚 Export System
♿ A11y
🔧 Maintenance
> Markdown Editor
pull-request
Mirrored from GitHub Pull Request
Milestone
No items
No Milestone
Projects
Clear projects
No project
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: starred/BookStack#665
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @justinzyw on GitHub (May 5, 2018).
For Feature Requests
Desired Feature: #
It is awesome to see the draw.io online support implmented, is it possible to extend this feature by adding the support for self-hosted draw.io instance please?
@justinzyw commented on GitHub (Jun 19, 2018):
I am not a programer but please let me know what I can do to have this implemented
@derek-shnosh commented on GitHub (Aug 25, 2018):
This is a great suggestion if draw.io supports/allows it.
I just put it through its paces and I can see quite a few great use-cases for using the Draw.io integration.
Our documentation/diagrams contain too much sensitive/confidential information, so on-prem isn't just a nice-to-have for us, it's a contractual obligation.
Would love to see this, if its possible.
@poVoq commented on GitHub (Aug 29, 2018):
Of course that is possible: https://github.com/jgraph/drawio
Probably just need a small code change to use a different URL.
@justinzyw commented on GitHub (Aug 30, 2018):
by checking the code.. it seems to that there are two changes needed:
@ssddanbrown commented on GitHub (Aug 30, 2018):
Yeah,
Would prefer if this was not an app setting though since would be fairly low traffic. There's already a
DRAWIOenv option at play, Maybe just pass this if it's a URL.Has anyone actually got a self-hosted draw.io instance on the go?
Would need to actually confirm the required endpoints/functionality are 100% supported in open/self-hosted version. In addition, I'd have thought there'd be some authentication layer that would need to be considered.
@poVoq commented on GitHub (Aug 30, 2018):
Yes I have it working selfhosted with the Nextcloud plugin for it: https://apps.nextcloud.com/apps/drawio
It still uses by default the external server for converting and exporting .pdf files though. A bit annoying if you really want it to be completly selfhosted or in an environment with no internet connection.
They recently also release those server components on github, but they do not run easily on a php hoster.
No authentification layer involved actually, which means anyone who knows the url can use it stand-alone. Not a big deal though as it is more or less purly client side JS.
@davidjgraph commented on GitHub (Oct 15, 2018):
draw.io is fully client-side, aside from the PDF export. It's written as a stand-alone single page app with integration to third-party storage, there's no auth/storage. If you're using draw in embed mode, that works the same way when you host it. Easiest way to test it is clone https://github.com/jgraph/drawio, publish to gh-pages and link to that.
The PDF export is open source, https://github.com/jgraph/draw-image-export2 (everything should be open source). That said, there's a stealth=1 URL parameter, see https://desk.draw.io/support/solutions/articles/16000042546-what-url-parameters-are-supported-, that switches off everything external.
Can I also suggest ui=min, it's less opinionated as a theme and generally works better for integrations.
@pleasegitgood commented on GitHub (Jul 12, 2019):
Hi! Thanks for the suggestion and edit location.
First, I'm working off linuxserver's docker image (https://hub.docker.com/r/linuxserver/bookstack)
Second, I was able to set up my local instance of draw.io, but any changes i made to /resources/assets/js/services/drawio.js were not taking any effect in the docker container. Bookstacks still tries to contact draw.io when I edit a drawing. Tried restarting the container (even committing changes to a new docker image) and clearing my browser cache as well.
Any advice i could get to get this working? Thanks!
@pleasegitgood commented on GitHub (Jul 12, 2019):
Hi! May I know the exact code changes you made to redirect www.draw.io to your local instance?
Updating drawio.js alone (const drawIoUrl) does not seem to have much effect, even on a manual installed instance.
Much appreciated. Thanks!
@ssddanbrown commented on GitHub (Jul 15, 2019):
@pleasegitgood All the files in
/resources/assets/jsare not directly used in releases, These files are built into a single bundle found atpublic/dist/app.js. You could search that file forwww.draw.ioand replace that single URL to test using your own instance. Note this may cause issues when it comes to updates as BookStack will have a new version of this file.@ssddanbrown commented on GitHub (Apr 5, 2020):
Time moves way too fast. I could swear that this was opened only a couple of months ago. Came across this again a few days ago and thought i'd be a nice quick one to include. This has now been included in the master branch, to be part of v0.29.
This will be configurable through the
.envfile like so:Will update the docs before release.
Thanks @davidjgraph for the confirmation on functionality above and URL param documentation. Will link to that and highlight the use of the
stealthparam when updating the BookStack docs on release.I gave that a test and tbh I preferred the default full-featured UI, since there's more on the screen to get started with. Just seems more accessible having the sidebars immediately available. That said, If we ever want draw.io loaded inline or in a modal that theme will be ideal.
@chary1112004 commented on GitHub (Mar 19, 2025):
@ssddanbrown is this one still working for you while using self-host drawio docker?
We face the issue when connecting from application to self-host drawio. It keeps loading as below capture.
And we checked in document https://www.drawio.com/doc/faq/embed-mode it mentioned that embed=1 is only supported on https://embed.diagrams.net/.
If the embed=1 URL parameter is used, the client runs in embed mode and the page will send a “ready” message to the opener or parent when the page is loaded. This mode is only supported on https://embed.diagrams.net/.