Skip to content

extensible runtimes for python,node,php,java #157

Open

Description

@sciabarracom

Why you need it?

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)

Activity

  1. changed the title [-]extensible runtimes for python,node,php[/-] [+]extensible runtimes for python,node,php,java[/+] on Jul 19, 2025
  2. d4rkstar commented on Aug 17, 2025

    @d4rkstar
    Contributor

    @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.).

    Let me know what you think.

  3. sciabarracom commented on Aug 17, 2025

    @sciabarracom
    ContributorAuthor

    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

    cp "$1" requirements.txt
    pip install -r requirements
    

    Node:

    cp "$1" package.json
    npm install 
    

    Java

    cp "$1" pom.xml
    mvn install
    

    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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions