Publications by Peter Solymos
Best Practices for R with Docker
The use of Docker with R has been transformative in many ways over the past 5 years. What is common in this diversity of use cases is that the Docker images almost always start with a parent image. What parent image you use? How do you add new layers to it? These questions will determine how quickly you can iterate while in development, and the s...
9664 sym R (2684 sym/9 pcs) 8 img
Host Shiny Apps with Docker
You learned about Shiny, Docker, how to dockerize Shiny apps, and how to manage dependencies. But why dockerize Shiny apps in the first place? Let's see what Shiny and Docker have in common. Shiny “makes it easy to build interactive web apps straight from R”, while Docker is the “de facto standard to build and share containerized apps – f...
5126 sym R (1656 sym/8 pcs) 10 img
Using systemd to Run Shiny Apps
Lots of resources describe how you can host Shiny apps with Docker, Shiny Server, or via other means. But we also know Shiny apps can be launched locally. What makes your local setup different from these other options is that your local machine does not usually have a static internet protocol (IPv4) address. Without a static IPv4, it is really ha...
6475 sym Python (2937 sym/11 pcs) 2 img
Running Shiny Server in Docker
We looked at best practices for R with Docker where we compared four commonly used parent images. It was common in these images that these all contained a “local” Shiny app using shiny::runApp(). A special breed of dockerized Shiny apps is when the Shiny Server is running inside the Docker container. In this post, we'll explore this “docker...
3874 sym R (905 sym/3 pcs) 8 img 1 tbl
Hosting Patterns for Shiny Apps
I have described a few hosting patterns for Shiny apps in previous posts. It is time to compare these basic patterns. Should you host a local Shiny app on your server? Should you choose Shiny Server or Docker? Why not use both?There are a couple of factors that you may want to consider when trying to determine which pattern is best for your self-...
865 sym 4 img
Shiny Apps with Docker Compose, Part 1: Development
This post picks up where we left off with hosting Shiny apps with Docker run and Caddy server. There were a few shortcomings with that very basic setup: the home page looked very blunt, and managing updates to the apps was not at all streamlined.In this post, you will learn how to use Docker Compose to simplify the management of deploying and upd...
9404 sym Python (2284 sym/6 pcs) 10 img
Shiny Apps with Docker Compose, Part 2: Production
In Part 1 you learnt how to define multiple Shiny applications in a Docker compose YAML file and how to spin up the services on your local machine. In Part 2 you'll see how to deploy to a virtual machine using git and Docker compose.As before, you can follow this tutorial using the code in the analythium/docker-compose-shiny-example GitHub reposi...
7133 sym R (3024 sym/10 pcs) 10 img
Hosting Data Apps: 3 Months and 20 Posts Later
Data apps are modern web applications that simplify data-intensive operations and provide value to users by answering very specific questions. The way you host your data apps largely determines the operating costs and the user experience. We launched the Hosting Data Apps website exactly 3 months ago to help you make smart choices and teach you t...
4783 sym 8 img
Path of Least Resistance: Hosting Shiny Apps on Shinyapps.io
Share your R/Shiny applications on Shinyapps.io for free or choose paid cloud hosting with push-button publishing. Your self-contained and isolated apps are hosted in the cloud on shared servers operated by RStudio.The free tier is a sweet deal that is the path of least resistance when combined with the push-button publishing option. It is ideal ...
1003 sym 4 img
Deploying Shiny Apps to Heroku with Docker From the Command Line
Heroku is a popular option for hosting and scaling apps without managing infrastructure. In this post, you are going to learn how to deploy a dockerized Shiny application to Heroku using the Heroku Command Line Interface (CLI).What is HerokuHeroku is a cloud platform-as-a-service (PaaS) that lets you deploy, run and manage applications. Heroku is...
6104 sym Python (1942 sym/9 pcs) 6 img