Skip to content

sbalci/shinyproxy-desktop-app-demo

 
 

Repository files navigation

ShinyProxy Desktop App Demo

Screenshots

This repository contains two demos of running desktop apps using ShinyProxy. The first demo demonstrates running Phaedra while the second demo show how to run Visual Studio Code.

We make extensively use of the great docker-ubuntu-vnc-desktop project.

Building the Docker images

In order to build the Docker images, simply execute the build.sh script. This script first builds two base images (one for Ubuntu 16.04 and one for 20.04). Next, it builds shinyproxy-desktop-app-demo:phaedra and shinyproxy-desktop-app-demo:vscode containing the respective applications. You can also simply down the images from Docker Hub.

ShinyProxy configuration

The following configuration is all what is needed to run these applications inside ShinyProxy:

- id: phaedra
  container-image: openanalytics/shinyproxy-desktop-app-demo:phaedra
  port: 80
  container-env:
    RELATIVE_URL_ROOT: "#{proxySpec.containerSpecs[0].env.get('SHINYPROXY_PUBLIC_PATH')}"
- id: vscode
  container-image: openanalytics/shinyproxy-desktop-app-demo:vscode
  port: 80
  container-env:
    RELATIVE_URL_ROOT: "#{proxySpec.containerSpecs[0].env.get('SHINYPROXY_PUBLIC_PATH')}"

How does this work?

The docker-ubuntu-vnc-desktop project is a Docker container which contains the following components:

  • LXDE
  • xvfb
  • x11vnc
  • noVNC
  • nginx
  • superverisor
  • a web app to manage everything

The idea is to have an X server (xvfb), running a desktop environment (LXDE), this is exposed by VNC server (x11vnc) using a web app (nginx/python/vue/noVNC). All these processes are managed by supervisor such that it fits in a single Docker container.

Screenshots

Phaedra VS Code

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Dockerfile 58.1%
  • Shell 41.9%