Orka Engine provides macOS virtualization via Command Line Interface (CLI) on individual hosts without complex orchestration layers. It can automate the deployment and management of VMs on macOS servers within a data center, supporting the ability to run VMs based on different images.
Key Concepts
- A host (or node) is a physical computer with a host macOS and an installation of Orka Engine.
- An image is the bits on disk representing a VM that can be used for saving state and sharing.
- MacStadium base VM Orka images are macOS OCI compliant VM images stored in our public GitHub registry ghcr.io/macstadium/orka-images/ with user credentials user/pwd:
What’s in the Release
-
Deploy Orka Engine on an Apple Silicon host on private or public infrastructure via a Command Line Interface (CLI).
List Virtual Machines and running status
Restart Virtual Machines
Stop Virtual Machines
Clone Virtual Machine images
Edit Virtual Machine settings for (Ex. CPUs, Mem, Display Resolution, Dots Per Inch)
Delete Virtual Machines
Save Virtual Machines
Push VMs to Open Container Initiative (OCI) compliant registry
Pull VMs from OCI registry
List available VM images on local file system
Copy VMs on local file system
Delete VMs from local file systemCreate and deploy Orka OCI compliant Virtual Machine images.
Deploy headless VMs (no display console)
System Requirements
Apple M1 with 8GB RAM and 50GB disk space
macOS X 13.0+ (Ventura)
Obtaining an Orka License Key
Orka Engine requires a valid license key to operate. To request a license key:
1. Contact your MacStadium account representative
2. Provide your organization name, deployment details, and use case
3. Your account representative will submit your information to our licensing team for provisioning
4. Receive license key via email (Est. 24 hour turnaround time)
5. Activate: `orka-engine license set --key YOUR_KEY`
You can also download Orka Engine directly at: https://distribution.macstadium.com/orka-engine/official/3.5.2/orka-engine.pkg
Installation
To install Orka Engine on an Apple Silicon ARM (M1-M3) computer running macOS 13 (Ventura) and above, it is necessary to acquire and run the installer package.
The Orka Engine installer is self-guided and takes less than a minute to install successfully. Simply double click or right click open the orka-engine.pkg file from the source download directory and follow the prompts.
Getting Started
The following commands will quickly introduce basic features of the Orka Engine CLI including:
- Open Terminal
- Run
orka-engine --helpto see the CLI tree structure: commands, subcommands and options/flags. - Run (deploy) a new VM based on Apple's latest IPSW file using
orka-engine vm run - List the VM and its status (running) with the
orka-engine vm list - Save that VM as an image using
orka-engine vm save - Listing images available on disk with
orka-engine image list - Stop a VM with ctrl-c in terminal window bound to running VM or by closing the Dock item
- Run a base template VM image hosted from MacStadium using
orka-engine vm run- orka-engine vm run latest-sonoma --image http://ghcr.io/macstadium/orka-images/sonoma:latest
- Pulling remote images locally using
orka-engine image pull - Starting a VM in the stopped state with
orka-engine vm start - Pushing a configured CI/CD customized VM to a OCI container registry
orka-engine image push
Open Terminal
After Orka Engine is installed, open a terminal window. The command orka-engine is installed at /usr/local/bin/orka-engine - this should be in the $PATH for most users by default.
Using orka-engine --help
The orka-engine --help command lists the three subcommands, vmto manage VMs, image to manage images, and host to see information about the host.
orka-engine vm --help provides a list of operations that can be taken on VMs, such as run, list, save, and start
orka-engine vm run --help provides details on all the options that can provided when taking the vm run operation.
Running a VM Based on the Latest IPSW File
To get started with Orka Engine, run the first VM. If there is no locally stored image, then the quickest way to get started is to use the most recently published IPSW files. Orka Engine has a built-in ability to download the latest IPSW and start a VM with a hard disk of 90 GB using the following command:
orka-engine vm run latest-ipsw --ipsw latest --disk-size 90
orka-engine vm run is a blocking function. Open another terminal window to interface with orka-engine for other functions while the VM is running.Stop a VM with ctrl-c or via the UI window Menu -> Quit.
Common Options when Running a VM
Orka Engine provides a number of options to control the VM runtime, including specifying CPU, memory, disk, and display details.
If no options are provided, then defaults are used.
The following example sets CPU allocation of 4, memory allocation of 8GB, and display resolution settings for 4K with a 23” display (3840 x 2160, DPI=185):
orka-engine vm run sonoma-base-4k \
--ipsw latest \
--disk-size 90 \
--cpu 4 \
--memory 8192 \
--display-width 3840 \
--display-height 2160 \
--display-dpi 185Another common option is to run headless, and Orka engine provides an option:
The `--disable-graphical-console` flag:
- Runs the VM without VNC access
- Reduces resource overhead
- Is ideal for automated testing and CI/CD pipelines
- Ensures the VM remains accessible via SSH (if configured)
**Note:** Without the graphical console, you must use SSH or other non-GUI methods to interact with the VM.
orka-engine vm run sonoma-base \
--image latest-ipsw \
--disable-graphical-console \
sonoma-fixListing Current Running VMs
Orka engine can list the name and resource consumption of VMs are currently running or stopped on a local host.
Saving a VM as an Image
To configure the VM with different macOS settings, install dependencies or tools, or configure a bug reproduction environment. Save the current state of a running VM as an image, as long as the VM name is available (see orka-engine vm list command for the VM name).
For example,orka-engine vm save latest-ipsw sonoma146-vanilla saves the VM called latest-ipsw as an image with the name sooma146-vanilla
Listing Images Available on Disk
Orka Engine lists the images that are available on the local host. These images are used for starting a new VM immediately.
Stopping a VM
Stop a headless VM or VM with a display console enter ctrl-c (from the terminal window VM was started with) or if deployed with a display console, by choosing the apple icon in the VM and selecting Shut Down… .
Running a VM Based on a MacStadium Hosted Image
MacStadium hosts a number of Sequoia, Sonoma, and Ventura images on
GitHub - macstadium/orka-images: Public images for Apple silicon-based Orka virtual machines
In
orka-engine vm ,
specify an
--image option
to be the URL of an image coming from an OCI registry,
orka-engine vm run sonoma-latest --image ghcr.io/macstadium/orka-images/sonoma:latest
Starting VM sonoma-latest with MAC address f6:59:c1:15:5e:cb
|
Once the GUI starts up, the credentials are admin/admin.
Once logged in, the VM is ready for use or additional software and tools installation.
Reviewing Current List of VMs (in VMs orka-engine)
It is now possible to start a second terminal
and run
orka-engine vm list,
and the following output appears, (which
indicates that the previously running
latest-ipsw
VM has been stopped), and the recent
sonoma-latest
is now running.
NAME CPU MEMORY STATE
latest-ipsw 2 8192M running
sonoma146-vanilla 2 4096M stopped
sonoma-latest 2 4096M stopped
Once VMs are in a stopped state, they can either be:
-
left in a stopped state
-
restarted with the
orka-engine vm start <vmname> -
deleted with the
orka-engine vm deletecommands
To retain these changes, make sure
to use
orka-engine vm save.
Starting a VM from the Stopped State
If the VM
latest-ipsw
is stopped in the above example, then it
can be started again with the following command:
orka-engine vm start
Deleting a VM
If the VM
latest-ipsw
is stopped in the above example, then it
can be deleted with the
orka-engine vm delete <vm--name>
command.
Pulling Remote Images Locally
In previous examples,
orka-engine vm run
was used to both pull
(or download) a remote image to the local
device and to run
the vm. There are cases where users may just
want to download an image, and
orka-engine image pull
supports this.
orka-engine image pull ghcr.io/macstadium/orka-images/ventura:no-sip
Image pull progress: 100%
When the images pull is complete, it is available
in
orka-engine image list
and usable with
orka-engine vm run --image <imagename>.
Pushing local Images to Registry
If the previously run sonoma-latest image
has been modified and saved with the necessary
CI tools, then it can image can be shared
with team members by storing it on the team
OCI repo and naming it
sequoiaCI;
on the repo, use the
orka-engine image push
command.
The default local Orka Engine VM
image files system path is
/Users/<host_username>/.local/share/orka/data/
where the host_username is
admin in
this example and the container registry
is
ghcr.io
and the repo credentials are username=dev1 and
password=repo.
orka-engine image push --username dev1 --password repo /Users/admin/.local/share/orka/data/sonoma-latest ghcr.io/images/sequoiaCI:latest
Known Issues
Orka Engine VMs may become unresponsive and show a black/blank screen for a few minutes before activating from sleep or a fresh boot.
Orka Engine VMs may show a flickering screen when the mouse or keyboard attempts to wake the VM from sleep mode.
-
Orka Engine VM may experience slow network performance.
Workaround: Restart the VM.
Orka Engine and Orka Desktop share the same VM image directory on the local file system and discrepancies may develop between available VM images, if both applications are installed on the same host and VMs are added or deleted using both applications.