Local Diagrams.net / draw.io instance with gitlab on-prem

Hi.
I’ve tried to use diagrams.net / draw.io as docker container on the same machine as my gitlab instance. I followed this instruction. The problem is that gitlab itself already uses port 8080, so I used

docker run -it --rm --name="draw" -p 8084:8084 -p 8443:8443 jgraph/drawio

to run the container on port 8084. The log output seems a little weird, because every port that is mentioned is 8080, e.g.:

window.DRAWIO_BASE_URL = 'http://localhost:8080';

With lsof -i:8084 I can see that this specific container uses the right port:

docker-pr 406538 root    4u  IPv4 4608148      0t0  TCP *:8084 (LISTEN)
docker-pr 406546 root    4u  IPv6 4609027      0t0  TCP *:8084 (LISTEN)

docker ps output:

CONTAINER ID   IMAGE               COMMAND                  CREATED         STATUS         PORTS                                                                                            NAMES
698745f466fb   jgraph/drawio       "/docker-entrypoint.…"   3 minutes ago   Up 3 minutes   0.0.0.0:8084->8084/tcp, :::8084->8084/tcp, 8080/tcp, 0.0.0.0:8443->8443/tcp, :::8443->8443/tcp   draw

But when I try to access, like described here via http://localhost:8084/?offline=1&https=0 it doesn’t work at all.

Where is my mistake? Any help appreciated.
Did anyone already successfully host the drawio container on the same machine like gitlab?

My environment:
OS: rockyLinux 8
Gitlab version 16.4

Hi,

you are forwarding the host port 8084 to the container port 8084 in your docker run command.

draw.io is listening on the port 8080, so you should forward the host port 8084 to the container port 8080:

docker run -it --rm --name="draw" -p 8084:8080 -p 8443:8443 jgraph/drawio

2 Likes