YakData SmartManager for ShinyProxy with R, RStudio IDE and Monitoring

YakData_Logo_Name_WHITE_SmartManager_ShinyProxy.001

YakData SmartManager for ShinyProxy on AWS is the production-ready way to publish interactive R shiny web applications, R Markdown reports, R shiny dashboards and other R content that you want to share. ShinyProxy is capable of supporting a wide range of authentication methods including native user/password authentication, LDAP, Kerberos, SSO, OpenID Connect, SAML 2.0, social methods (Twitter, Facebook, Google, Github and LinkedIn), custom web service based or no authentication for public content.

This image includes R 4.1.1 built from the Rocker project as docker containers. With the server-based RStudio IDE on the system, admins can easily install new libraries and debug shiny programs. Monitoring is pre-configured using Grafana for real-time dashboards and Prometheus and CAdvisor for docker container monitoring. SmartManager is entirely based on open-source projects, so you can rest assured that it is battle proven to help you and your team shine in short order.

Product Overview

YakData SmartManager for ShinyProxy on AWS is an easy way to build rapid prototypes, deliver results for new clients, meet the needs of critical tactical projects or economically meet dynamic workload projects. With on server publishing from the RStudio IDE, a wide range of authentication schemes to share R web content with an unlimited number of data consumers at no additional charge, on-board monitoring all from a docker container environment, launch your next project in hours rather than the days or weeks traditional deployment takes.

This release of SmartManager for ShinyProxy is based on:
ShinyProxy version 2.5.0,
R version 4.1.1 from the Rocker project,
the RStudio IDE version 1.4.1717,
Grafana 8.2.0,
Prometheus 2.30.3 and
CAdvisor version Canary.

All of this is behind NGINX 1.21.3 with free, automated SSL renewals included for public facing websites (behind firewall sites will need to manually add SSL certs onto the server.) Access to the RStudio IDE and Grafana monitoring is based on being an admin privileged user of ShinyProxy.

Since the entire system is well-architected with docker-compose, you can easily size CPU and memory usage for a wide range of compute host systems.

Support includes access to our community forum, all updates and our documentation at yakdatasupport.com.

To get started, select your EC2 instance, launch it, follow our quick server configuration steps below and begin sharing your apps today.

This release AMI is named: “YakData_SmartManager_ShinyProxy_R_RStudio_IDE_Monitor_2.5.0.1”.

Highlights

  • ​ YakData SmartManager for ShinyProxy on AWS is the production-ready way to publish interactive R shiny web applications, R Markdown reports, R shiny dashboards and other R content that you want to share.
  • ​ ShinyProxy is capable of supporting a wide range of authentication methods including native user/password authentication, LDAP, Kerberos, SSO, OpenID Connect, SAML 2.0, social methods (Twitter, Facebook, Google, Github and LinkedIn), custom web service based or no authentication for public content.
  • ​ This image includes R 4.1.1 built from the Rocker project as docker containers. With the server-based RStudio IDE on the system, admins can easily install new libraries and debug shiny programs.
  • Monitoring is pre-configured using Grafana for real-time dashboards and Prometheus and CAdvisor for docker container monitoring.

Support Information

ShinyProxy docs: Documentation | ShinyProxy

RStudio IDE repo: GitHub - rstudio/rstudio: RStudio is an integrated development environment (IDE) for R

Grafana docs: Documentation | Grafana Labs

Prometheus docs: Overview | Prometheus

CAdvisor docs: cadvisor/docs at master · google/cadvisor · GitHub

NGINX docs: nginx documentation

Community support for the architected SmartManager for ShinyProxy system as deployed:
https://community.yakdata.com

Consulting available for advanced deployments, integration or initial projects:
https://yakdatasupport.com (open a consulting request ticket)

Usage Instructions:

  1. Deploy a server with AMI “YakData_SmartManager_ShinyProxy_R_RStudio_IDE_Monitor_2.5.0.1”
  2. In AWS EC2, name your server the domain name, e.g.- subdomain.domain.com, and add an “A” record for this server in your DNS records, e.g.- AWS Route 53.
  3. On the host, edit the application.yml file for ShinyProxy to update the two sample user account passwords. Or delete the two sample user accounts altogether and add your initial user accounts.
    nano /yakdata/config/shinyproxy/application.yml
  4. Amazon AMI image deployments include the license for using this product. To update your license for this server domain, edit the “/yakdata/webassets/license.status” file.
    Just add the domain name of this server to the end of the first line.
    For example, add " subdomain1.domain1.com" after the text already in this file, all one line, with no carriage return at the end.
nano /yakdata/webassets/license.status
  1. Update the variables in /yakdata/apps/.env, these are used by docker-compose.
nano /yakdata/apps/.env
  1. Issue your first SSL certificate, on the server run:
sudo /yakdata/utilities/scripts/renewssl.sh
  • This will stop all currently running containers.
  • A new SSL certificate will be obtained and configured for use with NGINX.
  • A reboot occurs.
  • All SmartManager for ShinyProxy containers will come back up at the end of this process.
  • It typically takes around 3-6 minutes for this to complete.
  • A /etc/cron.d schedule runs every Sunday to check if the SSL is more than 60 days old, if so, it will renew it automatically. This will briefly bring down the server at 08:33 UTC if the SSL needs renewal. Head over to /etc/cron.d/checkagerenewssl if you want to change this time or disable this service.

You now have a complete system ready for production. Visit https://subdomain.domain.com (your chosen domain) and login.

IMPORTANT SECURITY and USAGE NOTES

  1. Admin users have full access to all R shiny app and data content published to /yakdata/shinyproxy_content and all web assets at /yakdata/webassets via the RStudio IDE.
  2. Admin users have full access to the ShinyProxy application YAML file at /yakdata/config/shinyproxy/application.yml via the RStudio IDE. This enables full access to add/delete/view and change users, passwords, published apps and more for the default authentication mechanism (user/password.)
  3. You can easily remove these some or all of the access in 1 and 2 above by updating the rstudio container volumes in the docker-compose.yml file.
nano /yakdata/apps/docker-compose.yml