Azure Marketplace image

Your own private AI, running in your Azure subscription in as little as 5 minutes.

A ready-to-run Marketplace image: open-weight LLMs, a private chat UI, and an honest model catalogue. Deploy, open the portal console, and the menu is waiting. Nothing leaves your VM. No SSH client needed.

DEPLOY NOWRead the setup guide

Runs on x86 and Azure Cobalt (ARM64), two plans in one offer.

Available on Microsoft Marketplace
The Caleta appliance llm menu: status block and action list
The llm menu on a running box: boot banner, live status and one-key actions. It opens on login over SSH, and the same menu runs in the Azure portal serial console when you would rather not use an SSH client.

What DEPLOY NOW does

Pick a size below and one click opens the Azure portal with that template loaded: the Caleta LLM Appliance on a spot VM in your own subscription. The template builds the box, its network and the appliance image. You choose and serve a model from the menu once it is up.

Each size shows its all-in price and the region that is cheapest for it today. If the portal's size picker quotes a higher price, that is the pay-as-you-go rate; the template deploys spot, and the VM bills at the spot rate.

Deploys into your own Azure subscription. Nothing leaves it.

Honest numbers: 138 tokens/sec on a single A100, measured on this exact image and dated; unmeasured models say so.

Private by default: nothing is publicly reachable until you choose to expose it.

Isolated network at 10.42.0.0/16. Need it in your existing network? Contact us.

About spot: Azure sells this capacity cheap because it can reclaim it, and a reclaimed box stays off until you start it again (the menu's auto-restore then re-serves your model on boot). That makes spot ideal for evaluating models and for work you can pause. Need it always on? The same image deploys on pay-as-you-go at the same appliance fee, or talk to us about a resilient private AI service built for your environment.

Deploy the appliance, in one click

Every supported size has a ready-made template: the appliance, the network and the box, deployed into your own subscription. Pick a size, set the region it names, and deploy. You choose and serve a model from the menu once the box is up.

1

Pick a size

2

Set the region, then deploy

Cheapest spot region today: North Europe

Choose North Europe (northeurope) in the portal's Region field. Everything the template creates follows that one field, so there is nothing else to set. Any region works; this is the cheapest for this size in our spot data as of 2026-10-04. If you need the data in a particular country, pick that region instead and ignore the recommendation.

About $0.92/hour all-in on spot, on our measured spot figure for this size in North Europe: $0.81 for the VM plus $0.10 for the appliance, both on your Azure bill. The appliance fee is fixed per size and the same in every region; only the spot price moves.

Nothing to accept first. We tested a clean tenant on 17 August 2026: the deployment goes through without accepting Marketplace terms up front.

Two fields need you once the portal opens: a password, and your public IP address (from ifconfig.me) so the box is locked to you. Leave the rest as it is.

Deploying the appliance on NC24ads_A100_v4 in North Europe.

Opens the Azure portal with this template loaded. The template deploys a spot VM; if the portal's size picker quotes a higher price, that is the pay-as-you-go rate.

Up and running in minutes

Pick a size, click DEPLOY NOW, choose a subscription and a new resource group, then fill in the only two fields that need you: a password, and your public IP address (get it from ifconfig.me) so the box is locked to you and nobody else. Leave everything else exactly as it is; deployment takes about a minute and a half. Then open the VM's Serial console in the Azure portal (under Help), sign in as azureuser, and the appliance menu is waiting: download a model, serve it, done.

No fixed address (on mobile, or behind a corporate network you cannot pin down)? Enter none in the IP field. The appliance then deploys with no inbound access at all, not reachable from the internet, and you manage it entirely from the serial console. You can add access for your address later in the portal. Note the field cannot be left empty; the deployment will fail validation.

Want the chat UI in a browser? One menu action (publish securely) gets a Let's Encrypt certificate for the box's built-in DNS name. No domain to buy, and it stays reachable only from the IP you supplied.

Deploying to spot? Check your quota first: the size you pick needs its full vCPU count as low-priority quota. How to request it. And ignore the price the portal's size picker shows: that is the pay-as-you-go rate, while the template deploys spot and the VM bills at the much lower spot rate. Azure can reclaim spot capacity; a reclaimed box stays off until you start it again, and with auto-restore switched on in the menu it re-serves your model on boot. Ideal for evaluation; for always-on service use pay-as-you-go, or ask us about Managed Private AI.

On a CPU size? On E64ads_v7 and Azure Cobalt E32ps_v6, loading a model we measured there on ik_llama.cpp asks which engine to use: ik_llama.cpp, which we measured faster on those sizes, or standard llama.cpp. Either works; the guide explains the difference.

Want a different VM size? Every supported size has its own one-click template: pick one and see the cheapest region for it. Or deploy from the Azure Marketplace listing instead. The full guide covers every step and setting in detail.

What you get

Up and running in as little as 5 minutes, including the model download

Deploy the VM, open its serial console in the Azure portal (no SSH client needed), and the llm menu is waiting. The trial model is chatting about 5 minutes from deploy on any size; even the 155 GB frontier models are serving in under 10 minutes on the recommended sizes (they have local NVMe). On sizes without a local disk, large models are limited by OS disk speed. No engine to build, no drivers to install, no config.

Fast model downloads, up to ~30 Gbit/s

Weights pull direct from Hugging Face over the accelerated network at up to about 30 Gbit/s, depending on the VM size, as larger sizes have faster NICs. The menu shows live GB and Gbit/s, and the peak on completion. Even models of many tens of GB land in minutes, not hours. Measured, not projected.

Everything is set up and ready to go

The inference engine (llama.cpp, plus ik_llama.cpp on the CPU sizes where we measured it faster), a private chat UI (Open WebUI), the Hugging Face downloader, automatic HTTPS (Caddy and Let’s Encrypt), a firewall and system monitors are all baked in. One image, four silicon families: NVIDIA (A100, H100 and Blackwell), AMD MI300X, x86 CPU and Azure Cobalt (Arm). It detects the hardware at boot and picks the right build.

Honest numbers, from our own lab

Where we publish a speed, we measured it ourselves on real Azure hardware, and the figure is dated. Where we have not measured a model yet, the catalogue says unmeasured rather than guessing. Serving uses the engine’s own defaults; where we measured a clear gain on a specific CPU size, the menu also offers a tuned second engine for that size. Our in-house Caleta Score, an infrastructure-as-code benchmark, covers quality where it has been run.

Sign in your way: portal console, Entra ID or SSH

Manage the box from the Azure portal serial console with a password and no SSH client at all, use Entra login for SSH so your MFA and conditional-access policies apply, or use a standard SSH key. Your choice.

A connected appliance, not a static box

Your appliance checks in with Caleta’s update channel for two things. Spot placement advice: the cheapest Azure regions for your VM size, with their eviction rates, refreshed daily, so you can run on spot with confidence. Update notifications: opt in with your email from the menu and we will tell you when a new measured model or a patched image version ships. The appliance never updates itself, so nothing changes on your box without your say. Both work without sending your data anywhere: the channel carries advice in, never your prompts out.

Every figure we publish was measured by us on this image, and unmeasured entries are marked. The supported sizes and a live map of where each one can be deployed are on VM sizes and regions, and every model with its dated speed is in the model catalogue.

CPU inference runs at single-user speeds. It genuinely works, and GPU sizes are the choice when you need throughput for several concurrent users.

A private chat UI, served on the box

Open WebUI is built in and bound to loopback. Reach it over an SSH tunnel at localhost:3000, or publish it on HTTPS when the team needs it.

The Open WebUI chat interface running on the appliance
Open WebUI as it opens on the box, served from the VM itself with no account anywhere else.
Two plans, one offer

Runs on x86 and Azure Cobalt (ARM64)

Frontier open models on ARM CPU, no GPU required. Pick x86 or Azure Cobalt at deploy.

~$0.37/hr
A single Azure Cobalt (E32ps_v6) box on spot, all-in: about $0.31 VM plus $0.06 appliance fee. Smaller Arm sizes cost less.
~53 t/s
gpt-oss-120b, measured on Cobalt CPU
56 to 64 t/s
Qwen3-Coder-30B, measured on Cobalt CPU

The same appliance experience (the llm menu, chat UI and tools) and the same security posture (Trusted Launch, loopback by default, Entra login, offline capable), just built for ARM.

Azure Cobalt is a CPU platform, so ARM figures are CPU inference at single-user speeds. GPU sizes on the x86 plan are the choice when you need throughput for several concurrent users. ARM has its own curated model list. See the ARM section of the guide for the measured catalogue and supported sizes.

Two lines on the Azure bill you already have

No contract with us, no per-token meter. You pay Azure for the VM at the spot rate, plus a small per-core appliance fee for the image. Both arrive on the Azure bill you already pay. Readings from 17 Aug 2026, all figures USD:

Runs onVM spotAppliance feeAll-in per hour
D64pds Arm, Sweden Central$0.578$0.115≈ $0.69
NC80 H100, East US$2.58$0.44≈ $3.02
ND96 8x MI300X, France Central$11.09$0.40≈ $11.49

All three run roughly 80 to 82% under the on-demand rate. The appliance fee is fixed per size and the same in every region; only the spot price moves. Every measured pairing's all-in price is on the model catalogue.

Prices are readings, not quotes: spot moves, and the exact figure is on the deploy screen before you click Create. Spot is ideal for evaluation and work you can pause; for an always-on service, run the same image on pay-as-you-go, or ask us about Managed Private AI.

Your subscription, your data, your network

Fully secure, sovereign and trusted, by default rather than by configuration.

Trusted image

Deploys with Trusted Launch (Secure Boot and vTPM). Signed drivers, verified boot.

Sovereign

It runs in your subscription, on your VM. No inference data leaves the box. Once a model is downloaded the appliance serves fully offline: you can block all outbound traffic and it keeps working after a reboot.

Private by default

The chat UI and API bind to loopback only. Nothing is reachable from the network until you deliberately publish it. The host firewall is on out of the box.

No standing secret

The API key is minted fresh on every boot and never leaves the VM. No model weights are baked into the image; you download them under each model’s own licence.

Full detail is on the security page, the privacy policy (which sets out every outbound connection the appliance makes) and the terms of service.

Get notified when the catalogue changes

Leave your email and we will tell you when the rankings or the model catalogue change.

Only catalogue and ranking updates, no marketing. Unsubscribe any time. See our Privacy Policy.

Get the Caleta Private AI Appliance

One offer, two plans: x86 and Azure Cobalt (ARM64). Choose your plan and size at deploy.