Skip to content
Merged
Changes from 3 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
149 changes: 149 additions & 0 deletions tutorials/deploy-openwebui-with-generative-apis/index.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,149 @@
---
meta:
title: Deploying Open WebUI with Scaleway's Generative APIs
description: This guide explains how to deploy Open WebUI with Scaleway's Generative APIs using Docker or Scaleway's Serverless Containers.
content:
h1: Deploying Open WebUI with Scaleway's Generative APIs
paragraph: Learn how to integrate Scaleway's Generative APIs with Open WebUI for a seamless AI-powered experience using Docker or Scaleway's Serverless Containers.
tags: open-webui docker scaleway generative-apis
categories:
- generative-apis
dates:
validation: 2025-02-17
posted: 2025-02-17
---

Integrating Scaleway's Generative APIs with Open WebUI allows you to leverage powerful AI models in a user-friendly, self-hosted interface.
Open WebUI is an open-source frontend that simplifies interactions with AI models, providing an intuitive alternative to proprietary AI interfaces.

This tutorial will guide you through:

- Configuring Generative APIs on Scaleway
- Installing Open WebUI Locally
- Deploying Open WebUI Using Scaleway's Serverless Containers


By the end, you'll have a fully functional AI-powered setup.

<Macro id="requirements" />

### Prerequisites

- A Scaleway account logged into the [console](https://console.scaleway.com)
- [Owner](/iam/concepts/#owner) status or appropriate [IAM permissions](/iam/concepts/#permission)
- [Docker](https://docs.docker.com/get-docker/) installed on your system

## Configuring Generative APIs on Scaleway

Scaleway's Generative APIs provide access to advanced AI models via simple API calls. To set up:

### Creating an API key

1. Log in to the [Scaleway Console](https://console.scaleway.com/).
2. Click on your **Organization name** in the top right corner of the console to display the menu.
3. Click **API keys** in the pop-up menu.
4. Click **Generate a New API Key**, provide a name, and store the key securely.

<Message type="tip">
For detailed information about creating API keys, refer to [How to create API keys](/iam/how-to/create-api-keys/).
</Message>

### Identifying the API endpoint

Scaleway assigns a unique endpoint for your Generative API access. This can be found in the Generative APIs section of the console. The format typically follows:

```
https://api.scaleway.ai/<YOUR_PROJECT_ID>/v1
```

If you have not created a dedicated project and are using the `default` project created with your Scaleway Account, you can use directly the following url: `https://api.scaleway.ai/v1`.
You can also find the exact URL snippet including your `project_id` by visiting [Generative API Playground](https://console.scaleway.com/generative-api/models/fr-par/playground) and clicking on `View Code`.

<Message type="note">
For more information about your Project ID, refer to our [dedicated documentation](/organizations-and-projects/how-to/create-a-project/).
</Message>

## Installing Open WebUI locally

Open WebUI provides an easy-to-use interface for interacting with AI models. The recommended installation method is via Docker.

### Running Open WebUI with Scaleway integration

1. Pull and Run the Docker container:

```bash
docker run -p 3000:8080 \
-e OPENAI_API_BASE_URL=https://api.scaleway.ai/<YOUR_PROJECT_ID>/v1 \
-e OPENAI_API_KEY=<YOUR_API_KEY> \
-v open-webui:/app/backend/data \
--name open-webui \
--restart always \
ghcr.io/open-webui/open-webui:main
```

<Message type="note">
Replace `<YOUR_PROJECT_ID>` and `<YOUR_API_KEY>` with your actual values.
</Message>

2. Navigate to `http://localhost:3000` in your browser to access the Open WebUI interface.

3. Click **Sign Up** to create an administrator account.
4. Select a Model from the available Scaleway AI models and start interacting.

For more details, refer to the [Open WebUI Quick Start Guide](https://docs.openwebui.com/getting-started/quick-start/).

## Deploying Open WebUI Using Scaleway's Serverless Containers (Optional)

For cloud-based deployment, Scaleway's Serverless Containers offer a scalable solution.

### Deploying on Scaleway via the console

1. In the Scaleway Console, navigate to **Serverless** > **Containers**.
2. Click **Deploy Container** to display the container creation wizard.
3. Select an external registry and use the image `ghcr.io/open-webui/open-webui:main`.
<Message type="note">
You do not need to configure the port as the default one - `8080` - is the one used by the image from `ghcr.io/open-webui/open-webui:main`.
</Message>
4. Enter a name for your container and configure it's resources.
5. Click **Advanced options** and configure Secrets:
- Set `OPENAI_API_BASE_URL` and `OPENAI_API_KEY` with your specific values.

6. Click **Deploy container** to launch deployment. Once deployed, note the provided endpoint to access Open WebUI.

<Message type="note">
Since Open WebUI default image is around 5GB size, deployment can take a couple of minutes before being ready.
</Message>

### Deploying on Scaleway using the ClI

#### Ensure your Scaleway namespace exists

Scaleway Serverless Containers are deployed inside a **namespace**. If you do not have one, create it first:

```bash
scw container namespace create name=openwebui-ns region=fr-par
```
Find the namespace ID:
```bash
scw container namespace list
```

### Create the Serverless Container
Now, create the container with your **Docker image and secret injection**:

```bash

$ scw container container create name=open-webui \
namespace-id=<YOUR_NAMESPACE_ID> \
registry-image="ghcr.io/open-webui/open-webui:main" \
environment-variables.OPENAI_API_BASE_URL="https://api.scaleway.ai/<YOUR_PROJECT_ID>/v1" \
secret-environment-variables.0.key="OPENAI_API_KEY" \
secret-environment-variables.0.value="<YOUR_SECRET_KEY>" \
region=fr-par
```

<Message type="note">
Replace `<YOUR_PROJECT_ID>` and `<YOUR_API_KEY>` with your actual values.
</Message>

For more details, refer to Scaleway's [Serverless Containers documentation](/serverless-containers/).