Skip to content

Run as non-root user #186

@CaptainScully

Description

@CaptainScully

I would like to run docker-drawio as a non-root user for security, same as #36, which was marked as completed. In my compose file, I set the user option to a non-root UID and GID, but get several permission errors in the docker-compose log. The container runs, but its webpage is not accessible. Removing the user option so it runs as root makes it work fine.

Is there anything else I need to do to run as a non-root user? Many thanks!

Running jgraph/drawio:27.0.5

drawio  | /docker-entrypoint.sh: line 16: /usr/local/tomcat/webapps/draw/js/PreConfig.js: Permission denied
drawio  | Init PreConfig.js
drawio  | /docker-entrypoint.sh: line 17: /usr/local/tomcat/webapps/draw/js/PreConfig.js: Permission denied
drawio  | /docker-entrypoint.sh: line 18: /usr/local/tomcat/webapps/draw/js/PreConfig.js: Permission denied
drawio  | /docker-entrypoint.sh: line 20: /usr/local/tomcat/webapps/draw/js/PreConfig.js: Permission denied
drawio  | /docker-entrypoint.sh: line 24: /usr/local/tomcat/webapps/draw/js/PreConfig.js: Permission denied
drawio  | /docker-entrypoint.sh: line 25: /usr/local/tomcat/webapps/draw/js/PreConfig.js: Permission denied
drawio  | /docker-entrypoint.sh: line 26: /usr/local/tomcat/webapps/draw/js/PreConfig.js: Permission denied
drawio  | /docker-entrypoint.sh: line 27: /usr/local/tomcat/webapps/draw/js/PreConfig.js: Permission denied
drawio  | /docker-entrypoint.sh: line 28: /usr/local/tomcat/webapps/draw/js/PreConfig.js: Permission denied
drawio  | /docker-entrypoint.sh: line 31: /usr/local/tomcat/webapps/draw/js/PreConfig.js: Permission denied
drawio  | /docker-entrypoint.sh: line 32: /usr/local/tomcat/webapps/draw/js/PreConfig.js: Permission denied
drawio  | /docker-entrypoint.sh: line 46: /usr/local/tomcat/webapps/draw/js/PreConfig.js: Permission denied
drawio  | /docker-entrypoint.sh: line 47: /usr/local/tomcat/webapps/draw/js/PreConfig.js: Permission denied
drawio  | Updating Tomcat context path to ''
drawio  | Permission denied: conf/server.xml
drawio  | Permission denied: conf/server.xml
drawio  | /docker-entrypoint.sh: line 62: /usr/local/tomcat/webapps/draw/js/PreConfig.js: Permission denied
drawio  | /docker-entrypoint.sh: line 64: /usr/local/tomcat/webapps/draw/js/PreConfig.js: Permission denied
drawio  | /docker-entrypoint.sh: line 65: /usr/local/tomcat/webapps/draw/js/PreConfig.js: Permission denied
drawio  | /docker-entrypoint.sh: line 67: /usr/local/tomcat/webapps/draw/js/PreConfig.js: Permission denied
drawio  | /docker-entrypoint.sh: line 69: /usr/local/tomcat/webapps/draw/js/PreConfig.js: Permission denied
drawio  | /docker-entrypoint.sh: line 72: /usr/local/tomcat/webapps/draw/js/PreConfig.js: Permission denied
drawio  | /docker-entrypoint.sh: line 73: /usr/local/tomcat/webapps/draw/js/PreConfig.js: Permission denied
drawio  | /docker-entrypoint.sh: line 74: /usr/local/tomcat/webapps/draw/js/PreConfig.js: Permission denied
drawio  | /docker-entrypoint.sh: line 78: /usr/local/tomcat/webapps/draw/js/PreConfig.js: Permission denied
drawio  | /docker-entrypoint.sh: line 96: /usr/local/tomcat/webapps/draw/js/PreConfig.js: Permission denied
drawio  | /docker-entrypoint.sh: line 110: /usr/local/tomcat/webapps/draw/js/PreConfig.js: Permission denied
drawio  | /**
drawio  |  * Copyright (c) 2006-2024, JGraph Ltd
drawio  |  * Copyright (c) 2006-2024, draw.io AG
drawio  |  */
drawio  | // Overrides of global vars need to be pre-loaded
drawio  | window.DRAWIO_PUBLIC_BUILD = true;
drawio  | window.EXPORT_URL = 'REPLACE_WITH_YOUR_IMAGE_SERVER';
drawio  | window.PLANT_URL = 'REPLACE_WITH_YOUR_PLANTUML_SERVER';
drawio  | window.DRAWIO_BASE_URL = null; // Replace with path to base of deployment, e.g. https://www.example.com/folder
drawio  | window.DRAWIO_VIEWER_URL = null; // Replace your path to the viewer js, e.g. https://www.example.com/js/viewer.min.js
drawio  | window.DRAWIO_LIGHTBOX_URL = null; // Replace with your lightbox URL, eg. https://www.example.com
drawio  | window.DRAW_MATH_URL = 'math/es5';
drawio  | window.DRAWIO_CONFIG = null; // Replace with your custom draw.io configurations. For more details, https://www.drawio.com/doc/faq/configure-diagram-editor
drawio  | urlParams['sync'] = 'manual';
drawio  | Init PostConfig.js
drawio  | /docker-entrypoint.sh: line 127: /usr/local/tomcat/webapps/draw/js/PostConfig.js: Permission denied
drawio  | /docker-entrypoint.sh: line 128: /usr/local/tomcat/webapps/draw/js/PostConfig.js: Permission denied
drawio  | /docker-entrypoint.sh: line 129: /usr/local/tomcat/webapps/draw/js/PostConfig.js: Permission denied
drawio  | /docker-entrypoint.sh: line 133: /usr/local/tomcat/webapps/draw/js/PostConfig.js: Permission denied
drawio  | /docker-entrypoint.sh: line 140: /usr/local/tomcat/webapps/draw/js/PostConfig.js: Permission denied
drawio  | /docker-entrypoint.sh: line 144: /usr/local/tomcat/webapps/draw/js/PostConfig.js: Permission denied

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions