https://github.com/ccao-data/service-shiny-proxy
ShinyProxy-based backend for launching CCAO Shiny applications
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
Keywords from Contributors
Repository
ShinyProxy-based backend for launching CCAO Shiny applications
Basic Info
Statistics
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
- Releases: 0
Topics
Metadata Files
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
- Website: https://www.cookcountyassessor.com
- Twitter: AssessorCook
- Repositories: 1
- Profile: https://github.com/ccao-data
GitHub Events
Total
Last Year
Committers
Last synced: 7 months ago
Top Committers
| Name | 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
- actions/checkout v3 composite
- docker/build-push-action v4 composite
- docker/login-action v2 composite
- docker/setup-buildx-action v2 composite
- openjdk 8-jre build