Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
21 commits
Select commit Hold shift + click to select a range
ad18f13
feat: add jobs documentation and update existing guides to include jobs
andre-code Jul 2, 2026
ea6ee31
feat: update info structure to support jobs and apps
andre-code Jul 9, 2026
231568c
feat: update content to reflect new UI that includes job launcher
andre-code Jul 10, 2026
d466af7
remove no existing folder for migration guides
andre-code Jul 10, 2026
61efac6
Launcher concept description update and added image
bethcg Jul 17, 2026
40e40f5
Minor changes to resource pools explanation
bethcg Jul 17, 2026
cc2ea07
Added reference to app Launchers and revised session index
bethcg Jul 17, 2026
e6b4802
Added images to job creation how to guide
bethcg Jul 17, 2026
454a6fa
Added images for job submission and revised text
bethcg Jul 17, 2026
189545a
Added images to job monitoring and refactored code for long training …
bethcg Jul 17, 2026
34044cc
Added job dismiss image
bethcg Jul 17, 2026
3873b1d
Minor typos
bethcg Jul 17, 2026
01eaef1
Suggestions requested by Laura
bethcg Jul 20, 2026
bd60f8a
Added Laura's suggestion: https://github.com/SwissDataScienceCenter/r…
bethcg Jul 20, 2026
1941ce5
Resolve comment https://github.com/SwissDataScienceCenter/renku/pull/…
bethcg Jul 20, 2026
3c22a04
Linked use your own docker image and configure frontends to resolve c…
bethcg Jul 20, 2026
07a348f
Modified structure on install packages on the fly (comment: https://g…
bethcg Jul 20, 2026
55b0c91
chore: moved images under the guides dir
rokroskar Jul 28, 2026
af6593a
chore: wording
rokroskar Jul 28, 2026
d8b7476
chore: use plural in headings
rokroskar Jul 28, 2026
8bf66ec
Merge branch 'master' into feat/job-docs-content
andre-code Jul 31, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion docs/docs/10-users/10-users.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ Renku is an **open-source platform for researchers and scientists to connect dat

<p class="text-align: center">
![image.png](./project_40px.png)
[**Projects**](/docs/users/projects/projects/) in Renku may contain [**Data**](/docs/users/data/data/), [**Code**](/docs/users/code/code-repository) and [**Sessions**](/docs/users/sessions/environment/) to foster [**Collaboration**](/docs/users/collaboration/). Check each individual building block for understanding the possibilities that Renku offers.
[**Projects**](/docs/users/projects/projects/) in Renku may contain [**Data**](/docs/users/data/data/), [**Code**](/docs/users/code/code-repository) and [**Sessions**](/docs/users/compute/session/) to foster [**Collaboration**](/docs/users/collaboration/). Check each individual building block for understanding the possibilities that Renku offers.
</p>

---
Expand Down
13 changes: 7 additions & 6 deletions docs/docs/10-users/20-getting-started/50-launch-session.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,15 +4,16 @@

To run your code and analyze data on RenkuLab, first decide what kind of session environment you would like by creating a session launcher.

1. In the **Sessions** section of your project page, click on **+**.
2. In the **Global environment** tab, scroll down and select **Python Data Science - Jupyter**. This will give you a pre-configured environment with python and data science packages pre-installed. If you need to install other packages, you can install any necessary packages using the terminal. For a detailed guide for how to install packages, see [How to install packages on-the-fly in your session](../sessions/guides/environments/install-packages-on-the-fly-in-your-session). However, the packages you install on-the-fly in the session will not be shared with other people working with your Renku project. To ensure the adequate dependencies are installed in your environment, follow step 4.3 to create a custom environment from code.
3. Click **Next**.
4. Choose the compute resources for your session based on your project’s needs in the drop-down menu, and select the amount of disk space.
1. In the **Launchers** section of your project page, click on **+**.
2. Select **Session Launcher** card.
3. In the **Global environment** tab, scroll down and select **Python Data Science - Jupyter**. This will give you a pre-configured environment with python and data science packages pre-installed. If you need to install other packages, you can install any necessary packages using the terminal. For a detailed guide for how to install packages, see [How to install packages on-the-fly in your session](../compute/session/guides/install-packages-on-the-fly-in-your-session). However, the packages you install on-the-fly in the session will not be shared with other people working with your Renku project. To ensure the adequate dependencies are installed in your environment, follow step 4.3 to create a custom environment from code.
4. Click **Next**.
5. Choose the compute resources for your session based on your project’s needs in the drop-down menu, and select the amount of disk space.

![image.png](./add-session-launcher.png)

:::info
You can have multiple Session Launchers in your project that run different kinds of sessions. Check out [How to guides to add a session launcher to your project](../sessions/guides/environments)
You can have multiple Session Launchers in your project that run different kinds of sessions. Check out [How to guides to add a session launcher to your project](../compute/session/guides/add-a-session-launcher-to-your-project)
:::

:::info
Expand All @@ -29,7 +30,7 @@ Once your session has launched, you will see the data and code that you linked t

## Add a second Session Launcher (optional)

When you want to create a RenkuLab session with a set of packages that’s reproducible and shareable, we recommend defining your package dependencies in code. Then, use the ‘Create from Code’ session launcher option to have Renku create a reproducible session environment for you! See [How to create an environment with custom packages installed](../sessions/guides/environments/create-environment-with-custom-packages-installed) for details.
When you want to create a RenkuLab session with a set of packages that’s reproducible and shareable, we recommend defining your package dependencies in code. Then, use the ‘Create from Code’ session launcher option to have Renku create a reproducible session environment for you! See [How to create an environment with custom packages installed](../compute/environment/guides/create-environment-with-custom-packages-installed) for details.

## Run the Code (optional)

Expand Down
6 changes: 3 additions & 3 deletions docs/docs/10-users/30-projects/00-projects.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,9 @@ A Renku project can contain:

- [Code repository](../code/code-repository)
- [Data connector](../data/data)
- [Session Launcher](../sessions/session), which brings together:
- [Environment](../sessions/environment)
- [Resource Pools & Classes](../sessions/resource-pools-and-classes)
- [Session Launcher](../compute/session), which brings together:
- [Environment](../compute/environment)
- [Resource Pools & Classes](../compute/resource-pools-and-classes)

A Renku project may have members; see [Permissions, Roles, and Access
Rights](/docs/users/collaboration/permissions).
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,9 +25,9 @@ To create a new project:
4. Add code repository as explained in [How to add a code repository to your project](../../code/guides/add-code-repository-to-project).
5. Create a session launcher for working in your project:
1. Select an environment:
1. Check out the environments available in Renku via [How to add a session launcher to your project](../../sessions/guides/environments/). If these are sufficient for your project, use them!
2. If you need to customize the environment for your project, you can create a custom environment yourself via [How to use your own docker image for a Renku session](../../sessions/guides/environments/use-your-own-docker-image-for-renku-session), or [Contact](../../community) us if you are in trouble!
2. Set the session launcher’s default resource class for your project [How to select compute resources for your session](../../sessions/guides/select-compute-resources-for-session).
1. Check out the environments available in Renku via [How to add a session launcher to your project](../../compute/session/guides/add-a-session-launcher-to-your-project). If these are sufficient for your project, use them!
2. If you need to customize the environment for your project, you can create a custom environment yourself via [How to use your own docker image for a Renku session](../../compute/environment/guides/use-your-own-docker-image-for-renku-session), or [Contact](../../community) us if you are in trouble!
2. Set the session launcher’s default resource class for your project [How to select compute resources for your session](../../compute/guides/select-compute-resources-for-session).

:::info

Expand Down
2 changes: 1 addition & 1 deletion docs/docs/10-users/50-code/00-code-repository.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ For the purposes of Renku, a code repository is a git-based collection of code f

When a code repository is connected to a [Project](../projects/projects),
the repository is automatically cloned into the
[Session](../sessions/session), where the files can be accessed and run.
[Session](../compute/session), where the files can be accessed and run.

## Access to Code Repositories from RenkuLab

Expand Down
34 changes: 34 additions & 0 deletions docs/docs/10-users/60-compute/10-launcher.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
# Launcher

A launcher is a component of a project that defines how compute runs on RenkuLab. Each launcher combines an [Environment](environment) with a default [Resource Pools & Classes](resource-pools-and-classes) configuration.

Renku supports two types of launchers:

1. **Session launcher:** launches an interactive, browser-based [Session](session) for coding and data exploration.
2. **Job launcher:** runs a non-interactive [Job](job) in the background when you submit it.

<p class="image-container-l">
![Launchers](./launcher-10.png)
</p>

A launcher contains:

1. an [Environment](environment), which defines the software packages and libraries used by the session or job, and
2. a default resource class (see [Resource Pools & Classes](resource-pools-and-classes)), which determines the availabler compute resources.

For a Job launcher, you also configure a **job command** that defines what runs when the job is submitted.

Project's launchers are usable to everyone who can see the project. Anyone with access to the project can launch a session or submit a job from a launcher.

However, the sessions you launch and the jobs you submit are only accessible to you. They are not shared across users.

:::info

**App Launchers** will be available in October 2026.

:::

## Next steps

- To create an interactive session launcher, see [Add a session launcher to your project](session/guides/add-a-session-launcher-to-your-project).
- To create a job launcher, see [Add a job launcher to your project](job/guides/create-a-job-launcher).
38 changes: 38 additions & 0 deletions docs/docs/10-users/60-compute/20-resource-pools-and-classes.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
# Resource Pools & Classes

Compute resources available to Renku users are determined by the **resources pools** the user has access to. To specify the resources for a project’s launcher, you select a **resource class** from any of the resource pools available to you. The same resource pools and classes apply to interactive [Sessions](session) and background [Jobs](job).

## Resource Pools

A **resource pool** consists of a total resource quota assigned to a set of users who are allowed to use resources from that quota with culling times for sessions.

- **Resource quota:** For example, a resource pool may be configured for a total of 160 CPUs, 1024 GB RAM, and 16 GPUs.
- **Users:** There is no limit to how many users can be added to a resource pool. And conversely, a user may be granted access to any number of resource pools. All resource pools the user has access to show up when defining or modifying the default resource class for a launcher.
- **Culling times:** The maximum idle time for a resource pool(s) can be configured by the administrator. For example, in the Public resource pool (the default resource pool available to all RenkuLab users), interactive sessions auto-pause after 2 hours of idle time, and shut down after 2 weeks. These thresholds may be customized to be longer or shorter. Jobs are not paused for idle time in the same way as sessions, instead completed and errored jobs are removed from the interface after a retention period (see [Job](job)).

## Resource Classes

A resource pool contains a set of **resource classes**. A resource class is a resource configuration that a user can select for their RenkuLab session or job.

For example, a resource class may be:

- 12 CPUs, 80 GB RAM, 2 GPUs, 50 GB _default_ disk, 500 GB _max_ disk

As users run sessions and jobs, their compute resources (the resource class in use) come out of the quota on the resource pool. If the resource pool’s quota has been reached, users won’t be able to start more sessions or jobs in that resource pool (but they may use other resource pools they have access to).

<p class="image-container-l">
![ResourceClass](./resource-pools-and-classes-10.png)
*For custom resource pools granted to users, you may customize the resource classes in your resource pool.*
</p>

## The Public Resource Pool & Classes

On RenkuLab, the following resources classes are publicly available (in the “public resource pool”):

<p class="image-container-l">
![ResourcePool](./resource-pools-and-classes-20.jpg)
</p>

## Request a Custom Resource Pool {#request-custom-resource-pool}

Do you need more resources than are available in RenkuLab’s public resource classes? [Contact](../community) us! We can configure a custom resource pool for your needs upon demand. We apply flat, transparent pricing, passing down infra rates.
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
label: Environment
Original file line number Diff line number Diff line change
Expand Up @@ -230,7 +230,7 @@ repository](create-environment-with-custom-packages-private-code-repository).

1. Make sure the code repository that contains your environment definition file is added to your
Renku project.
2. Create a **new session launcher**
2. Create a **new session launcher** by clicking the "+" button in the Launchers section, and select either Session Launcher or Job Launcher.
3. Select the **Create from code** option

![image.png](./create-environment-with-custom-packages-installed-10.png)
Expand Down Expand Up @@ -258,7 +258,7 @@ repository](create-environment-with-custom-packages-private-code-repository).
7. Click **Next**
8. Define the **name** of the Session Launcher
9. Select the default **compute resources**
10. Click on **Add session launcher**
10. Click on **Add launcher**

The environment is now being built by RenkuLab. You can see the status on the session launcher.

Expand All @@ -272,8 +272,8 @@ When the environment is built, you can launch your session.
update the environment definition file in the code repository where the
environment is defined.
2. Then, rebuild the environment in RenkuLab:
1. Click on the session launcher to open the session launcher side panel.
2. Navigate to the **Session Environment** section.
1. Click on the launcher to open the launcher side panel.
2. Navigate to the **Environment** section.
3. Click on **Rebuild**.

## [experimental] Using a dashboard with a code-based environment
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,106 @@
# Use your own docker image for a launcher

## What Docker images can I use in RenkuLab sessions or jobs?

There are some limitations to what images you can use in Renku sessions. The image must meet **all** of the conditions below in order to work on RenkuLab:

1. **The image needs a front end (only applies to session launchers)**

The image you use needs a user interface web frontend to run so that you can access the session via the browser. Examples of these include JupyterLab, VSCode or RStudio.

2. **The image will be run as non-root**

For security reasons, sessions are started with a non-root user.

## How to configure an image as a custom environment

In the project page:

1. Under **Launchers** section click on ➕ to add a new session or job launcher
2. Choose **Session** or **Job** in the type selector.
3. Select **External environment**

<p class="image-container-l">
![image.png](./use-your-own-docker-image-for-renku-session-10.png)
</p>

3. For the container image, provide an **image identifier**.
- Some examples of image identifiers:
- if the image is hosted on DockerHub:
- `renku/renkulab-py:3.10-0.24.0`
- `continuumio/anaconda3:2024.06-1`
- if the image is hosted on gitlab.renkulab.io:
- `registry.renkulab.io/laura.kinkead1/n2o-pathway-analysis:980f4a3`
- The image identifier should be in the format that works with `docker pull`
4. Depending on the image you’re using, you’ll need to fill in the **Advanced settings**. See [Example image configurations for common front ends](./configure-frontends-for-a-session-environment) for ready-to-use configurations, or the information below for how to fill it in:

:::danger

This part is important! Please read carefully.

:::
- I’m using an image created by **Renku** and that is **newer** than version 0.24.0 (the version number is in the image tag).

The only additional parameter you have to provide in the session launcher creation dialog is the `Default URL` and this should be set to `/lab`.

![image.png](./use-your-own-docker-image-for-renku-session-30.png)

- I’m using an image created by **Renku** and that is **older** than version 0.24.0 (the version number is in the image tag).

:::note

If you are working with an image in a launcher where the **launcher was created before November 27, 2024**, the launcher was migrated automatically with the new Renku release to include the necessary advanced settings. The instructions below apply only to new session launchers you are creating for the first time.

:::

For Renku base images of version 0.24.0 or older (or images that are based on these images), you have 2 options:
1. **Option 1:** Upgrade your base image to 0.25.0 or newer. This can be done by going into the settings of the Renku 1.0 project that builds the image, and accepting the updates. Or, directly update your Dockerfile to refer to the newer base image.
2. **Option 2:** Provide additional configuration in the launcher. Here is an example configuration needed to run a Renku base image of version 0.24.0 or older:
- **Container Image**: `renku/renkulab-py:3.10-0.24.0` or whatever image you are trying to use
- **Default URL**: `/lab` (or `/rstudio` if you are using `renku/renkulab-r` or `renku/renkulab-bioc`). (only applies to session launchers)
- **Mount Directory**: `/home/jovyan/work`
- **Working Directory**: `/home/jovyan/work`
- **UID**: `1000`
- **GID**: `100`
- **Command ENTRYPOINT**: `["sh", "-c"]`
- **Command Arguments**:

```json
[
"/entrypoint.sh jupyter server --ServerApp.ip=0.0.0.0 --ServerApp.port=8888 --ServerApp.base_url=$RENKU_BASE_URL_PATH --ServerApp.token=\"\" --ServerApp.password=\"\" --ServerApp.allow_remote_access=true --ContentsManager.allow_hidden=true --ServerApp.allow_origin=* --ServerApp.root_dir=\"/home/jovyan/work\""
]
```

- I’m using an image created **somewhere else** (not by Renku).

You need to fill in the **Advanced Settings** for your image to work on RenkuLab. See [Example image configurations for common front ends](./configure-frontends-for-a-session-environment).

5. Select the **Resource class** that best fits your expected computational needs.

:::tip

If the available resource classes are too small for your compute requirements, we can create a custom resource pool for you! See [Request a Custom Resource Pool](../../resource-pools-and-classes#request-custom-resource-pool).

:::

6. Give your session or job launcher a **name**
7. Click on **Add launcher** button

:::info

Note that you can always **modify your launcher** by clicking on top of it on the project’s page, and using the menu on the right:

<p class="image-container-l">
![image.png](./edit-session-launcher.png)
</p>

:::

## About Renku Session URLs {#about-renku-session-urls}

The biggest challenge with running custom images on Renku is managing the URL path where the session is accessible. This path is not known ahead of time but only once the session has been launched. Renku injects two environment variables in each session to indicate the full session URL and the path portion of the URL. These environment variables are named respectively `RENKU_BASE_URL` and `RENKU_BASE_URL_PATH`. Regardless of what image you are running on Renku you will have to specify the path where the session can be accessed. Most programs you will run in an image will assume that the path where they run is `/`, but we never run session at such location. For example, on [renkulab.io](http://renkulab.io) sessions are available at URLs like the following: `https://renkulab.io/sessions/tasko-olevsk-bfff446a2f41`

For the session available at the URL above, the environment variables have the following values:

- `RENKU_BASE_URL` = `https://renkulab.io/sessions/tasko-olevsk-bfff446a2f41`
- `RENKU_BASE_URL_PATH` = `/sessions/tasko-olevsk-bfff446a2f41`
Loading