{"id":13457117,"url":"https://github.com/jgraph/docker-drawio","last_synced_at":"2025-10-06T18:32:12.875Z","repository":{"id":40605280,"uuid":"201299132","full_name":"jgraph/docker-drawio","owner":"jgraph","description":"Dockerized draw.io based on whichever is the most secure image at the time.","archived":false,"fork":true,"pushed_at":"2024-12-27T17:34:00.000Z","size":401,"stargazers_count":1621,"open_issues_count":16,"forks_count":373,"subscribers_count":24,"default_branch":"dev","last_synced_at":"2024-12-27T18:28:25.037Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":"fjudith/docker-draw.io","license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jgraph.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null},"funding":{"github":"jgraph"}},"created_at":"2019-08-08T16:43:39.000Z","updated_at":"2024-12-27T17:34:03.000Z","dependencies_parsed_at":"2023-09-25T22:43:01.758Z","dependency_job_id":null,"html_url":"https://github.com/jgraph/docker-drawio","commit_stats":null,"previous_names":[],"tags_count":100,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jgraph%2Fdocker-drawio","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jgraph%2Fdocker-drawio/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jgraph%2Fdocker-drawio/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jgraph%2Fdocker-drawio/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jgraph","download_url":"https://codeload.github.com/jgraph/docker-drawio/tar.gz/refs/heads/dev","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":235542253,"owners_count":19006820,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-07-31T08:01:33.412Z","updated_at":"2025-10-06T18:32:12.870Z","avatar_url":"https://github.com/jgraph.png","language":"Shell","funding_links":["https://github.com/sponsors/jgraph"],"categories":["Shell","others"],"sub_categories":[],"readme":"[![Build Status](https://github.com/jgraph/docker-drawio/workflows/Docker%20Image%20CI/badge.svg)](https://github.com/jgraph/docker-drawio/actions)\n[![Build Status](https://github.com/jgraph/docker-drawio/workflows/Docker%20image-export%20CI/badge.svg)](https://github.com/jgraph/docker-drawio/actions)\n\n\n## Introduction\n\n[draw.io](https://github.com/jgraph/drawio) is a whiteboarding / diagramming software application. This project contains various docker implementations of draw.io and associated tools:\n\n* draw.io docker image that is always up-to-date with draw.io releases\n* draw.io export server image which allow exporting draw.io diagrams to pdf and images\n* docker-compose to run draw.io with the export server\n* docker-compose to run draw.io integrated within nextcloud\n* docker-compose to run draw.io self-contained without any dependency on diagrams.net website (with the export server, Google Drive support, OneDrive support, and EMF conversion support (for VSDX export)\n\n## Description\n\nThe Dockerfile builds from `tomcat:9-jre11` (see \u003chttps://hub.docker.com/_/tomcat/\u003e)\n\n**Note: Starting from version 16.5.3, alpine and debian images are no longer maintained. We changed to a single image that uses the tomcat image with the least security vulnerabilities.**\n\nForked from [fjudith/draw.io](https://github.com/fjudith/docker-draw.io)\n\n## Features\n\n* Based on Tomcat so it can be used directly or behind a reverse-proxy\n* Self-Signed certificate autogen\n* Let's encrypt certificate autogen\n* Support SSL Keystore mount to `/user/local/tomcat/.keystore`\n\n## Quick Start\n\nRun the container.\n\n```bash\ndocker run -it --rm --name=\"draw\" -p 8080:8080 -p 8443:8443 jgraph/drawio\n```\n\nStart a web browser session to \u003chttp://localhost:8080/?offline=1\u0026https=0\u003e or \u003chttps://localhost:8443/?offline=1\u003e\n\nIf you're running `Docker Toolbox` then start a web browser session to \u003chttp://192.168.99.100:8080/?offline=1\u0026https=0\u003e or \u003chttps://192.168.99.100:8443/?offline=1\u003e\n\n\u003e `?offline=1` is a security feature that disables support of cloud storage.\n\n## Environment variables\n\n* **LETS_ENCRYPT_ENABLED**: Enables Let's Encrypt certificate instead of self-signed; default `false`\n* **PUBLIC_DNS**: DNS domain to be used as certificate \"CN\" record; default `draw.example.com`\n* **ORGANISATION_UNIT**: Organisation unit to be used as certificate \"OU\" record; default `Cloud Native Application`\n* **ORGANISATION**: Organisation name to be used as certificate \"O\" record; default `example inc`\n* **CITY**: City name to be used as certificate \"L\" record; default `Paris`\n* **STATE**: State name to be used as certificate \"ST\" record; default `Paris`\n* **COUNTRY_CODE**: Country code to be used as certificate \"C\" record; default `FR`\n* **KEYSTORE_PASS**: \".keystore\"/.jks\" store password; default `V3ry1nS3cur3P4ssw0rd`\n* **KEY_PASS**: Private key password; default `\u003cref:KEYSTORE_PASS\u003e`\n\n## HTTPS SSL Certificate via Let's Encrypt\n\n### Prerequisites:\n\n1. A Linux machine connected to the Internet with ports 443 and 80 open\n1. A domain/subdomain name pointing to this machine's IP address. (e.g., drawio.example.com)\n\n### Method:\n\n1. Create a directory to store the letsencrypt data. (e.g., /opt/docker/drawiodata/letsencrypt-log, /opt/docker/drawiodata/letsencrypt-etc, /opt/docker/drawiodata/letsencrypt-lib)\n2. Using jgraph/drawio docker image, run the following command\n```bash\ndocker run -it -m1g -v \"/opt/docker/drawiodata/letsencrypt-log:/var/log/letsencrypt/\" -v \"/opt/docker/drawiodata/letsencrypt-etc:/etc/letsencrypt/\" -v \"/opt/docker/drawiodata/letsencrypt-lib:/var/lib/letsencrypt\" -e LETS_ENCRYPT_ENABLED=true -e PUBLIC_DNS=drawio.example.com --rm --name=\"draw\" -p 80:80 -p 443:8443 jgraph/drawio\n```\nNotice that mapping port 80 to container's port 80 allows certbot to work in stand-alone mode. Mapping port 443 to container's port 8443 allows the container tomcat to serve https requests directly.\n\n## Changing draw.io configuration\n\nConfiguration is managed by `DRAWIO_*` environment variables. For a list of these variables, check the `docker-entrypoint.sh` file in the `main` directory. For example, these variables allow enabling integration with Google Drive, OneDrive, ...\n\n## Reference\n\n* \u003chttps://github.com/jgraph/drawio\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjgraph%2Fdocker-drawio","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjgraph%2Fdocker-drawio","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjgraph%2Fdocker-drawio/lists"}