Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
42 commits
Select commit Hold shift + click to select a range
ffb1a94
comment deleted
jdupre81 Nov 24, 2025
e53b0af
replace screenshot
jdupre81 Nov 24, 2025
88bbc5d
origimal comment restored
jdupre81 Nov 24, 2025
4b1dad5
Group Ability by Role adjusted
jdupre81 Nov 24, 2025
533679a
Group Ability by Role adjusted
jdupre81 Nov 25, 2025
f0b2697
Links for [Role Inheritance](https://www.notion.so/Role-Inheritance-b…
jdupre81 Nov 25, 2025
e070fae
Step 1 rephrased
jdupre81 Nov 25, 2025
a360795
content adjusted and screenshots and video updated
jdupre81 Nov 25, 2025
d0fd2da
screenshots updated
jdupre81 Nov 25, 2025
7a22634
Repair broken link to data connector permissions
jdupre81 Nov 25, 2025
a1b795d
video duplicated - replaced with screenshot
jdupre81 Nov 25, 2025
91e04bb
text correction
jdupre81 Nov 25, 2025
65cbf7c
block text adjusted
jdupre81 Nov 25, 2025
217a17e
content to index on Renku for Teaching added
jdupre81 Nov 27, 2025
94649bc
content to index on Renku for Teaching added
jdupre81 Nov 28, 2025
348a7fa
content to index on Renku for Teaching added
jdupre81 Nov 28, 2025
297a081
Link added, but is not working yet
jdupre81 Nov 28, 2025
85263fe
links updated
jdupre81 Nov 28, 2025
6e0b463
screenshot added
jdupre81 Nov 28, 2025
b194230
renku youtube videos added
jdupre81 Nov 28, 2025
43a4a36
image size adjusted
jdupre81 Nov 28, 2025
dbd6380
new page added to the Knowledge base section
jdupre81 Dec 1, 2025
70a8960
youtube link repaired
jdupre81 Dec 8, 2025
1753fe7
code for displaying the youtube video adjusted
jdupre81 Dec 8, 2025
317c9bd
links repaired and missing pages added
jdupre81 Dec 8, 2025
44f710e
link to display youtube video
jdupre81 Dec 9, 2025
2fb41ec
content updated and links repaired
jdupre81 Dec 9, 2025
6b7b939
link to next question repaired
jdupre81 Dec 9, 2025
f2cb4b5
new page added
jdupre81 Dec 12, 2025
ccfe5b2
New visuals added to various pages
jdupre81 Dec 12, 2025
a64c956
index.tsx hero edited
jdupre81 Dec 12, 2025
5132521
svg icons size adjsusted
jdupre81 Dec 12, 2025
df1d13f
Footer updated
jdupre81 Dec 12, 2025
c5aa68e
Corrected a typo in the index
jdupre81 Dec 12, 2025
ab35552
table background color deleted. Border added
jdupre81 Dec 12, 2025
97e0eb3
css page moved under How to ...
jdupre81 Dec 12, 2025
0f6ac6a
links updated
jdupre81 Dec 12, 2025
846e52c
file name and title changed
jdupre81 Dec 12, 2025
a51b68e
link updated
jdupre81 Dec 12, 2025
f9b742a
link updated
jdupre81 Dec 12, 2025
b7deced
chore: update broken teaching docs link
rokroskar Dec 22, 2025
05ab13a
Merge branch 'master' into jimena/docs_updates_part-2
rokroskar Dec 22, 2025
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
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,6 @@ In your project’s dashboard:

:::note

For examples of data from the ETH Research Collection to add to your project, see [Data & Code for Workshop Challenge](https://www.notion.so/Data-Code-for-Workshop-Challenge-01c5c6a5e8ba49f0aa840a31c474fec8?pvs=21).
For examples of data from the ETH Research Collection to add to your project, see [Data & Code for Reproducibility](/docs/users/use-cases/Demo-Workshop-Material).

:::
:::
1 change: 0 additions & 1 deletion docs/docs/10-users/50-code/00-code-repository.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
<!-- Highlight available globally <Highlight color="#c6d000ff">Docusaurus green</Highlight> -->


# Code repository

For the purposes of Renku, a code repository is a git-based collection of code files, hosted at
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,31 +12,25 @@ with GitHub/GitLab](connect-renku-account-to-github-or-gitlab-account).
In the project page:

1. Click on ➕ in the Code Repositories section.
<p class="image-container-s">
<p class="image-container-m">
![image.png](./add-code-repository-to-project-10.png)
</p>


2. Click on **Connect an existing repository** button
2. Fill in the URL of the code repository you want to add to your project. You can copy this URL from the browser page of your code repository.

<p class="image-container-s">
<p class="image-container-m">
![image.png](./add-code-repository-to-project-20.png)
</p>

3. Fill in the URL of the code repository you want to add to your project. You can copy this URL from the browser page of your code repository.

<p class="image-container-s">
![image.png](./add-code-repository-to-project-30.png)
</p>

:::note

Note that this should be the HTTP URL for your code repository, not the SSH url.

:::

4. Click on **Add code repository** button
5. Check that the **access badge** indicates the access level you expect to have for this code repository. If you do not have the access you are expecting, see [How to connect your Renku account to your GitHub or GitLab account](connect-renku-account-to-github-or-gitlab-account).
3. Click on **Add code repository** button
4. Check that the **access badge** indicates the access level you expect to have for this code repository. If you do not have the access you are expecting, see [How to connect your Renku account to your GitHub or GitLab account](connect-renku-account-to-github-or-gitlab-account).

:::note

Expand Down
Binary file not shown.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/docs/10-users/50-code/guides/add-code-repository-to-project-20.png
100755 → 100644
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
175 changes: 175 additions & 0 deletions docs/docs/10-users/60-sessions/40-css-integration.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,175 @@
import { Columns, Column } from '@theme/MDXComponents';

# How the CSCS integration works in Renkulab

:::info
The RenkuLab: CSCS integration allows users to start interactive Renku sessions running as HPC jobs at CSCS.

RenkuLab accesses compute and storage resources on the behalf of the user, using existing permissions and resource allocation. Running Renku sessions at CSCS will consume compute credits from your CSCS account(s) and may affect other resources you have at CSCS (e.g. storage).

:::

# Instructions

### Prerequisites

1. You need to have an account at [CSCS](https://cscs.ch) which can launch jobs on the [HPC platform](https://docs.cscs.ch/platforms/hpcp/) or the [ML platform](https://docs.cscs.ch/platforms/mlp/).
2. You need to have a [RenkuLab.io](https://renkulab.io) account.

### Step 1: Connect your CSCS from RenkuLab

Go to the [integrations page](https://renkulab.io/integrations?targetProvider=cscs.ch) and connect with the CSCS integration.

### Step 2: Complete the [Request access to the Renku:CSCS Integration](https://www.notion.so/2810df2efafc803a8175ccd2d472b23d?pvs=21)

Fill in the form so that a RenkuLab admin can let you launch sessions with the CSCS integration.

### Step 3: Launch a session

**Option 1: Try out a template**

1. Go to [this Renku project](https://renkulab.io/p/renku-team/cscs-starter-project) and click on the **Copy project** green button.
2. 🚀 Launch a session on the **Python Basic - VSCodium - Eiger** launcher!

**Option 2: Create your own CSCS launcher in your project**

1. Create a **new Renku project**
2. Add a new **session launcher**
3. For the launcher’s environment:
1. If you want to **Create from Code**, please note that only Python environments work on CSCS. If you’re unfamiliar with creating a code-based environment on Renku, see [How to create an environment with custom packages installed](/docs/users/sessions/guides/create-environment-with-custom-packages-installed)
2. If you want to use the Renku **Global Environments**, select **Python Basic** or **Python Datascience**


:::warning
Do not pick Python/Jupyter, Virtual desktop or RStudio.
:::


3. Please note that **External Environments** do not work with the CSCS integration.


4. When selecting Session launcher compute resources, open the drop down and select a **CSCS resource class**, such as the `Eiger - Debug` resource class inside the `CSCS - Eiger - Debug` resource pool!

5. Note: By default, the job is submitted against your default CSCS account

<details>
<summary>*If you’d like the job go to a different account…*</summary>

<p>
1. Open your session launcher side panel
2. Scroll down to the Environment variables section
3. Add an environment variable with key `SLURM_ACCOUNT` and set the value to your CSCS organisation (e.g. `g159`).
</p>

:::note
[See the example Project "Demo HPC"](https://staging.dev.renku.ch/p/flora.thiebaut/demo-hpc#launcher-01K58XQSDV5HFF0T9A6D1G16ZF)

<p class="image-container-l">
![image.png](./example-demo-hpc.png)
</p>

:::

:::note

Note: If you see the following screen, wait a minute and try to refresh the page. The session is still starting at CSCS.

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

:::

:::warning

After you shut down your sessions, **make sure that there is no running job leftover at CSCS**. Session shut down is not 100% reliable right now.

- Go to https://my.hpcp.cscs.ch/compute (or https://my.mlp.cscs.ch/compute) and check that no job is running

:::

</details>

------

<div style={{ display: "flex", gap: "30px", paddingLeft: "20px", }}>
## What works & What doesn’t work yet
</div>

<div style={{ display: "flex", gap: "30px", paddingLeft: "20px" }}>
<div style={{ flex: 1, padding: "20px", border: '1px solid #ccc' }}>

**Currently working**

:white_check_mark: Launch interactive Renku sessions at CSCS on: `Eiger` and `Bristen`
- Sessions on `Daint` , `Clariden` work, but only with special images created by the Renku team. Simplified integration with ARM clusters is coming soon. Please [Contact us](/docs/users/community) for more info.

:white_check_mark: Access data from scratch, store and home

:white_check_mark: By default, the job is submitted against your default CSCS account

<details>
<summary>*If you’d like the job go to a different account...*</summary>
<p>
1. Open your session launcher side panel
2. Scroll down to the Environment variables section
3. Add an environment variable with key `SLURM_ACCOUNT` and set the value to your CSCS organisation (e.g. `g159`).
</p>
[See the example Project "Demo HPC"](https://staging.dev.renku.ch/p/flora.thiebaut/demo-hpc#launcher-01K58XQSDV5HFF0T9A6D1G16ZF)

![image.png](./env-var.png)
</details>

:white_check_mark: “Create from code” environments and Global environments work (on Eiger only)

<details>
<summary>*If you’d like to test Daint outside of the pre-prepared project...*</summary>
<p>
At the moment, only special images work on Daint. The [testing project](https://staging.dev.renku.ch/p/flora.thiebaut/demo-hpc-clean#launcher-01K604HWZBNTTVD9G8VKATVJ8Z) comes with a launcher suitable for Daint. Here’s how to test on Daint in your own project (we will integrate this into RenkuLab more properly later!):
1. Create a session launcher with an **External Environment**
2. For the configuration, copy configuration from [this session launcher](https://staging.dev.renku.ch/p/flora.thiebaut/demo-hpc#launcher-01K5XTKBQK4XCCB6WTAQ7AVZJZ).
3. Ask to be added to a Daint resource pool
</p>
Tested: has torch and reports cuda access to 4 GPUs
</details>

- Code repositories added to the Renku project are added to your session

</div>

<div style={{ flex: 1, padding: "20px", border: '1px solid #ccc' }}>
**Not working at the moment**

<p>:x: Renku data connectors</p>
<p>:x: External environments (bringing your own docker image)</p>
<p>:x: Renku session secrets</p>
<p>:x: Configuring the max run time of the job</p>
<p>:x: Submitting slurm jobs from within the session</p>

</div>
</div>

------

# How does this work? Where can I see my things at CSCS?

In the Renku session logs, lookout for the following logs:

```json
{"time":"2025-09-25T09:30:12.370016834Z","level":"INFO","msg":"determined session path","sessionPath":"/capstor/scratch/cscs/fthiebau/renku/sessions/flora.thiebaut/demo-hpc/flora-thieba-ff7d0b715ab8"}
...
{"time":"2025-09-25T09:30:19.100336894Z","level":"INFO","msg":"submitted job","jobID":"5692630"}
```

Then you can go to the Renku session folder:

```json
$ ssh eiger
[eiger][fthiebau@eiger-ln004 ~]$ cd /capstor/scratch/cscs/fthiebau/renku/sessions/flora.thiebaut/demo-hpc/flora-thieba-ff7d0b715ab8
```

- The `slurm-<JOB_ID>.out` file contains the logs of the session.
- The `session_script.sh` file contains the script submitted to SLURM
- you should see `#SBATCH --account=<ACCOUNT>` at the top if you set it
- The `environment.toml` file is used to start the container, see https://docs.cscs.ch/software/container-engine/
- The `work` folder is the working directory inside the session. If you saved any files during the session (e.g. notebooks), they will be found here.
54 changes: 54 additions & 0 deletions docs/docs/10-users/60-sessions/_50_test_table.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
import { Columns, Column } from '@theme/MDXComponents';

<div style={{ display: "flex", gap: "60px" }}>
<div style={{ flex: 1 }}>
# What does work

- Launch interactive Renku sessions at CSCS on: `Eiger` and `Bristen`
- Sessions on `Daint` , `Clariden` work, but only with special images created by the Renku team. Simplified integration with ARM clusters is coming soon. Please [Contact us](/docs/users/community) for more info.

- Access data from scratch, store and home

- By default, the job is submitted against your default CSCS account

<details>
<summary>*If you’d like the job go to a different account:*</summary>
<p>
1. Open your session launcher side panel
2. Scroll down to the Environment variables section
3. Add an environment variable with key `SLURM_ACCOUNT` and set the value to your CSCS organisation (e.g. `g159`).
</p>
[See the example Project "Demo HPC"](https://staging.dev.renku.ch/p/flora.thiebaut/demo-hpc#launcher-01K58XQSDV5HFF0T9A6D1G16ZF)

![image.png](./env-var.png)
</details>

- “Create from code” environments and Global environments work (on Eiger only)

<details>
<summary>If you’d like to test Daint outside of the pre-prepared project:</summary>
<p>
At the moment, only special images work on Daint. The [testing project](https://staging.dev.renku.ch/p/flora.thiebaut/demo-hpc-clean#launcher-01K604HWZBNTTVD9G8VKATVJ8Z) comes with a launcher suitable for Daint. Here’s how to test on Daint in your own project (we will integrate this into RenkuLab more properly later!):
1. Create a session launcher with an **External Environment**
2. For the configuration, copy configuration from [this session launcher](https://staging.dev.renku.ch/p/flora.thiebaut/demo-hpc#launcher-01K5XTKBQK4XCCB6WTAQ7AVZJZ).
3. Ask to be added to a Daint resource pool
</p>
Tested: has torch and reports cuda access to 4 GPUs
</details>

- Code repositories added to the Renku project are added to your session

</div>

<div style={{ flex: 1 }}>
# What doesn’t work yet 2

<p>:x: Renku data connectors</p>
<p>:x: External environments (bringing your own docker image)</p>
<p>:x: Renku session secrets</p>
<p>:x: Configuring the max run time of the job</p>
<p>:x: Submitting slurm jobs from within the session</p>

</div>
</div>

Binary file added docs/docs/10-users/60-sessions/env-var.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Original file line number Diff line number Diff line change
Expand Up @@ -5,13 +5,16 @@ To change which resource class your project’s session launcher uses, you can e
1. Click on the session launcher in your project
2. Navigate to “Default Resource Class” and click the pencil icon to change the resource class.

import selectResourceVideo from './select-compute-resources-for-session-10.mov';

<video controls width="100%" src={selectResourceVideo} />

<!-- <video controls width="100%" src={selectResourceVideo} /> -->

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


:::tip

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.
Do you need more resources than are available in RenkuLab’s public resource classes? [Contact us](../../community)! We can configure a custom resource pool for your needs upon demand.

:::

Expand All @@ -21,4 +24,6 @@ If you would **temporarily** launch a session with different resources without c
2. Select **Custom launch**.
3. Choose a resource class for this session

import selectResourceVideo from './select-compute-resources-for-session-10.mov';

<video controls width="100%" src={selectResourceVideo} />
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
# How to create a Streamlit app on top of your project

:::info

Renku 2.0 will allow Docker images with user-specific entry points soon. This feature will make it easier the creation of user-specific environments, including setting up Streamlit apps.

:::

As of now, it is still possible to launch your Streamlit app on top of your Renku 2.0 project as follows.

1. Create a fork of this repository: https://gitlab.renkulab.io/rok.roskar/streamlit-v2-example, we will refer to the fork as project-fork.

<p class="image-container-l">
![image.png](./streamlit-v2-example.png)
</p>


2. In *project-fork*, modify line 8 in the file `jupyter_noteboox_config.py`to the path to your python entry file for Streamlit within your Renku 2.0 project ( e.g. `work/name-fork-project/helloworld.py` or `work/main-project-repository/streamlit/app.py` or `work/repository-2/app.py` )

⚠️ Do not forget to add `work/` at the beginning of the path !


<p class="image-container-l">
![image.png](./jupiter-notebook.png)
</p>

3. Add all the package dependencies you will need to run your Renku 2.0 project in the requirements.txt file or in the environment.yml , as explained [here](/docs/users/sessions/guides/install-packages-on-the-fly-in-your-session).

<p class="image-container-l">
![image.png](./required-files.png)
</p>

4. Commit your changes for *project-fork*.
5. Select **Deploy(5a)/Container Registry(5b)** on the left menu of *project-fork*.
6. Click on top of your image registry to access the tags **(6)**.

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

7. Copy the latest tagged image (registry_link).

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

8. Add a session launcher to your Renku 2.0 project the following **Custom Environment** set-up ****as described in [How to use your own docker image for a Renku session](/docs/users/sessions/guides/use-your-own-docker-image-for-renku-session). Consider the following two parameters:
1. **Container Image:** `*registry_link*`
2. **Default URL:** `/streamlit`
9. [Optional] If the entry point for your streamlit app will be hosted in *project-fork,* add *project-fork* code repository to your Renku 2.0 project.

You can now start a session with your new streamlit launcher to access the streamlit app directly in your browser.
Loading
Loading