Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Not possible to run within Docker #12

Closed
2 tasks done
LukeCarrier opened this issue Apr 18, 2020 · 0 comments
Closed
2 tasks done

Not possible to run within Docker #12

LukeCarrier opened this issue Apr 18, 2020 · 0 comments
Assignees
Labels
documentation Improvements or additions to documentation enhancement New feature or request
Milestone

Comments

@LukeCarrier
Copy link
Owner

LukeCarrier commented Apr 18, 2020

There are a couple of problems here:

  • Because draw.io is a desktop application built atop Electron, it requires a running X server to draw a window, even if it's just opening to perform a CLI export. Whilst there's some talk (Support command line (headless) mode inside docker container jgraph/drawio-desktop#127) of a headless option, it doesn't have feature parity with the desktop app. In headless scenarios it must be used in conjunction with Xvfb or its simpler wrapper xvfb-run.
  • Chrome's sandboxing means we need to be able to pass the --no-sandbox option or create an additional user in which to run the service.

I think we should:

  • Document the additional dependencies and use of xvfb-run to get the plugin working in headless configurations.
  • Add drawio_args option #14 Add a drawio_args plugin setting that allows adding additional options to the end of the command. Note that my testing discovered an argument parsing bug in the CLI that causes option values to jump around if options that don't expect arguments are provided ahead of options that do expect them.
@LukeCarrier LukeCarrier self-assigned this Apr 18, 2020
@LukeCarrier LukeCarrier added documentation Improvements or additions to documentation enhancement New feature or request labels Apr 18, 2020
@LukeCarrier LukeCarrier added this to the 0.6.0 milestone Apr 18, 2020
LukeCarrier added a commit that referenced this issue Apr 18, 2020
This allows easily passing the --no-sandbox option to the Draw.io
executable during export, thus making it much easier to run in
containerised environments.

Fixes #12
LukeCarrier added a commit that referenced this issue Apr 18, 2020
This allows easily passing the --no-sandbox option to the Draw.io
executable during export, thus making it much easier to run in
containerised environments.

Fixes #12
LukeCarrier added a commit that referenced this issue Apr 18, 2020
This allows easily passing the --no-sandbox option to the Draw.io
executable during export, thus making it much easier to run in
containerised environments.

Fixes #12
LukeCarrier added a commit that referenced this issue Apr 18, 2020
LukeCarrier added a commit that referenced this issue Apr 18, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
documentation Improvements or additions to documentation enhancement New feature or request
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant