Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
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
8 changes: 1 addition & 7 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,12 +26,6 @@ computational sessions. Projects are assembled by piecing together:
image and share it easily with others to really make your code and data
sing.

> [!NOTE]
> We are discontinuing Renku Legacy and the RenkuLab GitLab by January 2026
> to focus all development efforts on the newly launched version of Renku,
> [Renku 2.0](https://blog.renkulab.io/launch-renku-2/). To learn more, including how to maintain access to your Renku
> Legacy projects, see our [transition guide](https://blog.renkulab.io/sunsetting-legacy/#how-to-migrate-projects-from-renku-legacy-to-renku-20).
## Getting Started

A public instance of **RenkuLab** is available at
Expand All @@ -44,7 +38,7 @@ or visit our [documentation](https://docs.renkulab.io).

- [Documentation for users](https://docs.renkulab.io/en/latest/docs/users/)
- [Documentation for administrators](https://docs.renkulab.io/en/latest/docs/admins/architecture/services)
- [Renku blog](https://blog.renkulab.io/): discover what is new in Renku, for example [How Renku 2.0 is different from Renku Legacy](https://blog.renkulab.io/deep-dive-2-0/)
- [Renku blog](https://blog.renkulab.io/): discover what is new in Renku, for example [Renku Release June 2026](https://blog.renkulab.io/release-2026-06/)
- [Community portal](https://renku.notion.site/Renku-Community-Portal-2a154d7d30b24ab8a5968c60c2592d87)
- [\"Legacy\" documentation]([https://renku.readthedocs.org](https://docs.renkulab.io/en/0.70.1/)): the
documentation pages for the previous version of the platform
Expand Down
7 changes: 0 additions & 7 deletions docs/docs/10-users/10-users.md
Original file line number Diff line number Diff line change
Expand Up @@ -34,13 +34,6 @@ Renku is an **open-source platform for researchers and scientists to connect dat
[**Knowledge Base**](/docs/users/knowledge-base/fair-open-science/) Curiosity about how it works? [Any doubts](/docs/users/knowledge-base/faq/)? Join our channels to keep in touch with us.
</p>

---

<p class="text-align: center">
![image.png](./sunset_40px.png)
[**Renku Legacy:**](/docs/users/migrate-v1-v2/) Guidelines on how to migrate your code repositories from Legacy Renkulab Gitlab to your own code repository provider, and keep
</p>

## Use cases

| Researchers | Educators | Event organizers |
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,137 @@
---
title: Azure Blob Storage
---

# How to connect to Azure Blob Storage

:::info

This guide assumes Storage Account-level permissions. If you had Azure IAM (Identity) rights, you could use "Service Principals" or "Entra ID" logins, which remains outside the scope of this documentation.

:::

## Public access

This set-up allows you to provide access to data publicly without requiring authentication with **read-only** access. For setting this up, you just need your Azure storage account name and the container name. Bear in mind that access is controlled entirely at container level.

### Azure portal configuration

1. **Account level:** Go to **Settings > Configuration** and set **Allow Blob anonymous access** to **Enabled**.

<p class="image-container-m">
![Azure portal: Allow Blob anonymous access setting](./azure-portal-public-account-config.png)
</p>

2. **Container level:** Go to **Data storage > Containers**, select your container, and click **Change access level**.
- Select **Container**, which allows anonymously listing files and downloading.

<p class="image-container-m">
![Azure portal: Change access level dialog with Container option selected](./azure-portal-public-container-access.png)
</p>

### Set up in Renku

1. Under **Data** section click on **+** button
2. Go to the tab **+ Create a data connector** and select **azureblob**.
3. Click on **Next**

<p class="image-container-m">
![image.png](./add-azureblob-10.png)
</p>

4. Set the following parameters in **Connection information**:
1. **Source path**: the `container_name` as specified in the storage account you are using (e.g. `my-container`). You can also mount a sub-folder by appending it to the bucket name with a slash, e.g. `my-container/sub-folder`.
2. **Account Name**: the storage account name, e.g. `elisabettestsa`

5. Click on **Test connection** and if succeeds, click **Next**

<p class="image-container-m">
![image.png](./azureblob-20.png)
</p>

6. On the last page, fill in the final details for your data connector, namely:
1. **Name**: pick any name for the data connector (e.g. `data`)
2. **Owner:** select the namespace of the data connector (e.g. the user's, project's or a group's).
3. **Visibility:** decide whether the data connector should be Public or Private.
4. **Read-only**: keep it as read-only access.

7. Click on **+ Add connector**.

<p class="image-container-m">
![image.png](./azureblob-30.png)
</p>

## Restricted access

Use this option to share data securely with your collaborators and stakeholders, controlling their access rights (e.g. read-only, write and delete files).

### Azure portal configuration

1. Go to **Data storage > Containers > [Your container] > Settings > Shared access tokens**. Select the desired permissions (e.g. **Read** and **List** for read-only access, select on top **Add**, **Create** and **Write** for read and write access, avoid **Delete** if you want an append/upload-only environment).

<p class="image-container-m">
![Azure portal: Shared access tokens permissions panel](./azure-portal-restricted-sas-permissions.png)
</p>

2. Click on the button **Generate SAS token and URL**.
3. Copy the generated **SAS URL** field.

<p class="image-container-m">
![Azure portal: Generated SAS URL field to copy](./azure-portal-restricted-sas-url.png)
</p>

### Set up in Renku

Proceed to steps 1 to 3 from the [Public access set-up](#set-up-in-renku).

4. In **Connection information**, click on **Show full options list** and set the following parameters:
1. **Source path**: the storage account name, e.g. `elisabettestsa`. You can also mount a sub-folder by appending it to the bucket name with a slash, e.g. `my-container/sub-folder`.
2. **sas_url**: the `blob_sas_url` as generated in your storage account.

Continue with steps 5 to 7 as presented in the [public access set-up](#set-up-in-renku).

:::warning

You will need to share the sas_url value with your collaborators since they will be requested to enter the credentials. This variable will be stored as a user secret.

:::

:::info

The most advanced way to manage external access in Azure is through controlled access with revocation, which allows you to revoke access immediately without changing account keys. You need to create the policy under **Containers > [Your Container] > Settings > Access policy** and click **+ Add policy**. Define a name and the permissions. When you are creating the shared access token, select the policy you just created under **Stored access policy**. If you delete the policy in Azure, access to the container will be instantly revoked.

:::

## Full access to your storage account

This set-up allows you to have access to your full Azure storage account, with the access rights that you decide to set-up.

### Azure portal configuration

1. Go to **Security + networking > Shared access signature**. Select **Blob** service, **Service/Container/Object** types, and check **ONLY Read** and **List**.

<p class="image-container-m">
![Azure portal: Shared access signature page with Blob service and Read/List permissions selected](./azure-portal-full-access-sas.png)
</p>

### Set up in Renku

Proceed to steps 1 to 3 from the [Public access set-up](#set-up-in-renku).

4. Set the following parameters in **Connection information**:
1. **Source path**: the `container_name` as specified in the storage account you are using (e.g. `my-container`). You can also mount a sub-folder by appending it to the bucket name with a slash, e.g. `my-container/sub-folder`.
2. **Account Name**: the storage account name, e.g. `elisabettestsa`

5. Click on **Test connection** and if succeeds, click **Next**

<p class="image-container-m">
![image.png](./azureblob-20.png)
</p>

6. On the last page, fill in the final details for your data connector, namely:
1. **Name**: pick any name for the data connector (e.g. `data`)
2. **Owner:** select the namespace of the data connector (e.g. the user's, project's or a group's).
3. **Visibility:** decide whether the data connector should be Public or Private.
4. **Read-only**: do not uncheck this box, or the data connector will not work properly.

7. Click on **+ Add connector**.
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.
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.
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.
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.
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 @@ -32,51 +32,21 @@ In the project page:
- 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`
- if the image is hosted on GitHub:
- `ghcr.io/swissdatasciencecenter/renku-frontend-buildpacks/base-image:0.0.8`
- 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 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 session 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`).
- **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](#example-image-configurations) below.
4. If needed, fill in the **Advanced settings** to tell Renku how to run your image. The available fields are:

- **Container Image**: the image identifier to use (e.g. `renku/renkulab-py:3.10-0.24.0`)
- **Default URL**: the path appended to the session URL to open the front end (e.g. `/lab` for JupyterLab, `/rstudio` for RStudio)
- **Mount Directory**: the directory inside the container where Renku mounts your project files (e.g. `/home/jovyan/work`)
- **Working Directory**: the directory the session opens in (e.g. `/home/jovyan/work`)
- **UID**: the user ID the container process runs as (e.g. `1000`)
- **GID**: the group ID the container process runs as (e.g. `100`)
- **Command ENTRYPOINT**: the shell entrypoint (e.g. `["sh", "-c"]`)
- **Command Arguments**: the command passed to the entrypoint to start the front end server

See [Example image configurations for common front ends](#example-image-configurations) below for ready-made values per front end.

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

Expand Down
Binary file not shown.

This file was deleted.

Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
2 changes: 1 addition & 1 deletion docs/docs/10-users/80-use-cases/20-teaching/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@ We hereby share with you some sample projects that may inspire you for setting u
allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share"
allowfullscreen>
</iframe>
This webinar introduces instructors to Renku 2.0 and presents how to setup and create interactive, reproducible learning environments. After this webinar, you will be able to:
This webinar introduces instructors to Renku and presents how to setup and create interactive, reproducible learning environments. After this webinar, you will be able to:

<p>✨ Understand Renku's core features for educational purposes </p>
<p> 🧑🏼‍🏫 Create and manage teaching materials in Renku </p>
Expand Down
Loading
Loading