Open dnmd opened 4 years ago
Hi, @dnmd, thanks for the question!
Unfortunately as root permissions are required to install packages this cannot be done anywhere else other than in the Dockerfile during the build of the image. The assemble
script does not run under the root user, so extending it will not save you either.
If you do not need to get this working in Openshift you can just build a new image based on our images, switch to the root user during the build process, install what you need and switch the user back. Otherwise you will have to create an RFE in the Red Hat Bugzilla instance to get the dependencies into the image itself.
Some
npm packages
have additional dependencies outside thenpm
scope. For example thepuppeteer
npm package will download a recent version of Chromium. Chromium in its place depends on packages being present on the system it runs on.When running
ldd chrome | grep not
it comes clear that the required packages are missing in thiss2i
. For example;libXcomposite.x86_64 libXcursor.x86_64 libXdamage.x86_64
etc...1) Are the any plans, or did I miss it in the docs how to install additional packages for the system? Via something similar as other
s2i
's have like arequirements.txt
? 2) I also came across the possibility to extend theassemble
script but I doubt if that is the proper way... because it may requiresudo
... (?)Extending the
assemble
script by creating an.s2i/bin/assemble
in the source of my project and add something like;