Orange in the Cloud

By: Andrej Čopar, Jan 16, 2020

Many problems are too big and require too much processing power to be efficiently processed on your laptop or PC. In such cases, the data is usually transferred to a remote server and processed using custom code, which is often time consuming. Now, there is a way to run Orange on a remote server so that you can keep using its interactive graphical interface. We will show you how to run Orange on the remote server so that you can use it through your web browser.

In a nutshell, you browser opens a remote desktop connection to an Orange instance that runs inside a docker container on a remote server. Now let us go into more details.

In our configuration we used several different technologies such as Docker and Apache Guacamole, which are shown in the diagram. First, you need to set up Nginx (or alternatively Apache web server), which is used to ensure that all communication to the server is SSL encrypted. This is very important, because remote desktop protocols such as Remote Desktop protocol (RDP) and Virtual network computing (VNC) are not encrypted. Failure to do so will expose your data to anyone listening on the network.

Nginx redirects you to the Apache Guacamole web application. In Guacamole you can manage multiple users and specify which of your Orange instances each user has access to. Guacamole then connects you to a selected Orange-docker container through an RDP or VNC connection. Once it is connected, you can see the remote desktop in your browser. You can use Orange just like on a local computer (see the image above), although you may need a few minutes to get used to the Linux environment.

Dockers allow you to run many lightweight isolated Linux containers on the same machine. We prepared a docker image that comes pre-configured with graphical desktop environment, a remote desktop server, Orange application and a few convenience applications (Libre Office, web browsers). You can run many isolated Orange-docker containers, so each user can work on a different project. When users collaborate on a project, they can connect to the same instance and share the same screen (read-only or full access). You can upload and download your data to and from the remote server using drag & drop feature or the side menu. Alternatively you can transfer the data with one of the web browsers that are provided in the container.

There are many other benefits to running Orange on the server infrastructure. First, Orange can stay open and continue to process the data even when you are offline. Second, you can access the same workflow from any computer. Third, multiple users can interactively collaborate on the same workflow. Finally, you do not have to keep the data on a local computer and you do not need to install Orange on a local computer. Note that this is a self-hosted solution, which means that all your data remains on the servers under your control.

For a complete installation guide and more details see orange-docker Github repository.