jgraph / docker-drawio

Dockerized draw.io based on whichever is the most secure image at the time.
GNU General Public License v3.0
1.48k stars 359 forks source link

Error loading file: No file selected #99

Closed ovizii closed 1 year ago

ovizii commented 1 year ago

I'm trying to get the self-contained version running and I can successfully access the drawio instance behind my reverse proxy: https://diagrams.mydomain.tld but all I see is:

image

What am I missing here? btw. I have not connected to any cloud services and don't plan to.

ovizii commented 1 year ago

To be clear, I expected to see this, just like when visiting https://draw.io

image

davidjgraph commented 1 year ago

That first screen is the index.html from the docker image?

ovizii commented 1 year ago

I don't know where it comes from. I am using a slightly adapted version of https://github.com/jgraph/docker-drawio/blob/dev/self-contained/docker-compose.yml

I can share it if you have no other ideas about where my problem comes from.

ovizii commented 1 year ago

Anyway, here it is, maybe you can spot some dumb change I made :-/

version: '2.4'

services:

# https://github.com/jgraph/docker-drawio/tree/dev/self-contained

  drawio:
    image: jgraph/drawio:latest
    container_name: drawio
    hostname: drawio
    restart: "no"
    environment:
      - DRAWIO_SELF_CONTAINED=1
      - PLANTUML_URL=http://drawio-plantuml-server:8080/
      - EXPORT_URL=http://drawio-export-server:8000/
      - DRAWIO_BASE_URL=https://diagrams.mydomain.tld
      - DRAWIO_VIEWER_URL=https://diagrams.mydomain.tld/js/viewer.min.js
      - DRAWIO_LIGHTBOX_URL=https://diagrams.mydomain.tld
    cpus: 1               
    mem_limit: 1G         
    networks:
      - drawio                 
      - traefik                   
    labels:                         
      - "traefik.enable=true"                  
      - "traefik.docker.network=traefik"                  
      - "traefik.http.routers.drawio.tls=true"                 
      - "traefik.http.routers.drawio.entrypoints=websecure"
      - "traefik.http.routers.drawio.middlewares=secHeaders@file"                 
      - "traefik.http.routers.drawio.rule=Host(`diagrams.mydomain.tld`)"
      - "traefik.http.routers.drawio.service=drawio"                
      - "traefik.http.services.drawio.loadbalancer.server.port=8080"

  drawio-plantuml-server:
    image: jgraph/plantuml-server
    container_name: drawio-plantuml-server
    hostname: drawio-plantuml-server
    expose:
      - "8080"
    networks:
      - drawio
    volumes:
      - /usr/share/fonts:/usr/share/fonts

  drawio-export-server:
    image: jgraph/export-server
    container_name: drawio-export-server
    hostname: drawio-export-server
    expose:
      - "8000"
    networks:
      - drawio
    volumes:
      - /usr/share/fonts:/usr/share/fonts
    environment:
      - DRAWIO_SERVER_URL=https://diagrams.mydomain.tld

networks:
    traefik:            
        external: true        
        name: traefik            
    drawio:            
        external: true            
        name: drawio
ovizii commented 1 year ago

Hm, I might have figured it out. I added a trailing slash to most of the urls in my docker-compose file, and now I get what I was looking for:

image