You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
We will use extensible runtimes from now, so we can get rid of all the libraries pushed in the runtimes and add dependencies when needed
How it could be?
starting from nodejs:22 and python:3.13 and latest php and java we will add the /bin/extend script that will add additional dependences from /tmp/requirements
Other related information
let's leave the past runtimes with all the dependencies in case somoeone is using them)
@francescotimperi, @sciabarracom: Instead of writing a specific extend for each runtime, would it be better to write a program that performs the correct "extension" action based on the runtime?
For example, we could add an ENV kind= (or something similar...) to the Dockerfile and choose the correct "extension" action from there (uv, npm, composer, etc.).
the "extend" should be a very easy script and it is not worth the complexity of setup a separate project - it is there only to avoid an infinite list of cases and standardize - and it is also very runtime spedific.
Activity
[-]extensible runtimes for python,node,php[/-][+]extensible runtimes for python,node,php,java[/+]d4rkstar commentedon Aug 17, 2025
@francescotimperi, @sciabarracom: Instead of writing a specific
extendfor each runtime, would it be better to write a program that performs the correct "extension" action based on the runtime?For example, we could add an ENV kind= (or something similar...) to the Dockerfile and choose the correct "extension" action from there (uv, npm, composer, etc.).
Let me know what you think.
sciabarracom commentedon Aug 17, 2025
the "extend" should be a very easy script and it is not worth the complexity of setup a separate project - it is there only to avoid an infinite list of cases and standardize - and it is also very runtime spedific.
To explain, the extend should be as simple as:
Python
Node:
Java
So far we have /bin/compile that will always be invoked
Now it will also use /bin/extend to be able to create a "standard" dockerfile without