Skip to navigation

Launch your first VM

This quickstart walks you through launching your first IBEE Solutions VM — pick a region, plan, and OS, deploy the server, and SSH in. You can use the portal, the ibee CLI, or the API.

By the end you’ll have a running Ubuntu 24.04 VM in Amaravati on a small Performance plan, accessible over SSH and ready to run your workload.

Before you begin

You’ll need:

ssh-keygen -t ed25519 -C "your-email@example.com"

Your public key is at ~/.ssh/id_ed25519.pub.

Option A — Launch from the portal

1

1. Open Cloud VMs

In the portal sidebar, open Infrastructure → Cloud VMs, then click Deploy VM.

2

2. Pick a region and location

Under Location, select the Asia tab and Amaravati for this quickstart. See Regions and locations for the full list.

3

3. Choose a plan

Pick any plan that fits your workload. For a first VM we recommend perf.1.c2.m4 or std.1.c4.m16 — both have enough headroom for typical web/API work. The estimated monthly and hourly cost updates as you select.

Standard VMs — balanced vCPU, memory, included disk and bandwidth. Good default for production:

PlanvCPURAMDiskBandwidthBest for
std.1.c2.m828 GiB50 GB2 TBDevelopment environments, small apps, APIs, staging
std.1.c4.m16 (popular)416 GiB100 GB4 TBProduction web apps, SaaS, APIs, small databases
std.1.c8.m32832 GiB150 GB6 TBSaaS, CRM/ERP, medium databases
std.1.c16.m641664 GiB200 GB8 TBHigh-traffic apps, growing databases
std.1.c32.m12832128 GiB300 GB12 TBEnterprise, analytics, large backends
std.1.c64.m25664256 GiB400 GB16 TBLarge-scale systems, in-memory databases

Performance VMs — compute-optimized with stronger CPU density per core:

PlanvCPURAMDiskBandwidthBest for
perf.1.c1.m212 GiB40 GB1 TBDev, testing, lightweight workloads
perf.1.c2.m424 GiB50 GB2 TBFirst VM, microservices, API gateways
perf.1.c4.m8 (popular)48 GiB80 GB3 TBHigh-traffic web servers, stateless apps
perf.1.c8.m16816 GiB120 GB5 TBGaming servers, batch processing, CPU ML inference
perf.1.c16.m321632 GiB160 GB8 TBData pipelines, container workloads
perf.1.c32.m643264 GiB240 GB12 TBHPC, distributed systems, compute-intensive apps
perf.1.c64.m12864128 GiB320 GB16 TBLarge compute clusters, simulations

For full network bandwidth tiers per plan and the naming convention, see Instance types.

4

4. Select an operating system

On the Operating System → Templates tab, pick Ubuntu, then choose Ubuntu 24.04 from the OS Version dropdown. The available templates are filtered to show only images compatible with Cloud VMs.

For ISOs, snapshots, or backups as the source, see Custom images.

5

5. Add an SSH key

Under SSH Keys, click Add Key, open the Import Key tab, give the key a name, and paste the contents of ~/.ssh/id_ed25519.pub. If you’ve already saved the key, pick it from Select SSH Keys instead. The key is injected into the VM at first boot. See SSH Keys for full details.

6

6. Keep the default network and billing

Leave Network Configuration on Public IP with No VPC · public interface only, and don’t select a firewall group — the default firewall group is attached automatically. Leave Billing on Hourly. See Create a VM for the other options.

7

7. Set a hostname and deploy

Under VM Details, keep Instances at 1 and enter a lowercase hostname (letters, numbers, hyphens only — for example web-01). Then click Deploy in the bottom bar. The platform checks your billing state and wallet balance first. If credits are sufficient, you return to the Cloud VMs list while the VM provisions. If not, a Billing needs attention popup prompts you to add credits.

8

8. Connect

Once the status shows Running, open the VM and copy the SSH command from Overview → Connection Details, or copy the public IP from the Cloud VMs list and SSH in:

