---
title: How to create a job
description: Create jobs using images from the Scaleway Container Registry or from external public registries.
tags: deploy create job scaleway-registry docker image external registry public
dates:
  validation: 2025-11-18
  posted: 2023-11-09
---
import Requirements from '@macros/iam/requirements.mdx'
import ContainerRegistryNote from '@macros/serverless/container-registry-note.mdx'


This page shows you how to create Serverless Jobs using the [Scaleway console](https://console.scaleway.com/).

You can create a job from the [Scaleway Container Registry](/container-registry/quickstart/), or any other public container registry, such as Docker Hub, AWS Container registries, GitLab container registry, etc.

<Requirements />

- A Scaleway account logged into the [console](https://console.scaleway.com)
- [Owner](/iam/concepts/#owner) status or [IAM permissions](/iam/concepts/#permission) allowing you to perform actions in the intended Organization
- [Created a Container Registry namespace](/container-registry/how-to/create-namespace/) and [pushed a container image](/container-registry/how-to/push-images/) to it

## Create a job from the Scaleway Container Registry

Scaleway's Serverless Jobs allows you to create jobs from several container [registries](/container-registry/concepts/#registry), including the [Scaleway Container Registry](/container-registry/concepts/#container-registry) which allows you to store, secure and manage all your custom container images effortlessly.

1. Click **Jobs** in the **Serverless** section of the side menu. The jobs page displays.

2. Click **Create job**. The job creation wizard displays.

### Job configuration

1. Select the **Scaleway** Container Registry.

2. Select the required Container Registry namespace from the drop-down list, and then select the container image and tag.

3. Enter a name or use the automatically generated one. The name can only contain lowercase alphanumeric characters and dashes.

4. Select the region in which your job will be created.

### Job resources and scaling

Select the **resources** to allocate to your job at runtime. These define the performance characteristics of your job.

### Job advanced options

<Tabs>
    <TabsTab label="Data">
    1. Declare [environment variables](/serverless-jobs/concepts/#environment-variables) you want to inject into your job. For each environment variable, click **+Add variable** and enter the key/value pair.
    2. Add [secret references](/serverless-jobs/concepts/#secrets-reference) for your job. Secret references are environment variables fetched from [Scaleway Secret Manager](/secret-manager/) that are injected into your job, but the values are not retained or displayed by Scaleway after initial validation.
          <Message type="note">
          Encode your environment variables and secrets to `base64` if they are too large, and contain carriage returns.
          </Message>
     </TabsTab>
     <TabsTab label="Storage">
     - Customize the ephemeral storage for your job according to your requirements. The data stored in your job is not retained once it is finished.
     </TabsTab>
     <TabsTab label="Execution">
     1. Add [startup commands and arguments](/serverless-jobs/concepts/#startup-commands-and-arguments) to your job. They will be executed every time your job is run.
     2. Set a **maximum duration** to your job to stop it automatically if it does not complete within this limit.
     </TabsTab>
     <TabsTab label="Retries">
     - Set the number of times the job retries on failure. The default value is 0, and the maximum value is 5.
     </TabsTab>
 </Tabs>

### Job creation and execution

1. Verify the **estimated cost**.

2. Click **Create a job definition** to finish. You are directed to the listing of your Serverless Jobs.

3. Click the name of the job you just created. The **Overview** tab displays.

4. Click **Run job** to execute it.

The execution appears in the **Job runs** section of the **Overview** tab.

<Message type="note">
  - Refer to [How to monitor a job](/serverless-jobs/how-to/monitor-job/) to see the logs of the job you just executed.
  - Refer to [How to manage triggers for a job](/serverless-jobs/how-to/manage-job-triggers/) to set up cron schedules for your job to invoke it periodically.
</Message>

## Create a job from an external container registry

Scaleway Serverless Jobs allows you to create jobs from external public [container registries](/container-registry/concepts/#registry), such as Docker Hub, AWS container registries, GitLab container registry, etc.

Private external container registries are currently not supported.

<Message type="important">
<ContainerRegistryNote />
</Message>

1. Click **Jobs** in the **Serverless** section of the side menu. The jobs page displays.

2. Click **Create job**. The job creation wizard displays.

### Job configuration

1. Select the **external** container registry.

2. Enter the public container image URL provided by the external registry, such as `docker.io/alpine:latest`.

3. Enter a name or use the automatically generated one. The name can only contain lowercase alphanumeric characters and dashes.

4. Select the region in which your job will be created.

### Job resources and scaling

Select the **resources** to allocate to your job at runtime. These define the performance characteristics of your job.

### Job advanced options

<Tabs>
    <TabsTab label="Data">
    1. Declare [environment variables](/serverless-jobs/concepts/#environment-variables) you want to inject into your job. For each environment variable, click **+Add variable** and enter the key/value pair.
    2. Add [secret references](/serverless-jobs/concepts/#secrets-reference) for your job. Secret references are environment variables fetched from [Scaleway Secret Manager](/secret-manager/) that are injected into your job, but the values are not retained or displayed by Scaleway after initial validation.
          <Message type="note">
          Encode your environment variables and secrets to `base64` if they are too large, and contain carriage returns.
          </Message>
    </TabsTab>
    <TabsTab label="Storage">
    - Customize the ephemeral storage for your job according to your requirements. The data stored in your job is not retained once it is finished.
    </TabsTab>
    <TabsTab label="Execution">
     1. Add [startup commands and arguments](/serverless-jobs/concepts/#startup-commands-and-arguments) to your job. They will be executed every time your job is run.
    2. Set a **maximum duration** to your job to stop it automatically if it does not complete within this limit.
    </TabsTab>
    <TabsTab label="Retries">
     - Set the number of times the job retries on failure. The default value is 0, and the maximum value is 5.
     </TabsTab>
</Tabs>

### Job creation and execution

1. Verify the **estimated cost**.

2. Click **Create a job definition** to finish. You are directed to the listing of your Serverless Jobs.

3. Click the name of the job you just created. The **Overview** tab displays.

4. Click **Run job** to execute it.

The execution appears in the **Job runs** section of the **Overview** tab.

<Message type="note">
  - Refer to [How to monitor a job](/serverless-jobs/how-to/monitor-job/) to see the logs of the job you just executed.
  - Refer to [How to manage triggers for a job](/serverless-jobs/how-to/manage-job-triggers/) to set up cron schedules for your job to invoke it periodically.
</Message>
