diff --git a/tutorials/deploy-openwebui-with-generative-apis/index.mdx b/tutorials/deploy-openwebui-with-generative-apis/index.mdx new file mode 100644 index 0000000000..090802b2d9 --- /dev/null +++ b/tutorials/deploy-openwebui-with-generative-apis/index.mdx @@ -0,0 +1,150 @@ +--- +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 will have a fully functional AI-powered setup. + + + +### 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. Follow the instructions below to set up Generative APIs + +### 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. + + + For detailed information about creating API keys, refer to the [how to create API keys documentation](/iam/how-to/create-api-keys/). + + +### 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//v1 +``` + +If you have not created a dedicated Project and are using the `default` Project created with your Scaleway account, you can use the following URL: `https://api.scaleway.ai/v1`. +You can also find the exact URL snippet including your `project_id` by visiting the [Generative API Playground](https://console.scaleway.com/generative-api/models/fr-par/playground) and clicking **View Code**. + + + Refer to our [dedicated documentation](/organizations-and-projects/how-to/create-a-project/) to retrieve your Project ID. + + +## 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//v1 \ + -e OPENAI_API_KEY= \ + -v open-webui:/app/backend/data \ + --name open-webui \ + --restart always \ + ghcr.io/open-webui/open-webui:main + ``` + + + Replace `` and `` with your actual values. + + +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 `ghcr.io/open-webui/open-webui:main` image. + + The default port `8080` is used by the `ghcr.io/open-webui/open-webui:main` image, so no further configuration is needed. + +4. Enter a name for your container and configure its 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. + + + Since the Open WebUI default image is around 5 GB size, deployment can take a couple of minutes before being ready. + + +### Deploying on Scaleway using the ClI + +#### Ensure you have a Scaleway Serverless Containers namespace + +Scaleway Serverless Containers are deployed inside a **namespace**. Run the following command to create a namespace: + +```bash +scw container namespace create name=openwebui-ns region=fr-par +``` +Run the following command to retrieve the namespace ID: +```bash +scw container namespace list +``` + +### Create the Serverless Container + +Run the following command to create the container with your **Docker image and secret injection**: + +```bash + +$ scw container container create name=open-webui \ + namespace-id= \ + registry-image="ghcr.io/open-webui/open-webui:main" \ + environment-variables.OPENAI_API_BASE_URL="https://api.scaleway.ai//v1" \ + secret-environment-variables.0.key="OPENAI_API_KEY" \ + secret-environment-variables.0.value="" \ + region=fr-par +``` + + + Replace `` and `` with your actual values. + + +For more information, refer to Scaleway's [Serverless Containers documentation](/serverless-containers/).