---
sidebar_position: 5
---

> ## Documentation Index
> Fetch the complete documentation index at: https://docs.lium.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Default Jobs

Default Jobs are reusable fallback workload profiles for provider nodes. Assign a profile to a node, and Lium can run that workload while the node is idle and unrented.

:::info Runtime priority
Default Jobs are best-effort idle workloads. Customer rentals always have priority, and a running Default Job can be stopped when the node is needed for a rental or when the assignment is disabled, cleared, changed, or deleted.
:::

:::info Daily runtime limit
The current daily runtime limit is 5 hours per node for Default Job runs.
:::

![Default Jobs overview](./assets/default-jobs-overview.png)

## What Default Jobs are

Use Default Jobs to:

- Save a reusable workload profile in the Provider Portal.
- Assign that profile to one or more owned nodes.
- Bulk-assign a profile across a larger fleet.
- Leave a node in the **No Default Job** state when you do not want an idle workload on it.

Default Jobs do not create customer rental records, billing records, or customer pods.

## Before you start

Before creating a Default Job, make sure:

1. You are signed in to the [Provider Portal](https://provider.lium.io) with your provider hotkey.
2. Your provider is connected, either self-hosted or through the [Lium.io Central Provider Server](../provider-configuration.md).
3. You have at least one registered node. See [Managing Nodes](./managing-nodes.md).
4. For Pearl Mining, you have your Akoya pool wallet and worker values.
5. For Custom Docker, you have a public image and a command that keeps the container running.

## Create a Pearl Mining profile

Pearl Mining is a locked preset. You only provide a profile name and the required pool environment values; the image, tag, storage, volume, and port are set by the template.

1. Open **Default Jobs** in the Provider Portal.
2. Click **Create Job**.
3. Select **Pearl Mining**.
4. Enter a **Job Name**.
5. Add the required environment variables:
   - `AKOYA_POOL_WALLET`
   - `AKOYA_POOL_WORKER`
6. Click **Save Default Job**.

The Pearl Mining preset uses:

| Field | Value |
|---|---|
| Image | `registry.akoyapool.com/akoya-miner:1.0.2` |
| Storage limit | 20 GB |
| Volume | `/root` |
| Internal port | `22` |

![Pearl Mining Default Job modal](./assets/default-jobs-pearl-mining-modal.png)

## Create a Custom Docker profile

Use Custom Docker when you want to run your own long-running container on idle nodes.

1. Open **Default Jobs** in the Provider Portal.
2. Click **Create Job**.
3. Select **Custom Docker**.
4. Fill the required fields:
   - **Job Name**: a readable name for the profile.
   - **Image** and **Image Tag**: for example, `alpine` and `3.20`.
   - **Command / Args**: a command that keeps the container alive, such as `sleep infinity`.
   - **Disk Limit GB**: required, from 1 to 100 GB.
5. Add optional fields if your image needs them:
   - **Environment Variables** as `KEY=value` lines.
   - **Volumes** as comma-separated mount paths.
   - **Internal Ports** as comma-separated container ports.
   - **Minimum VRAM MB** and **Minimum GPU Count** for node-fit requirements.
6. Click **Save Default Job**.

:::warning Keep the process running
If the Custom Docker command exits, the Default Job run ends. Use a long-running worker process, service command, or an explicit command such as `sleep infinity` for smoke testing.
:::

![Custom Docker Default Job modal](./assets/default-jobs-custom-docker-modal.png)

## Assign profiles to nodes

After saving a profile, assign it in the **Node Assignment** table.

### Assign one node

1. Find the node row.
2. Open the **Default Job** dropdown.
3. Select the profile.

### Assign multiple nodes

1. Select the checkboxes for the target nodes.
2. Choose a profile from the bulk assignment dropdown.
3. Click **Apply to selected**.

To remove an assignment, choose **No Default Job**. Each node can have only one active Default Job assignment.

![Default Job node assignment](./assets/default-jobs-assignment.png)

## Monitor runs and activity

The Default Jobs page shows runtime signals in two places:

- **Node Assignment**: current assignment state, runtime status, last event time, runtime today, and failure reason when available.
- **Node Activity**: recent customer rentals and Default Job runs across your owned nodes.

Assignment statuses include **No Default Job**, **Assigned**, and **Disabled**. Runtime statuses can include **Idle**, **Starting**, **Running**, **Stopping**, **Failed**, or **Blocked**.

![Default Job activity table](./assets/default-jobs-activity.png)

## Disable, clear, or delete

Use the smallest action that matches what you want:

| Action | Where | Result |
|---|---|---|
| Disable a profile | Edit the Default Job and turn the **Enabled** switch off | The profile is kept, but the runtime will not start it. Existing assignments remain visible. |
| Clear an assignment | Set a node to **No Default Job** | The node no longer has an active fallback workload assignment. |
| Delete a profile | Open the profile details and click **Delete** | The profile is removed and its active assignments are cleared. |

When a running Default Job becomes inactive because the profile or assignment changed, the runtime stops it on a later runner cycle.

## Limits and behavior

- Default Jobs run only on active, idle nodes with an enabled profile assignment.
- Customer rentals have priority over Default Jobs.
- A node can have only one active Default Job assignment.
- Custom Docker disk limits must be between 1 and 100 GB.
- The runtime checks node fit before launch, including free GPUs, optional minimum GPU count, optional minimum VRAM, disk space, and required internal ports.
- Runs are best-effort and can be skipped or stopped by runtime conditions.
