> For the complete documentation index, see [llms.txt](https://docs.clore.ai/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.clore.ai/for-hosts/installing-clore-hosting/installing-clore-hosting-ubuntu.md).

# Installing on Ubuntu

## Server Requirements

The server (or rig – these terms are nearly interchangeable in this context) must be equipped with NVIDIA GPUs, as AMD is currently not supported. The minimum required disk space is 32 GB (at least 30 GB free on the system partition is recommended); for reliability, it's recommended to use an SSD instead of a flash drive. A minimum of 8 GB of RAM is required, but 16 GB will provide greater stability. As for the CPU, the system can work with a Celeron on a 1151 socket, but for more efficient performance, consider using a CPU like the i7-6700.

Before proceeding, it is highly recommended to disable any overclocking, including the Power Limit (PL), and reset the GPUs to factory settings. Afterward, stress-test the system for stability by, for example, testing the GPUs using the kawpow algorithm and loading the CPU. Monitor temperatures and ensure everything is running stably.

If the system operates stably and temperatures are within a safe range, continue to the next step in the instructions. If temperatures are too high or errors occur, address these issues first – for example, by improving cooling or troubleshooting – and ensure stable operation before proceeding.

## Recommended OS & Drivers

### Operating System

* **Ubuntu 22.04 LTS** — recommended, best GPU driver compatibility
* **Ubuntu 24.04 LTS** — supported, but kernels 6.16+ may have issues with older driver branches (R550 and below)

{% hint style="warning" %}
The installer requires an **x86\_64** machine running **Ubuntu 22.04 or newer** (or HiveOS — see [Installing Software](/for-hosts/installing-clore-hosting/installing-clore-hosting-software.md)). Ubuntu 18.04 and 20.04 are no longer supported.
{% endhint %}

### NVIDIA Drivers

The installer does **not** install or upgrade GPU drivers — a working NVIDIA driver must be installed before you run it (`nvidia-smi` must work).

| Branch      | Version    | CUDA Support    | Recommended For                |
| ----------- | ---------- | --------------- | ------------------------------ |
| R580 (LTSB) | 580.126.18 | Up to CUDA 12.8 | Most GPUs, long-term stability |
| R590        | 590.48.01  | Up to CUDA 13.1 | RTX 50 series, latest features |

Install the recommended driver:

```bash
sudo apt install nvidia-driver-580
```

Or for RTX 50 series:

```bash
sudo apt install nvidia-driver-590
```

### CUDA Toolkit (for ML/AI workloads)

Renters running ML workloads expect CUDA. Recommended versions:

| CUDA Version | Min Driver | Status                          |
| ------------ | ---------- | ------------------------------- |
| CUDA 12.8    | R570+      | Stable, wide ecosystem support  |
| CUDA 13.1    | R590+      | Latest, RTX 50 series optimized |

Most Docker images include their own CUDA runtime, so hosts don't always need to install the CUDA Toolkit system-wide. However, having compatible drivers is essential.

## Adding the Server

Everything is driven by a single install command that the dashboard generates for you.

### 1. Create the server on the website

Go to [clore.ai](https://clore.ai/), register or log in, open [My Servers](https://clore.ai/my-servers) and click **Add Server**. Two paths are available:

* **Quick** — the dashboard shows one ready-to-copy command that installs the hosting agent **and** registers the machine to your account in one step. The server appears in My Servers automatically with default settings (max rental length 300 hours, USD autopricing at $5 per server per day for on-demand and spot) which you can adjust from the dashboard afterwards.
* **Advanced** — you name the server first, it appears in My Servers as awaiting installation, and the server page shows the install and register commands for it (including a combined one-liner with your server's token).

The same modal's **Mass** section covers bringing up whole fleets — see [Clore Fleet (Mass onboarding)](/for-hosts/advanced/clore-fleet-mass-onboarding.md).

### 2. Pick an installer channel

The generated commands come in three channels:

| Channel    | What it is                                                                         |
| ---------- | ---------------------------------------------------------------------------------- |
| **Stable** | Recommended — thoroughly tested releases, updated less frequently                  |
| **Beta**   | Newest updates and features before they reach Stable — may be less reliable        |
| **Legacy** | Previous-generation installer — a fallback if Stable does not work on your machine |

The commands per channel:

**Stable (recommended):**

```bash
bash <(curl -s https://gitlab.com/cloreai-public/hosting-agent-installer/-/raw/main/install.sh)
```

**Beta:**

```bash
bash <(curl -s https://gitlab.com/cloreai-public/hosting-agent-installer/-/raw/dev/install.sh) --channel beta
```

**Legacy:**

```bash
bash <(curl -s https://gitlab.com/cloreai-public/hosting-agent-installer/-/raw/legacy/install.sh)
```

You can switch a running server between Stable and Beta updates later from its server page (requires an up-to-date hosting agent; not possible while the server is rented).

### 3. Run the install command as root

```bash
sudo -i
```

Then paste the command copied from the dashboard. If you used the Advanced path, append the token shown on the server's page to install and register in one step:

```bash
bash <(curl -s https://gitlab.com/cloreai-public/hosting-agent-installer/-/raw/main/install.sh) --init-token <token>
```

If you ran the plain install command without a token, register the machine afterwards with:

```bash
/opt/clore-hosting/clore.sh --init-token <token>
```

The installer checks its prerequisites up front and tells you what is missing. It needs outbound access to the Docker and NVIDIA package repositories, GitHub, GitLab, Docker Hub, and `api.clore.ai` — see [Network Requirements](/for-hosts/installing-clore-hosting/network-requirements.md).

### 4. Finalize

Reboot the rig, wait a moment, and refresh the My Servers page. If everything was set up correctly, the server will show as online.

```bash
reboot
```

## How to Disable All Installed Services

If you need to disable everything previously installed:

1. Disable the services:

   ```bash
   systemctl disable clore-hosting.service
   systemctl disable docker.service
   systemctl disable docker.socket
   ```
2. Reboot the system:

   ```bash
   reboot
   ```

## How to Re-enable Services

To re-enable the services:

1. Enable the services:

   ```bash
   systemctl enable clore-hosting.service
   systemctl enable docker.service
   systemctl enable docker.socket
   ```
2. Reboot the system:

   ```bash
   reboot
   ```

## Removing the Previously Installed Token

To delete the token, use the command:

```bash
/opt/clore-hosting/clore.sh --reset
```

The file containing the token is located at:

```
/opt/clore-hosting/client/auth
```


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.clore.ai/for-hosts/installing-clore-hosting/installing-clore-hosting-ubuntu.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
