CLI
Compute commands
Create and manage virtual machines, SSH keys, and security groups.
On this page6 sections
Virtual machines#
List VMs#
Text
$ edge compute list
ID NAME STATUS IP SIZE REGION
vm-abc123 web-1 running 192.0.2.10 s-2vcpu-4gb london
vm-def456 api-server running 192.0.2.11 s-4vcpu-8gb london
vm-ghi789 database stopped 192.0.2.12 s-8vcpu-16gb londonCreate a VM#
Text
$ edge compute create \
--name web-2 \
--size s-2vcpu-4gb \
--image ubuntu-24 \
--region london \
--ssh-key my-laptop
Creating VM... done
ID: vm-jkl012
Name: web-2
Status: creating
IP: Assigning...
Size: s-2vcpu-4gb
Region: londonOr use interactive mode:
Text
$ edge compute create
? VM name: my-webserver
? Size: s-2vcpu-4gb (2 vCPU, 4 GB RAM)
? Image: ubuntu-24
? Region: london
? SSH key: my-laptop
Creating VM... doneGet VM details#
Text
$ edge compute get vm-abc123
ID: vm-abc123
Name: web-1
Status: running
IP: 192.0.2.10
IPv6: 2001:db8::1
Size: s-2vcpu-4gb
vCPUs: 2
Memory: 4 GB
Disk: 50 GB
Image: ubuntu-24.04-x64
Region: london
Created: 2025-02-10 14:30:00 UTC
SSH Keys: my-laptop, deploy-keyVM actions#
Terminal
# Start a stopped VM
edge compute start vm-abc123
# Stop a running VM
edge compute stop vm-abc123
# Restart a VM
edge compute restart vm-abc123
# Delete a VM (with confirmation)
edge compute delete vm-abc123
# Delete without confirmation
edge compute delete vm-abc123 --yesResize a VM#
Text
$ edge compute resize vm-abc123 --size s-4vcpu-8gb
Resizing VM... done
Note: VM will be restarted to apply new size.SSH access#
Terminal
# SSH into a VM by ID
edge compute ssh vm-abc123
# SSH with a specific user
edge compute ssh vm-abc123 --user root
# Open web console in browser
edge compute console vm-abc123Metrics#
Text
$ edge compute metrics vm-abc123
Period: Last 24 hours
CPU Usage: 12.5% avg, 45.2% peak
Memory Usage: 1.2 GB / 4 GB (30%)
Disk Read: 150 MB
Disk Write: 45 MB
Network In: 2.3 GB
Network Out: 890 MBTerminal
# Specify time period
edge compute metrics vm-abc123 --period 7d
# Export as CSV
edge compute metrics vm-abc123 --period 30d --export csv > metrics.csv
# Show specific metric
edge compute metrics vm-abc123 --metric cpuStartup scripts#
Startup scripts run on a VM after its first boot. The Edge library ships ready-made scripts (Docker, Node.js, WordPress and more), and you can create your own. See the startup scripts documentation for details.
List scripts#
Text
$ edge compute scripts list
ID NAME CATEGORY SOURCE PARAMS
docker Docker app edge library -
nodejs Node.js web edge library node_version
wordpress WordPress app edge library site_title, admin_email, db_password
a1b2c3d4 My Setup custom custom -View a script#
Terminal
# Show a script's details and content
edge compute scripts get docker
# Print only the content (for piping to a file)
edge compute scripts get docker --content > docker.shCreate a custom script#
Terminal
# Create a custom script from a file
edge compute scripts create --name "My Setup" --file setup.sh \
--description "Installs our standard tooling"
# Or pipe from stdin
cat setup.sh | edge compute scripts create --name "My Setup" --file -Update and delete#
Terminal
# Update a custom script
edge compute scripts update a1b2c3d4 --file setup-v2.sh
edge compute scripts update a1b2c3d4 --name "My Setup v2"
# Delete a custom script (library scripts can't be modified or deleted)
edge compute scripts delete a1b2c3d4Run a script on a new VM#
Terminal
# Run a script on first boot when creating a VM
edge compute create \
--name web-2 \
--size s-2vcpu-4gb \
--image ubuntu-24 \
--region london \
--script docker
# Library scripts with parameters
edge compute create \
--name blog \
--size s-2vcpu-4gb \
--image ubuntu-24 \
--region london \
--script wordpress \
--script-param site_title="My Blog" \
--script-param admin_email=me@example.comSSH keys#
List keys#
Text
$ edge compute keys list
ID NAME FINGERPRINT CREATED
key-abc my-laptop SHA256:uNiVztksCsDhcc0u9e8BujQXVUpKZIDTMczC... 2025-01-15
key-def deploy-key SHA256:vM9Jxk8sxCHd0ccjU4e9BmjRXYVpLaJEUNe1... 2025-02-01
key-ghi backup-server SHA256:wK0Kyl9tyCIe1ddkV5f0CnkSYWWqMbKFVO... 2025-02-10Create a key#
Terminal
# Create from file
edge compute keys create --name work-laptop --public-key-file ~/.ssh/id_rsa.pub
# Create with inline key
edge compute keys create --name ci-server --public-key "ssh-rsa AAAA..."Delete a key#
Terminal
edge compute keys delete key-abcSecurity groups#
List groups#
Text
$ edge compute groups list
ID NAME RULES VMs
grp-abc123 webserver 3 2
grp-def456 database 1 1
grp-ghi789 default 0 5Get group details#
Text
$ edge compute groups get grp-abc123
ID: grp-abc123
Name: webserver
VMs: web-1, web-2
Rules:
1. Allow TCP 22 from 0.0.0.0/0 (SSH)
2. Allow TCP 80 from 0.0.0.0/0 (HTTP)
3. Allow TCP 443 from 0.0.0.0/0 (HTTPS)Manage groups#
Terminal
# Create a security group
edge compute groups create --name api-servers
# Add rules
edge compute groups add-rule grp-abc123 --port 443 --protocol tcp --source 0.0.0.0/0
edge compute groups add-rule grp-abc123 --port 22 --protocol tcp --source 10.0.0.0/8
# Remove a rule
edge compute groups remove-rule grp-abc123 rule-xyz
# Delete a group
edge compute groups delete grp-abc123Common flags#
| Flag | Description |
|---|---|
--name, -n |
Name for the resource |
--size, -s |
VM size (e.g. s-2vcpu-4gb) |
--image, -i |
OS image (e.g. ubuntu-24, debian-12) |
--region, -r |
Data centre region |
--disk |
Disk size in GB (default: 50) |
--ssh-key |
SSH key name or ID to attach |
--security-group |
Security group name or ID |
--script |
Startup script ID to run after first boot |
--script-param |
Startup script parameter as name=value (repeatable) |
--yes, -y |
Skip confirmation prompts |
Next steps
Something unclear or out of date? Tell us