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, expand Products and click Cloud VMs, then Create server.

2

2. Pick a region and location

Select Asia → Amaravati (AVR) 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 + New and paste your public key. The key is injected into the VM at first boot. See SSH Keys for full details.

6

6. Set a hostname and deploy

Enter a lowercase hostname (letters, numbers, hyphens only — for example web-01), then click Deploy Now. The platform checks your billing state and wallet balance first. If credits are sufficient, provisioning takes about a minute. If not, a billing popup prompts you to add credits.

7

7. Connect

Once the status shows Running, copy the public IP from the Cloud VMs list and SSH in:

$ssh ubuntu@<public-ip>

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 Settings → 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

Troubleshooting

Deploy Now is disabled Region, Location, Plan, OS, OS Version, SSH key, and Hostname are all required. Hostname must contain only lowercase letters, numbers, and hyphens.

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 Settings → API Tokens.