Store and share Anka VM templates in the Anka Registry, in your own OCI registry, or in both

After you create and prepare a VM, you push it to a registry as a template. Other hosts then pull that template. Anka supports two types of registry. You can use one of them, or both together.

The Anka Registry, your OCI registry, and both together

Choose a path

Use the Anka Registry

The Anka Registry is part of Anka Build Cloud. It stores full VM templates. When you pull a tag, the VM goes back to the exact state of that tag.

Use the Anka Registry when:

  • You use the Anka Build Cloud Controller to start VMs. The Controller pulls templates only from the Anka Registry.
  • You manage templates in the Controller UI or with the Registry REST API.

Go to Using the Anka Registry.

Use your OCI registry

You can use a registry that you already have, such as Docker Hub, Google Artifact Registry, Amazon ECR, JFrog Artifactory, or Zot. You use it from the Anka CLI only.

A tag in an OCI registry is an OCI tag. An OCI tag is one of two types:

  • Full tags (Anka 3.9.0 and later). A full tag includes the macOS disk. It is the same as a tag in the Anka Registry.
  • Thin tags (Anka 3.10.0 and later). A thin tag holds only file layers, such as the files for one tool like Xcode. It does not include the macOS disk. You can pull a thin tag onto any VM. Thin tags stack on the VM in the order that you pull them.
Public OCI artifacts are thin tags. Examples: Homebrew bottles such as cmake, and GGUF models from Hugging Face (oci://hf.co/...). You can pull them onto a VM without Homebrew or a model download step inside the guest.

Use an OCI registry when:

  • You do not use Anka Build Cloud.
  • Your company already has a container registry with its own access control.
  • You want to add each tool to a VM as a separate layer, or pull public OCI artifacts such as Homebrew bottles or Hugging Face GGUF models.

Go to Using an OCI registry.

Use both registries

Keep the macOS base template in the Anka Registry, and keep each tool as a thin tag in an OCI registry. A producer host pulls the thin tags onto the base template and pushes the finished VM to the Anka Registry as a full tag. The Build Cloud Controller can then start VMs from that template.

Go to Combining both registries.

Already use the Anka Registry?

You can move your tools to thin tags one step at a time, and keep your current templates. Go to Moving to OCI tags.

Compare the registries

FeatureAnka RegistryOCI registry
Anka Build Cloud ControllerYesNo
Controller UI and Registry REST APIYesNo
Full tags (with the macOS disk)YesYes, Anka 3.9.0 and later
Thin tags (file layers only)NoYes, Anka 3.10.0 and later
--thin and push_modeNot usedUsed
Public OCI artifacts (Homebrew bottles, Hugging Face GGUF models)NoYes
ServerYou run the Anka Registry on Linux, Docker, or macOSYour existing registry, or a hosted service

Before you choose, read Templates and tags. It explains how full tags and thin tags behave on a VM.