gfjardim / docker-containers

50 stars 75 forks source link

Consider a change to Guacamole for GUI containers #52

Closed neersighted closed 6 years ago

neersighted commented 8 years ago

http://guac-dev.org/

Guacamole is a more performant and modern option for remote desktop. In addition, it supports being reverse proxied while noVNC does not.

gfjardim commented 8 years ago

It has a greater resources footprint too. And proxy reverse works too.

neersighted commented 8 years ago

Can you give me an example of reverse-proxying noVNC to a subdirectory (nginx preferred)? I was unable to get it to work properly...

I won't argue about resources, but I also find it to be much more responsive.

gfjardim commented 8 years ago

I agree with you, but it's not that you will configure or restore files all the time. Loads of apps will benefit from a greater performance, but I think CrashPlan Desktop isn't one of those.

location /crashplan/ { proxy_pass http://192.168.0.100:4280/; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; }

neersighted commented 8 years ago

A couple issues with that example: I proxy everything over SSL, and noVNC hits mixed content problems because it uses ws:// and not wss:// as the websockets protocol. Not sure how to change that, but I believe it would require editing the container image. In addition, I think your example would also require a rewrite rule, as noVNC has no base url setting I can find.

gfjardim commented 8 years ago

Yep. I think this will suffice:

  location /crashplan/ {
    rewrite  ^/crashplan/$  /crashplan/vnc.html?autoconnect=true&host=$server_name/crashplan/&port=443  permanent;
    proxy_pass http://192.168.0.100:4280/;
    proxy_http_version 1.1;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection "upgrade";
  }

noVNC uses WSS protocol.