Deploying Docker-wrapped applications to RStudio Connect

Hello!

Would it be possible to deploy Docker containers to RStudio Connect (eg. Dockerhub-backed deployments, similar to the current Git-backed deployment feature)?

Thanks :slight_smile:

1 Like

This is such a good question! While not possible today, this is definitely something we are exploring! Our biggest priority is making sure that users continue to have a great user experience with Connect, and adding the complexities of docker / containers is something we want to make sure we strike a good balance between flexibility, rigor, and approachability.

Do you have any additional detail you can share? What type of application / how did you build the docker container / would you use Kubernetes in your ideal case?

Hi @cole,

Great to know that this is in the works! One immediate use case for me would be something like this:

  1. Develop a Shiny app (eg. using golem)
  2. Create a Dockerfile that contains the necessary dependencies for the application, and runs the app
  3. Somehow deploy this Dockerfile to Connect

One of the issues I've experienced in the past is sometimes an application "works" in my development environment, but does not fully work once deployed (eg. missing dependencies), and sometimes it's a little hard to debug what's causing the error in the deployment. The ability to directly deploy a Docker image may help with these types of issues, but perhaps it's overkill :slight_smile:

2 Likes

I'm curious if there any updates to this. :slight_smile: Would be great to be able to host a dockerized app for the sake of environment control.

Howdy @arthur.t! We are making progress on this front! Are you familiar with the "off-host execution beta" that Connect is running, where we launch jobs on Kubernetes?

https://docs.posit.co/helm/rstudio-connect/kubernetes-howto/intro/overview.html

The current and default behavior in this setup is to treat content like it has always been, although we run the content inside a "base image" that is changeable. However, we have some work we are doing to explore what it looks like to just run content directly as was discussed here.

Unfortunately, it does require the use of Kubernetes and this beta configuration (which is global) today. But I thought it'd be good to get your thoughts on whether this will meet the stated need or if something else would be preferable.

Thanks!

2 Likes

Great suggestion. We are also waiting similar kind of solution as we have some apps that requires system wide modifications for just one app and we do not want to effect other applications that are in use. Great to hear that this is in the works.