[labtainers] Re: Labtainer + Guacamole demo

  • From: mfthom <mfthom@xxxxxxxxx>
  • To: labtainers@xxxxxxxxxxxxx
  • Date: Sat, 5 Jan 2019 13:44:08 -0800

Hello,
Do you have any thoughts on the pros and cons of using guacamole vs NoVNC?
As I understand it, either way the master would run an xvnc
implementation.  In the latter, it would also run NoVNC and you would not
require a guacamole gateway.  Would you have reason to believe one or the
other would perform better for this application?
Thanks,
--Mike

On Thu, Dec 6, 2018 at 8:44 AM mfthom <mfthom@xxxxxxxxx> wrote:

Hello Olivier and Thomas,
That is excellent, and should lead to valuable enhancements to
Labtainers.  That strategy can also provide an alternative to the use of
products such as VMWare Horizon to interact with Labtainers via a browser.
And, perhaps it can be packaged such that the user can select/start/stop
labs directly from the browser.  Thank you for sharing the results of your
work.   I'll look at integrating it into the Labtainer distribution.
Best,
--Mike

On Thu, Dec 6, 2018 at 6:25 AM Olivier Berger <
olivier.berger@xxxxxxxxxxxxxxxxxxx> wrote:

Hi.

We've been working, together with Thomas, in order to test the
feasability of running Labtainers in a "headless" way, in containers,
accessing the display through a Web browser.

This corresponds to what I've described in
https://github.com/mfthomps/Labtainers/issues/8

We've casted a demo of it : https://vimeo.com/304825958

The reuses the "master" container running the core of labtainer scripts
(see https://github.com/mfthomps/Labtainers/issues/1), which is highly
insecure, but helps us test it.

The architecture we've tested is as follows :

- the "labtainer.master" container runs the Python scripts, and starts a
  VNC server (TigerVNC) which in turn runs bits of an XCFE session. The
labs will be
  started in the X DISPLAY of that session (displaying the gnome terminals
  and such).

- the "guacamole.labtainer" container runs Guacamole (using Jetty for
  the internal Web server), which includes guacd, the proxy that
  sits between a Web canvas and the VNC server of the other
  container. Guacamole has been setup to use a minimal set of resources,
  like no DB, etc.

When you connect your browser to a URL on the guacamole.labtainer
container's IP, you display the labs \o/

The current use case would typically be running these and the labs'
containers on a IaaS VM (which acts as a sandbox for running docker
containers in a secure manner), without a full X desktop on that VM, and
accessing the VM's guacamole via HTTPS from outside the Cloud.

We've only tested that on Linux, but I guess that would work on Docker
for Windows too.

You can see the Dockerfiles and scripts at :
https://gitlab.com/olberger/virtual-labs/tree/master/labtainer-docker
(and above), and the 2 container images have been put on the DockerHub
by Thomas at :
https://hub.docker.com/r/goncalvest/labtainer.master/
https://hub.docker.com/r/goncalvest/guacamole.labtainer/

We'd welcome some feedback on whether you find this interesting.

Would such a feature be added to Labtainers ?

Looking forward to hearing from you.

Best regards,
--
Olivier BERGER
https://www-public.imtbs-tsp.eu/~berger_o/ - OpenPGP
2048R/0xF9EAE3A65819D7E8
Ingenieur Recherche - Dept INF
Institut Mines-Telecom, Telecom SudParis, Evry (France)



Other related posts: