It may seem appealing to host your RStudio Workbench & RStudio Connect instances on the same server. It reduces the number of servers that you may need to manage, and it may seem like compute capacity is better utilized, especially in periods of low use when CPU and memory are almost idle.
Can I run Workbench and Connect on the same machine?
The answer is yes, however RStudio does not recommend it as best practice.
Are there any implications to doing so?
The general consensus that we have at RStudio, is that it's best to host one(1) product per host. While it is possible to run multiple products on a single host, we generally do not recommend running RStudio Workbench and RStudio Connect on the same server.
The first reason for this is that there are networking concerns. It makes it difficult to scale a host that has multiple applications, especially if users on both applications are attempting to install packages or programs at the same time.
Secondly, there are resourcing concerns associated with hosting both products on a single platform. If Workbench is being used at the same time as Connect, then you may start to see performance degradation if your hardware isn't able to keep up with the demand from both applications running simultaneously.
I've heeded the warnings and I'd still like to go ahead and install them both on the same server.
If you do choose to go down this route, We would suggest using an external proxy such as Nginx or Apache to handle access to resources. Whilst this method isn't officially supported by RStudio, we've seen this work in the past with varying levels of success.
How do I separate access to Workbench and to Connect if both applications are on a single server and share the same URL? What do I do about SSL certificates?
Lets say that we have a server that hosts Workbench and Connect on the same host. This host uses an SSL certificate, and we would like to separate access to each application. For the purposes of this demonstration, RStudio Workbench will exist on port 8777, and RStudio Connect will exist on port 3999.
You can specify a specific port number allocated to each product even while using HTTPS. In the case of the RStudio Connect server, the following configuration will need to be applied to the
Listen = :3999
Certificate = <PATH-TO-CERTIFICATE-FILE>
Key = <PATH-TO-KEY-FILE>
**Note that in the example above we are using port 3999, however, this can be any custom port that you wish.
Then, restart RStudio Connect as below:
sudo systemctl restart rstudio-connect
Then, for your RStudio Workbench server, you can apply the configuration below to your
/etc/rstudio/rserver.conf configuration file:
**Note that in the example above we are using port 8777, however, this can be any custom port that you wish.
Then, restart RStudio server:
sudo rstudio-server restart
You should now be able to access both services independent of each other.
If you still have issues after completing the above, you can always lodge a support ticket, where our group of friendly, and incredibly knowledgeable staff can assist with any issues that you may be having. You can submit a ticket here: