Skip to content

Host an Image ​

Before a Custom Profile can be used, the image must be accessible through a direct HTTP or HTTPS URL.

TinyInstaller downloads the image directly from the URL you provide, so the image must remain available throughout the deployment process.

Requirements ​

The image URL should:

  • Be publicly accessible
  • Support direct file downloads
  • Remain available during deployment
  • Not require authentication, cookies, or interactive login

Example:

text
https://example.com/images/windows.raw.zst

For the best deployment performance, we recommend:

text
.raw.zst

Other supported image formats include:

  • RAW
  • QCOW2
  • VHD
  • VHDX
  • VMDK
  • Other formats supported by QEMU

Supported compression formats for raw images:

  • GZip (.gz)
  • Zstandard (.zst)
  • XZ (.xz)
  • BZip2 (.bz2)

Compression is supported only for raw disk images.

NOTE

Compressed virtual disk formats such as .qcow2.zst, .vhdx.gz, or .vmdk.xz are not supported. Convert the image to RAW before compressing.

Hosting Providers ​

Any hosting provider that offers direct file downloads can be used.

Common options include:

S3-Compatible Storage ​

Examples:

  • Amazon S3
  • Cloudflare R2
  • MinIO
  • Alibaba Cloud OSS
  • Backblaze B2

These services are generally recommended for production use because they provide reliable downloads and high availability.

GitHub Releases ​

GitHub Releases can be used for small or infrequently updated images.

Example:

text
https://github.com/example/project/releases/download/v1.0/windows.raw.zst

Web Servers ​

Any HTTP or HTTPS web server can host deployment images.

Examples:

  • Nginx
  • Apache
  • Caddy

CDN Providers ​

Images may also be distributed through a CDN to improve download performance.

Verify the URL ​

Before using the image in a Custom Profile, verify that the URL can be downloaded directly.

Linux:

bash
wget -O /dev/null https://example.com/image.raw.zst

Windows:

powershell
Invoke-WebRequest `
    -Uri "https://example.com/image.raw.zst" `
    -OutFile "$env:TEMP\test.img"

If the download succeeds without requiring authentication, the URL is usually suitable for TinyInstaller.

Large Images ​

Windows images can easily exceed several gigabytes.

To reduce bandwidth usage and improve deployment speed:

  1. Convert the image to RAW format.
  2. Compress it using Zstandard.

Example:

bash
qemu-img convert -O raw windows.vhdx windows.raw
zstd -19 windows.raw

The resulting .raw.zst file is typically smaller and deploys faster than virtual disk formats such as QCOW2 or VHDX.

Troubleshooting ​

The deployment fails immediately ​

Verify that:

  • The URL is correct
  • The file exists
  • The file is publicly accessible

The deployment is slow ​

For the best performance:

  • Use .raw.zst images
  • Host images close to the deployment location
  • Use a CDN or object storage service