ssh ubuntu@<public-ip>

If SSH times out, check that the VM’s firewall group allows port 22 from your address.

You’re done — you have a running VM. Next steps below.

Option B — Using the ibee CLI

ibee is the official IBEE Solutions command-line tool. Use it to launch and manage VMs from scripts, CI/CD, and your terminal.

Install

Install Python 3.10 or later, then install the CLI from PyPI:

python3 -m pip install --upgrade ibee-cli

On Windows, use py -m pip install --upgrade ibee-cli.

Verify the install by running ibee --version.

Authenticate

Generate an API token in the portal under Organization → API Tokens, then export the token and workspace used by your commands:

export IBEE_TOKEN="ibee_prod_key_xxxxxxxxxxxx"
export IBEE_WORKSPACE_ID="WORKSPACE_ID"

Launch a VM

A VM create request uses IDs returned by the compute catalog. List valid sites, plans, and images first:

ibee compute sites
ibee compute plans --vm-type cloud --site-id SITE_ID
ibee compute images --vm-type cloud --site-id SITE_ID

Pass the returned IDs to vms create. The name is the first positional argument. Save your public key in the portal first and copy its SSH key ID. Omit --site-id to let IBEE select a site automatically:

ibee vms create web-01 \
--site-id SITE_ID \
--plan-id PLAN_ID \
--template-id IMAGE_ID \
--ssh-key-id SSH_KEY_ID \
--wait

Create and power actions are asynchronous. --wait polls the returned operation until it finishes; without it, save the operation ID and check it later with ibee ops get <operation-id> --wait.

Helpful CLI commands

CommandDescription
ibee vms listList Cloud VMs in the current workspace
ibee vms get <vm-id>Show one VM’s details
ibee vms metrics <vm-id>Show current resource-usage metrics
ibee vms stop <vm-id> --waitStop a running VM and wait for completion
ibee vms start <vm-id> --waitStart a stopped VM and wait for completion
ibee vms reboot <vm-id> --waitReboot a VM and wait for completion
ibee vms delete <vm-id> --yes --waitPermanently delete a VM
ibee ops get <operation-id> --waitPoll an asynchronous operation

For full help on any command:

ibee vms create --help

List available sites, plans, and images

ibee compute sites
ibee compute plans --vm-type cloud
ibee compute images --vm-type cloud

Output as JSON

Put the global --json option before the command for machine-readable output:

ibee --json vms list | jq

Verify

Whichever path you took, confirm the VM is healthy:

# From your laptop
ssh ubuntu@<public-ip> 'uname -a; uptime'
# Inside the VM
sudo apt update
sudo apt install -y nginx
curl -I http://localhost

Open http://<public-ip> in a browser to see the default nginx page.

What to do next

  • Protect your data — turn on scheduled backups or take a manual snapshot.
  • Open the right ports — add rules to the VM’s firewall group before exposing services beyond SSH.
  • Add a domain — point an A record at the VM’s IP with your DNS provider.
  • Add persistent storage — attach a Block Storage volume for data that should outlive the VM.
  • Resize when ready — move to a larger plan from Settings → Change Plan (Resize a VM).

Troubleshooting

Deploy shows an error message The portal validates the form when you click Deploy and names the missing item — for example a plan, an OS version, or a hostname. Fix it and click Deploy again.

Billing needs attention popup Your organization’s wallet balance is insufficient for the selected plan. Click Add Credits to top up, then return to deploy.

SSH connection refused Wait until the VM shows Running and the public IP is populated. The first sshd start takes a few seconds after the IP is assigned.

ibee: command not found Re-open your shell after installation, or add the Python user scripts directory to PATH.

The CLI reports a missing token or workspace Set IBEE_TOKEN and IBEE_WORKSPACE_ID, or pass the global --token and --workspace options before the command group. Generate tokens under Organization → API Tokens.