Coder Social home page Coder Social logo

Comments (6)

cboettig avatar cboettig commented on July 18, 2024

@rsynnest thanks for the report, we're trying to make the shiny container converge more to the rstudio stack, which will give greater flexibility. But it might mean we need a different execution pattern going forward for user mode. Can you try with the custom CMD:

EDIT (fixed path)

docker run --user shiny -p 3838:3838 --rm rocker/shiny /usr/bin/shiny-server

@noamross thoughts?

from shiny.

rsynnest avatar rsynnest commented on July 18, 2024

That did the trick! Initially it errored out due to the wrong filename, /usr/bin/shiny-server.sh just needs to be /usr/bin/shiny-server

from shiny.

cboettig avatar cboettig commented on July 18, 2024

@rsynnest sweet, thanks for the report back and the correction. We'll try and get this added to the new docs.

cc @noamross

from shiny.

noamross avatar noamross commented on July 18, 2024

Yes, in the new architecture processes like Shiny or Rstudio are served by process supervisor that can only run as root. This has advantages for graceful interrupts and restarts, and if these processes are running concurrently. Shiny itself gives a startup message when running as root warning that this could be a security vulnerability. (The Pro version actually tries to downgrade its on permissions if it detects they are not necessary).

If you want shiny to run as non-root, the approach above, skips the process supervisor altogether. Alternatively, you can use a shiny configuration file to tell the shiny server what user it should run as detail here.

In addition to documenting this, we might take the following approaches:

  • Have the shiny process run as user shiny by default
  • Use an environment variable SHINY_USER to make it easy to set the shiny process user

from shiny.

sneumann avatar sneumann commented on July 18, 2024

+1 for both ideas by @noamross to drop privileges early and have s6 init start the initial shiny process as shiny or whoever is in SHINY_USER, maybe following https://github.com/just-containers/s6-overlay#dropping-privileges and just-containers/s6-overlay#207 into the https://github.com/rocker-org/rocker-versioned2/blob/master/scripts/install_shiny_server.sh#L44
Yours, Steffen

from shiny.

eitsupi avatar eitsupi commented on July 18, 2024

This has been resolved by upgrading S6-overlay. rocker-org/rocker-versioned2#247

from shiny.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.