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

# Get Cloud Images

> Download pre-built cloud images for popular Linux distributions and Windows Server for use with Polystack Compute.

## Overview

Pre-built cloud images are official distribution releases packaged for virtual machine
deployment. Each image includes cloud-init for first-boot customization, SSH server
access, and storage drivers optimized for virtual environments. Use these images as the
starting point for new instances rather than installing an operating system from scratch.

<Note>
  **Prerequisites**

  * An active Polystack account with appropriate permissions
  * Access to the **Polystack Dashboard** or CLI configured with credentials
  * API credentials sourced (`source openrc.sh`)
</Note>

<Tip>
  Start with CirrOS for initial environment testing. It is a minimal test image that
  launches in seconds and consumes almost no resources.
</Tip>

***

## Available Images

<Note>
  All images listed below require [cloud-init](https://cloud-init.io) to function
  correctly in Polystack. Images without cloud-init will not receive SSH keys, hostname
  assignments, or network configuration on launch.
</Note>

| Distribution                           | Download URL                                                                                             | Format      | Default User                |
| -------------------------------------- | -------------------------------------------------------------------------------------------------------- | ----------- | --------------------------- |
| **Ubuntu 24.04 LTS**                   | [cloud-images.ubuntu.com](https://cloud-images.ubuntu.com/noble/current/noble-server-cloudimg-amd64.img) | QCOW2       | `ubuntu`                    |
| **Ubuntu 22.04 LTS**                   | [cloud-images.ubuntu.com](https://cloud-images.ubuntu.com/jammy/current/jammy-server-cloudimg-amd64.img) | QCOW2       | `ubuntu`                    |
| **CentOS Stream 9**                    | [cloud.centos.org](https://cloud.centos.org/centos/9-stream/x86_64/images/)                              | QCOW2       | `cloud-user`                |
| **AlmaLinux 9**                        | [repo.almalinux.org](https://repo.almalinux.org/almalinux/9/cloud/x86_64/images/)                        | QCOW2       | `almalinux`                 |
| **Rocky Linux 9**                      | [dl.rockylinux.org](https://dl.rockylinux.org/pub/rocky/9/images/x86_64/)                                | QCOW2       | `rocky`                     |
| **Debian 12**                          | [cloud.debian.org](https://cloud.debian.org/images/cloud/bookworm/latest/)                               | QCOW2       | `debian`                    |
| **Fedora 41**                          | [fedoraproject.org](https://fedoraproject.org/cloud/download)                                            | QCOW2       | `fedora`                    |
| **CirrOS 0.6.2**                       | [download.cirros-cloud.net](https://download.cirros-cloud.net/0.6.2/cirros-0.6.2-x86_64-disk.img)        | QCOW2       | `cirros` / pass: `gocubsgo` |
| **Windows Server and Windows Desktop** | Prepare from licensed installation media or evaluation media                                             | VHD / QCOW2 | `Administrator`             |

<Info>
  Polystack supports Windows Server and Windows desktop images when they are prepared
  for virtualization with Cloudbase-Init and the required VirtIO drivers. Common
  versions include Windows Server 2016, 2019, 2022, and 2025, plus Windows 10 and
  Windows 11 desktop images. Use your organization's licensed media or approved
  evaluation media, convert the disk to the required image format, and upload it as a
  Windows image.
</Info>

<Warning>
  Windows Server evaluation images expire after 180 days. For production use, supply a
  licensed Windows image prepared with Cloudbase-Init installed.
</Warning>

***

## Download and Upload an Image

<Tabs>
  <Tab title="Dashboard" icon="gauge">
    <Steps titleSize="h3">
      <Step title="Navigate to Images" icon="compact-disc">
        Navigate to
        **Compute > Images**. Click **Create Image**.
      </Step>

      <Step title="Configure the image record">
        | Field                     | Recommended Value                                                     |
        | ------------------------- | --------------------------------------------------------------------- |
        | **Name**                  | `ubuntu-24.04-lts`                                                    |
        | **Upload Type**           | **File URL** (for web download) or **Upload File** (for local upload) |
        | **File URL**              | Paste the download URL from the table above                           |
        | **Disk Format**           | `QCOW2`                                                               |
        | **OS**                    | Select the matching distribution (e.g., Ubuntu)                       |
        | **OS Version**            | `24.04`                                                               |
        | **OS Admin**              | `root` (Linux) or `Administrator` (Windows)                           |
        | **Min System Disk (GiB)** | `10` for most Linux images; `40` for Windows                          |
        | **Min Memory (GiB)**      | `1` for Linux; `2` for Windows                                        |

        See [Upload an Image](/services/images/upload-image) for the complete field reference.
      </Step>

      <Step title="Create the image">
        Click **Confirm**. The image enters `Saving` status while the file is
        fetched and stored. Large images may take several minutes.

        <Check>
          The status transitions to **Active** when storage is complete. The image
          is available immediately for launching instances.
        </Check>
      </Step>
    </Steps>
  </Tab>

  <Tab title="CLI" icon="terminal">
    <Steps titleSize="h3">
      <Step title="Authenticate" icon="key">
        Source your credentials file to authenticate with the Polystack platform:

        ```bash title="Load credentials" theme={null}
        source openrc.sh
        ```

        <Tip>
          Your administrator provides the RC (credentials) file for your project. See [CLI Setup](/cli-setup) for configuration details.
        </Tip>
      </Step>

      <Step title="Download the image locally" icon="download">
        ```bash title="Download Ubuntu 24.04 LTS cloud image" theme={null}
        curl -L -o ubuntu-24.04-lts.img \
          https://cloud-images.ubuntu.com/noble/current/noble-server-cloudimg-amd64.img
        ```

        Verify the download completed and matches the published checksum:

        ```bash title="Verify checksum (SHA256)" theme={null}
        sha256sum ubuntu-24.04-lts.img
        ```
      </Step>

      <Step title="Upload to the image service" icon="upload">
        ```bash title="Upload image with metadata" theme={null}
        openstack image create \
          --disk-format qcow2 \
          --container-format bare \
          --file ubuntu-24.04-lts.img \
          --min-disk 10 \
          --min-ram 512 \
          --property os_type=linux \
          --property os_distro=ubuntu \
          --property os_version=24.04 \
          ubuntu-24.04-lts
        ```

        Note the image `id` from the output for verification.
      </Step>

      <Step title="Verify the image is active" icon="circle-check">
        ```bash title="Check image status" theme={null}
        openstack image show ubuntu-24.04-lts -c status -c size -c disk_format
        ```

        <Check>`status` shows `active` — the image is ready for use with instances.</Check>
      </Step>
    </Steps>
  </Tab>
</Tabs>

***

## Validation

Confirm the uploaded image is registered and ready before launching instances.

<Tabs>
  <Tab title="Dashboard" icon="gauge">
    Navigate to **Compute > Images**. Locate the image by name and verify:

    * **Status**: Active (green indicator)
    * **Format**: Matches the selected disk format
    * **Size**: Matches the expected download size

    <Check>Image shows **Active** status and is selectable when launching a new instance.</Check>
  </Tab>

  <Tab title="CLI" icon="terminal">
    ```bash title="List images and filter by name" theme={null}
    openstack image list --name ubuntu-24.04-lts -c Name -c Status -c "Disk Format"
    ```

    Expected output:

    ```text title="Expected output" theme={null}
    +------------------+--------+-------------+
    | Name             | Status | Disk Format |
    +------------------+--------+-------------+
    | ubuntu-24.04-lts | active | qcow2       |
    +------------------+--------+-------------+
    ```

    <Check>Status `active` confirms the image is stored and ready for compute use.</Check>
  </Tab>
</Tabs>

***

## Next Steps

<CardGroup cols={2}>
  <Card title="Image Requirements" href="/services/images/image-requirements" color="#bf9667">
    Understand what makes an image compatible with Polystack Compute.
  </Card>

  <Card title="Upload an Image" href="/services/images/upload-image" color="#bf9667">
    Upload images from local files or import via web URL.
  </Card>

  <Card title="Convert Formats" href="/services/images/convert-formats" color="#bf9667">
    Convert VMDK, VHD, or RAW images to QCOW2 before uploading.
  </Card>

  <Card title="Image Properties" href="/services/images/image-properties" color="#bf9667">
    Set OS metadata, hardware requirements, and scheduler hints.
  </Card>
</CardGroup>
