Reasons for this:
- the official docker-drawio image
- uses dev branch of drawio
iswas broken because of upstream changes- tries to do SSL termination (via self signed or letsencrypt)
- this
- uses latest tagged release version of drawio
- this is HTTP only and does not enforce signing, as SSL termination is left to proxy
- is used within existing Nextcloud instance - web interface is mostly for sharing, and draw.io desktop app is for actually working on locally synced files, i.e., no other file storage drivers needed (Google Drive, OneDrive)
- Create DNS record
mydrawioinstance.tld
- Create proxy (extras dir has an example for nginx proxy pass w/ SSL termination)
- Get SSL cert
- Build
git clone # this repo
cp .env.example .env
vi .env # edit mydrawioinstance.tld and ports
docker compose build && \
docker compose up --detach
- For Nextcloud draw.io app settings set Draw.io URL to
https://mydrawioinstance.tld
- Profit
The main composer runs three services - PlantUML Server, image exporting server (for PDF), and draw.io itself. Here are some other variations.
docker compose --file ./docker-compose.drawio-base.yml build --no-cache && \
docker compose --file ./docker-compose.drawio-base.yml up
docker compose --file ./docker-compose.image-export.yml build --no-cache && \
docker compose --file ./docker-compose.image-export.yml up