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

URI malformed #127

Closed xsolinsx closed 10 months ago

xsolinsx commented 10 months ago

Preflight Checklist

You must agree to search and the code of conduct. You must fill in this entire template. If you delete part/all or miss parts out your issue will be closed.

If you are technical, you should reporting bugs along the lines of https://marker.io/blog/how-to-write-bug-report. If you are not technical, we will make allowances, please try to make an effort to understand the process.

Describe the bug I open my drawio container from the web and get a pop-up on firefox desktop saying "The URI is malformed.", this does not allow me to use drawio in any way even if I close the pop-up. On mobile I get a "different" error which might point to a resolution: "XMLHttpRequest.open: 'http://localhost:8080notifications' is not a valid URL."

To Reproduce Steps to reproduce the behavior:

  1. Use docker-compose provided below
  2. Go to the URL of drawio
  3. See error

Expected behavior Drawio opens correctly

Screenshots The following is a picture of what happens after I dismiss the pop-up immagine

draw.io version (In the Help->About menu of the draw.io editor):

Desktop (please complete the following information):

Smartphone (please complete the following information):

I tested the problem in incognito/private mode with all browser extensions switched off, write "yes" below: yes

Additional context docker-compose (healthcheck says container is healthy)

version: "3"

services:
  drawio:
    container_name: drawio
    image: jgraph/drawio:22.0.7
    restart: unless-stopped
    healthcheck:
      test: ["CMD-SHELL", "curl -f http://localhost:8080", "||", "exit 1"]
      interval: 1m30s
      timeout: 10s
      retries: 5
      start_period: 10s
  traefik:
    container_name: traefik
    image: traefik:3.0
    restart: always
    ports:
      - mode: host
        protocol: tcp
        published: 80
        target: 80
      - mode: host
        protocol: tcp
        published: 443
        target: 443
    volumes:
      - traefik_certs:/home/traefik/certs:rw
      - traefik_conf:/etc/traefik:rw
      - traefik_logs:/home/traefik/logs:rw
      - traefik_file_dynamic_conf:/home/traefik/file_dynamic_conf:ro
      - traefik_secrets:/run/secrets:ro

I use traefik (container) as webserver and this is the file config for drawio

http:
  services:
    drawio:
      loadBalancer:
        servers:
          - url: http://drawio:8080

  routers:
    drawio:
      service: drawio
      rule: Host(`drawio.example.com`)||Path(`/drawio`)
      tls:
        certResolver: lets_encrypt
davidjgraph commented 10 months ago

Duplicate #125