Opening Additional Ports on a VM

How to open additional ports on your VM.

By default, when you deploy a VM, Orka assigns an SSH, a VNC, and a ScreenShare port to it. You can open additional ports during deployment.

To open a port, you need to map a free port from the node that hosts the VM to a free port on the VM. The port on the node will listen for requests and then forward them to the respective port on the respective VM.


Quick command/API summary

orka vm deploy --ports
POST /resources/vm/deploy/


  • VM port: The port to open on the virtual machine. Also: guest port.
  • Node port: The port to open on the node that hosts the virtual machine. Also: host port.


  • You can use a node port only once.
  • You can open only TCP ports.
  • You cannot create port mappings with the following ports and port ranges:
    • 22 (reserved for SSH)
    • 80 (reserved for operational purposes)
    • 443 (reserved for operational purposes)
    • 5000-5014 (reserved for Apple Screen Sharing)
    • 5999-6013 (reserved for VNC)
    • 6443 (reserved for operational purposes)
    • 8822-8836 (reserved for SSH)

Open ports in the CLI

orka vm deploy -v <NAME> --ports <NODE_PORT>:<VM_PORT>


orka vm deploy -v <NAME> --ports <NODE_PORT>:<VM_PORT> -y

Replace <VM NAME> with the name of the VM configuration that you want to deploy.


This example maps port 1337 on the node to port 3000 on the VM.

Open ports with the API

curl --location --request POST "http://<orka-api-ip>/resources/vm/deploy/" \
  --header "Content-Type: application/json" \
  --header "Authorization: Bearer <TOKEN>" \
  --data "{
	\"orka_vm_name\": \"<VM_NAME>\",
	\"reserved_ports\": [ \"<NODE_PORT>:<VM_PORT>\"]

Replace with, or your custom domain.
Replace <VM_NAME>, <TOKEN>, and <NODE_PORT> and <VM_PORT> with the correct values.

© 2019-2023 Copyright MacStadium, Inc. – Documentation built with Orka is a registered trademark of MacStadium, Inc.