<p><div><div><div><div data-show-faces="false" data-height="21" data-width="100" data-layout="button_count" data-send="true" data-href="https://www.r-bloggers.com/shinyproxy-1-0-2/"></div></div><div></div></div><div></div></div>
<div>
(This article was first published on <strong><a href="https://www.openanalytics.eu/blog/2017/11/12/shinyproxy-1.0.2/"> Open Analytics</a></strong>, and kindly contributed to <a rel="nofollow" href="https://www.r-bloggers.com/">R-bloggers)</a> </div>
<p>ShinyProxy is a novel, open source platform to deploy Shiny apps for the enterprise<br>
or larger organizations. Since our <a rel="nofollow" href="https://www.openanalytics.eu/blog/2017/11/12/shinyproxy-1.0.2/shinyproxy-0.8.0.md" target="_blank">last blog post</a> ten new<br>
releases of ShinyProxy have seen the light, but with the 1.0.2 release it is time<br>
to provide an overview of the lines of development and advances made.</p>
<h3>Scalability</h3>
<p>ShinyProxy now allows to run 1000s of Shiny apps concurrently on a <a rel="nofollow" href="https://docs.docker.com/engine/swarm/" target="_blank">Docker Swarm</a> cluster.<br>
Moreover, ShinyProxy will automatically detect whether the Docker API URL is a<br>
Docker Engine API or a Swarm cluster API. In other words changing the back-end from<br>
a single Docker host to a Docker Swarm is plug and play.</p>
<p><img border="0" src="https://i2.wp.com/www.openanalytics.eu/blog-img/swarm-logo.png?w=456&ssl=1" alt="Docker swarm logo" width="auto" data-recalc-dims="1"></p>
<h3>Single-Sign On</h3>
<p>Complex deployments asked for advanced functionality for identity and access management (IAM).<br>
To tackle this we introduced a new authentication mechanism <code>authentication: keycloak</code><br>
which integrates ShinyProxy with <a rel="nofollow" href="http://www.keycloak.org/" target="_blank">Keycloak</a>, RedHat’s open source IAM solution. Features like single-sign on, identity brokering, user federation etc. are now available for ShinyProxy<br>
deployments.</p>
<p><img border="0" src="https://i0.wp.com/www.openanalytics.eu/blog-img/keycloak-logo.png?w=456&ssl=1" alt="keycloak logo" width="auto" data-recalc-dims="1"></p>
<h3>Larger Applications and Networks</h3>
<p>Often times Shiny applications will be offered as part of larger applications that are<br>
written in other languages than R. To enable this type of integrations, we have introduced<br>
functionality to entirely hide the ShinyProxy user interface elements for seamless embedding<br>
as views in bigger user interfaces.</p>
<p>Next to integration within other user interfaces, the underlying Shiny code may need to interact<br>
with applications that live in specific networks. To make sure the Shiny app containers<br>
have network interfaces configured for the right networks, a new <code>docker-network</code> configuration<br>
parameter has been added to the app-specific configurations. Together with Docker volume mounting<br>
for persistence, and the possibility to pass environment variables to Docker containers,<br>
this gives Shiny developers lots of freedom to develop serious applications. An example configuration is given below. A Shiny app communicates over a dedicated Docker network <code>db-net</code> with a database back-end and configuration information is made available to the Shiny app via environment variables that are<br>
read from a configuration file <code>db.env</code>:</p>
<pre><code>  - name: db-enabled-app
    display-name: Shiny App with a Database Persistence Layer
    description: Shiny App connecting with a Database for Persistence
    docker-image: registry.openanalytics.eu/public/db-enabled-app:latest
    docker-network-connections: [ &quot;db-net&quot; ]
    docker-env-file: db.env
    groups: [db-app-users]
