Setting the config file location


We are deploying a shiny app to a remote container with no write access to /etc. Is there a way to set configurations without putting them in /etc/shiny-server/shiny.conf? Specifically the disable_protocols setting?



It looks to me like the first parameter passed to the shiny-server binary is interpreted as the config file. /etc/shiny-server/shiny-server.conf is just the default.

$ /opt/shiny-server/bin/shiny-server /home/cole/shiny-server.conf
[2018-12-11 17:04:29.302] [INFO] shiny-server - Shiny Server (Commercial) v1.5.1.760 (Node.js v6.9.1)
[2018-12-11 17:04:29.305] [INFO] shiny-server - Using config file "/home/cole/shiny-server.conf"
[2018-12-11 17:04:29.347] [ERROR] shiny-server - Error loading config: File "/home/cole/shiny-server.conf" does not exist


Nice, thank you Cole!


My pleasure and glad I could help! If that solves your issue, it might be worth "marking as a solution" so that others can see the question is resolved.


We are only using the shiny package without shiny-server. Can we reset the configuration file without calling the shiny-server binary? Does running the shiny package even use the default global config file at /etc/shiny-server/shiny-server.conf?


Oh not at all. :slight_smile: shiny-server is designed to host Shiny applications (start them / stop them / scale them / etc.). Shiny itself already listens on a port and is dependent only on R (i.e. not shiny-server at all), so that shiny-server.conf file is never read if you are running Shiny directly.

I.e. with something like R -e "shiny::runApp()"


Gotcha, I understand better. Thank you!


This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.