https://github.com/ccao-data/service-shiny-proxy

ShinyProxy-based backend for launching CCAO Shiny applications

https://github.com/ccao-data/service-shiny-proxy

Science Score: 10.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
  • .zenodo.json file
  • DOI references
  • Academic publication links
  • Committers with academic emails
    1 of 6 committers (16.7%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (11.3%) to scientific vocabulary

Keywords

docker r service shiny

Keywords from Contributors

assessment property-taxes taxes
Last synced: 5 months ago · JSON representation

Repository

ShinyProxy-based backend for launching CCAO Shiny applications

Basic Info
  • Host: GitHub
  • Owner: ccao-data
  • License: agpl-3.0
  • Language: Dockerfile
  • Default Branch: master
  • Homepage:
  • Size: 259 KB
Statistics
  • Stars: 1
  • Watchers: 1
  • Forks: 0
  • Open Issues: 0
  • Releases: 0
Topics
docker r service shiny
Created over 2 years ago · Last pushed over 2 years ago
Metadata Files
Readme License

README.md

Data Department Application Server Backend

This repository hosts the Docker and config files that run the CCAO's application server backend. We use a free, open source package called ShinyProxy to deploy containerized applications using Docker.

  • For a brief primer on Docker and its benefits, see here.
  • For help documentation and configuration related to ShinyProxy, see here.

Dependencies

The server depends on Docker for building and deployment and Docker Compose for configuration. Both of these must be installed on your system in order to run the server.

Overview / Structure

The server uses ShinyProxy as a frontend application launcher. When a user first visits the server's web address, they see a screen with a list of applications. These applications are the individual Shiny apps that a user can launch. Upon clicking an application, ShinyProxy will connect to the host machine's Docker socket and create a new container specifically for that application. This allows multiple users to run the same Shiny app concurrently.

The server has the following general structure:

+-------------------------------------------------------+ | | | Host Machine | | | | +-------------------------------+ | +-----------------------+ | | | | | | | | +-------------------------->+ External Website | | | ShinyProxy Docker Container | | | | | | +<--------------------------+ 10.129.122.29:8080 | | | | | | | | +-------------------------------+ | +------+------+-----+---+ | || | | | | | ++ | +----+ | +----+ | Docker System Daemon | | | | | + | | | | | +------------------------------------+ | | | | | | | | | +----+---+ +----+---+ +---+----+ | | | | | | | | | | | | +------+------+ +--------+------+ +-------+-----+ | | User 1 | | User 2 | | User 3 | | | | | | | | | | | | | | | | | Docker + | | Docker + | | Docker + | | +--------+ +--------+ +--------+ | | Shiny App 1 | | Shiny App 1 | | Shiny App 2 | | | | | | | | | | | | | | | | | | | +-------------+ +---------------+ +-------------+ | | | +-------------------------------------------------------+

Configuration

Files in this directory have the following structure and functions:

service-shiny-proxy/ # Top-level dir for hosting ShinyProxy config files ├ application.yml # Configures the actual ShinyProxy app, which apps to launch, logins, etc. ├ docker-compose.yaml # Launches ShinyProxy with the necessary Docker config options/secrets ├ Dockerfile # Builds the environment and container dependencies for running ShinyProxy ├ .env # File containing environmental variables used in docker-compose.yaml ├ README.md └ secrets # Folder that must be manually created after cloning, contains login credentials └ ENV_FILE # Text file containing ODBC connection strings passed as env variables

Configuration of the server is split into two parts:

Part 1

Part 1 builds the container and environment necessary to run ShinyProxy. This includes a Dockerfile, which downloads the dependencies and image needed to run ShinyProxy, and docker-compose.yaml which specifies the ports, networks, sockets, secrets, and directories necessary to connect everything together.

Part 2

Part 2 specifies the actual configuration options for ShinyProxy. All ShinyProxy configuration is handled via editing the included application.yml file. ShinyProxy allows configuration of the name of the server, the apps it launches, and various login options. For a full list of ShinyProxy configuration options, see here.

Starting the Server

To run the server, simply run the Docker Compose command inside of this repository. On Linux, this command will be:

docker-compose up -d

The -d flag runs Docker Compose in detached mode, meaning you do not have to keep your SSH session open in order for the server to continue running.

The URL of the app launcher will be the IP address of the server with port 8080 appended. For example, if the server IP is 192.168.1.12, then ShinyProxy's IP will be 192.168.1.12:8080.

Owner

  • Name: Cook County Assessor's Office
  • Login: ccao-data
  • Kind: organization
  • Email: assessor.data@cookcountyil.gov

GitHub Events

Total
Last Year

Committers

Last synced: 7 months ago

All Time
  • Total Commits: 90
  • Total Committers: 6
  • Avg Commits per committer: 15.0
  • Development Distribution Score (DDS): 0.578
Past Year
  • Commits: 0
  • Committers: 0
  • Avg Commits per committer: 0.0
  • Development Distribution Score (DDS): 0.0
Top Committers
Name Email Commits
Dan Snow D****w@c****m 38
Dan Snow d****w@c****m 20
Dan Snow s****s@g****m 19
Dan Snow d****w@u****u 11
Sweaty Handshake w****y@c****m 1
Robert Ross r****s@c****m 1
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 7 months ago

All Time
  • Total issues: 0
  • Total pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Total issue authors: 0
  • Total pull request authors: 0
  • Average comments per issue: 0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 0
  • Pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Issue authors: 0
  • Pull request authors: 0
  • Average comments per issue: 0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
Pull Request Authors
Top Labels
Issue Labels
Pull Request Labels

Dependencies

.github/workflows/docker-build.yaml actions
  • actions/checkout v3 composite
  • docker/build-push-action v4 composite
  • docker/login-action v2 composite
  • docker/setup-buildx-action v2 composite
Dockerfile docker
  • openjdk 8-jre build