</code></pre>
<h3>Usage Statistics</h3>
<p>Gathering usage statistics was already part of ShinyProxy since version 0.6.0, but was limited<br>
to an InfluxDB back-end so far. Customers asked us to integrate Shiny applications<br>
with <a rel="nofollow" href="https://www.monetdb.org/" target="_blank">MonetDB</a> (and did not want a separate database to store usage statistics) so we developed a MonetDB adapter for version 0.8.4. Configuration has been streamlined with a <code>usage-stats-url</code> and support for DB credentials is now offered through a <code>usage-stats-username</code> and <code>usage-stats-password</code>.</p>
<p><img border="0" src="https://i0.wp.com/www.openanalytics.eu/blog-img/monetdb-final-300.png?w=456&ssl=1" alt="keycloak logo" width="auto" data-recalc-dims="1"></p>
<h3>Security</h3>
<p>Proper security for ShinyProxy setups of all sizes is highly important and a number<br>
of improvements have been implemented. The ShinyProxy <a rel="nofollow" href="https://www.shinyproxy.io/security/" target="_blank">security page</a><br>
has been extended and has extra content has been added on dealing<br>
with <a rel="nofollow" href="https://www.shinyproxy.io/security/#sensitive-configuration" target="_blank">sensitive configuration</a>.<br>
On the authentication side LDAPS support has been around for a long time, but since release 1.0.0<br>
we also offer <strong>LDAP+StartTLS</strong> support out of the box.</p>
<h3>Deployment</h3>
<p>Following production deployments for customers, we now also offer <strong>RPM</strong> files for deployment<br>
on CentOS 7 and RHEL 7, besides the <strong>.deb</strong> packages for Ubuntu and the platform-independent<br>
<strong>JAR</strong> files.</p>
<h3>Further Information</h3>
<p>For all these new features, detailed documentation is provided on <a rel="nofollow" href="http://shinyproxy.io/" target="_blank">http://shinyproxy.io</a> and as always community support on this new release is available at</p>
<p><a rel="nofollow" href="https://support.openanalytics.eu/" target="_blank">https://support.openanalytics.eu</a></p>
<p>Don’t hesitate to send in questions or suggestions and have fun with ShinyProxy!</p>
	<p>
<div>
<div>To <strong>leave a comment</strong> for the author, please follow the link and comment on their blog: <strong><a href="https://www.openanalytics.eu/blog/2017/11/12/shinyproxy-1.0.2/"> Open Analytics</a></strong>.</div>
<hr>
<a rel="nofollow" href="https://www.r-bloggers.com/">R-bloggers.com</a> offers <strong><a rel="nofollow" href="https://feedburner.google.com/fb/a/mailverify?uri=RBloggers">daily e-mail updates</a></strong> about <a rel="nofollow" href="https://www.r-project.org/" title="The R Project for Statistical Computing">R</a> news and <a rel="nofollow" href="https://www.r-bloggers.com/search/tutorial" title="R tutorials">tutorials</a> on topics such as: <a rel="nofollow" href="https://www.r-bloggers.com/search/data%20science" title="Data science">Data science</a>, <a rel="nofollow" href="https://www.r-bloggers.com/search/Big%20Data" title="Big Data">Big Data, <a rel="nofollow" href="https://www.r-users.com/" title="R jobs">R jobs</a>, visualization (<a rel="nofollow" href="https://www.r-bloggers.com/search/ggplot2" title="ggplot and ggplot2 tutorials">ggplot2</a>, <a rel="nofollow" href="https://www.r-bloggers.com/search/boxplot" title="Boxplots using lattice and ggplot2 tutorials">Boxplots</a>, <a rel="nofollow" href="https://www.r-bloggers.com/search/map" title="Maps and gis">maps</a>, <a rel="nofollow" href="https://www.r-bloggers.com/search/animation" title="Animation in R">animation</a>), programming (<a rel="nofollow" href="https://www.r-bloggers.com/search/RStudio" title="RStudio IDE for R">RStudio</a>, <a rel="nofollow" href="https://www.r-bloggers.com/search/sweave" title="Sweave and literate programming">Sweave</a>, <a rel="nofollow" href="https://www.r-bloggers.com/search/LaTeX" title="LaTeX in R">LaTeX</a>, <a rel="nofollow" href="https://www.r-bloggers.com/search/SQL" title="SQL and databases">SQL</a>, <a rel="nofollow" href="https://www.r-bloggers.com/search/eclipse" title="Eclipse IDE for R">Eclipse</a>, <a rel="nofollow" href="https://www.r-bloggers.com/search/git" title="git and github, Version Control System">git</a>, <a rel="nofollow" href="https://www.r-bloggers.com/search/hadoop" title="Large data in R using Hadoop">hadoop</a>, <a rel="nofollow" href="https://www.r-bloggers.com/search/Web+Scraping" title="Web Scraping of google, facebook, yahoo, twitter and more using R">Web Scraping</a>) statistics (<a rel="nofollow" href="https://www.r-bloggers.com/search/regression" title="Regressions and ANOVA analysis tutorials">regression</a>, <a rel="nofollow" href="https://www.r-bloggers.com/search/PCA" title="principal component analysis tutorial">PCA</a>, <a rel="nofollow" href="https://www.r-bloggers.com/search/time+series" title="Time series">time series</a>, <a rel="nofollow" href="https://www.r-bloggers.com/search/trading" title="finance trading">trading</a>) and more...
<img width="1" alt="" src="http://feeds.feedburner.com/~r/RBloggers/~4/QivkwDrxiQg" height="1"></a></div>