Custom Images

Bring your own OS image, or promote a configured instance snapshot into a reusable private image across your project.

Built-In Image Gallery

VeloxaHost provides a curated gallery of up-to-date images updated weekly:

OSVersions
Ubuntu22.04 LTS, 24.04 LTS
Debian11, 12
AlmaLinux8, 9
Rocky Linux8, 9
Alpine Linux3.18, 3.19
Fedora39, 40

Promote a Snapshot to an Image

Configure an instance exactly how you want (install packages, set config files, add your app), take a snapshot, then promote it to a private image you can deploy from:

POST /v1/images
{
  "name": "my-app-baseline-v1",
  "source": {
    "type": "snapshot",
    "instance_id": "inst_abc123",
    "snapshot": "configured-baseline"
  }
}

# Deploy a new instance from your custom image
POST /v1/instances
{
  "name": "prod-01",
  "source": { "type": "image", "image_id": "img_xyz789" },
  "region": "vh-us-south-1",
  "plan": "standard-4"
}

Import a Custom Image (URL)

Import any raw, qcow2, or vmdk image directly from a URL:

POST /v1/images/import
{
  "name": "custom-alpine",
  "url": "https://example.com/alpine-custom.img.gz",
  "format": "raw",    // raw | qcow2 | vmdk
  "os_type": "linux"
}
ℹ️

Images must be importable by Incus. Raw and qcow2 formats are recommended. The import runs in the background — check status with GET /v1/images/{image_id}.

Share Images Between Projects

Private images can be shared with other projects in your account:

POST /v1/images/img_xyz789/share
{ "project_ids": ["proj_abc", "proj_def"] }

Pricing

Custom image storage is billed at $0.02 / GB / month. The built-in gallery images are free.