Skip to content

openanalytics/shinyproxy-config-examples

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

83 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ShinyProxy Configuration Examples

ShinyProxy can be configured to run in very different scenarios. Consider the following:

  • For your first tryout, maybe you just want to use a single machine with a Java runtime and a docker daemon, and run java -jar shinyproxy.jar. And that's perfectly fine!

  • But then you'd like to place ShinyProxy inside a container itself, because then you don't need to install a Java runtime on the host...

  • And next up is a bigger deployment, where you cannot rely on a single docker host but instead need a load-balanced cluster to guarantee enough containers are available for all your users.

  • Not wanting to create a single point of failure, you also deploy multiple instances of ShinyProxy, load-balanced by a nginx front server.

As you can see, the configuration of ShinyProxy and its surrounding environment can quickly grow from trivial to not-so-trivial! This repository offers some ready-to-use examples for various setups. Each example folder contains several configuration files, and an instructional README that explains how to go from a download to a running setup.

Available Examples

This repository contains examples that are divided by several categories, explained below.

Standalone vs containerized

In a standalone setup, ShinyProxy runs as a Java process on the host. In a containerized setup, ShinyProxy runs inside a container.

Docker engine vs docker swarm vs kubernetes

The term docker engine refers to a single, non-clustered docker installation. The engine is managed by a 'docker daemon', a process that can be accessed by the docker commandline executable, by a HTTP URL or by a Unix socket.

Docker swarm is a layer that groups multiple docker installations in a 'swarm' that can offer clustering capabilities, including failover, load balancing, etc.

Kubernetes is a container orchestration service that can be used as an alternative to docker swarm. Several major cloud vendors such as Amazon and Google offer ready-to-use kubernetes environments.

Note: Always use the ShinyProxy Operator for deploying ShinyProxy on Kubernetes.

Notes on the Examples Configuration

All examples use the simple authentication method, which defines two users:

  • jack, an administrator, with the password 'password'
  • jeff, a regular user, with the password 'password'

The demo applications all use the openanalytics/shinyproxy-demo image which you can pull using

sudo docker pull openanalytics/shinyproxy-demo