Globally defined docker renku image

Hi,
Every time I create a project, I have to manually set the renku docker image as shown in the image below. This is not very practical because some users couldn’t know.
Is there a way to define it globally, (renku docker image Python, R, julia…) and which would automatically know which image used depending on the project template

Hi @franckyfrancky - I’m not sure I understand what you mean. Each Renku project is configured to have an image automatically built from the Dockerfile and whatever dependencies are included for the language that the project is using (e.g. either python or R). The functionality you are showing in the screenshot is to pin an image, i.e. to bypass the automatic image generation and use a pre-determined image. IF this is what you want to do in general for some specific use-case, you can set up a template that accomplishes this. You have to add a line to the .renku/renku.ini file in the template that specifies the image, like it is done here.

On my On-premise instance, if I create a python project and don’t specify docker images corresponding to python as shown in my previous image, I’ll get the error as shown in the image below which will force me to start the session with the renku base image or ping my own docker image which will be used to build the session.

The problem is that this renku base image only seems to build python projects and not R for example.

I therefore have to define my own docker image corresponding to the project template in the session settings each time.

So I’m looking for the best way of defining it globally and not each time I create a new project.

I’ve tried changing the value of defaultSessionImage in the values as in the image below, but I can only specify a single image, corresponding to a single template.

The images are built with gitlab-ci - did you configure a gitlab runner?

Hi @rrrrrok
In fact, I was using this, but I had to do it for each project
https://renku.readthedocs.io/en/stable/reference/templates.html#pin-a-docker-image

but with the runners I see that I can do it more globally with this:

https://renku.readthedocs.io/en/stable/how-to-guides/admin/prerequisites/gitlabrunner.html

Thanks

1 Like

yes, the intended way for this to work is to configure a gitlab runner. Then each project that has a gitlab-ci file gets images built automatically.

Hi @rrrrrok

Although this part is quite short, I have 2 small concerns.
I replaced with one of our runners on gitlab. and I replaced renku.mydomain.ch in https://renku.mydomain.ch/gitlab/admin/runners with the domain name of my renku instance to get the registration token, but this final link redirects to a 404 page from gitlab.

I still generated a token from the project on gitlab where the runner is configured, but when executing the second command I have the error:

ERROR: Registering runner… failed
401 Unauthorized
PANIC: Failed to register the runner.

and I would like first if I passed the necessary values