/orange-docker

Primary LanguageDockerfileGNU General Public License v3.0GPL-3.0

Orange docker

Docker image for Orange Data Mining Suite.

You can run Orange in docker containers on server infrastructure. Key benefits of this approach are:

  • Orange can have access to a greater amount of memory and processing power
  • It can be accessed from anywhere and can be run for an extended time without interruptions
  • Existing workflows can be shared with other people in real-time

We use the following technologies:

  • Docker containers
  • Remote access via RDP, VNC and SSH protocols.
  • Apache Guacamole as HTML front-end

Setup guide

First, ensure that you have a docker installed. The following guide contains instructions for ubuntu platform: instructions.

If you want to deploy a new system, follow this guide to create a basic guacamole setup using official dockers: setup guide

After that, create a common network and attach each of the instances to the network.

    docker network create guacamole
    docker network connect guacamole example-mysql
    docker network connect guacamole example-guacd
    docker network connect guacamole example-guacamole

Start docker container

When you have a working guacamole environment, you can use this command to spawn additional Orange remote desktop instances.

You can use the same command multiple times to create multiple remote desktop environments. Note that the tag is the same as the hostname in the web interface and needs to be unique.

    tag=orange1
    docker run --name $tag --link example-guacd:guacd --network=guacamole -d orangedm/orange-docker-vnc:v1.0

Change the user password and VNC password within the container.

    docker exec -it $tag /bin/bash
    passwd orange  # changes orange user password
    vncpasswd  # changes password for vnc

Create connection

Admins must create new connections for each Orange image via Settings -> Connections menu. Guacamole website contains a detailed guide on Guacamole administration.

In the browser, open localhost:/guacamole, where the port is the value that you see PORTS section for guacamole container if you run docker ps.

The first time you log in with the default user guacadmin and password guacadmin. Do not forget to change it.

Open Settings > Connections, and click on New connection.

In general, at least these values need to be configured:

  • Edit connections -> name: Can be anything, this will be shown on the home dashboard
  • Edit connections -> name: ROOT
  • Edit connections -> protocol: VNC
  • Concurrency limits (both): Default is 1, set this to higher value if you want to share connections with multiple users.
  • Parameters -> Network -> hostname: This equals to the $tag variable when creating instance or docker name.
  • Parameters -> Network -> port: 5901
  • Parameters -> Authentication -> Username: orange
  • Parameters -> Authentication -> Password:

When a new connection is created, check that it is working by clicking on it from the guacamole home screen.

Sharing screen

Go to Settings -> Connections.

Click on the [+] sign left of the desktop you want to share with one-time link. If there exists a Sharing profile for this desktop, you can skip this step. Otherwise, click on the New sharing profile. Name the profile and check Read only if you want to restrict users to view only experience.

Click Save. Now share button should be available from the Ctrl+Alt+Shift menu (when connected to the virtual machine).

Stop instances

Use this command to stop the remote desktop instance.

    docker stop orange1