Browse docs

Manage VPSes with the CLI

Create, power, resize, back up, SSH into and delete VPSes from the terminal.

Updated

On this page

The bitqate vms commands cover the whole VPS lifecycle. Everything here assumes you've installed the CLI and logged in. If you're new to VPSes, Getting started with your VPS explains the concepts.

Create a VPS

bitqate vms create

On a terminal this walks you through it: it loads the nodes, OS images, prices and your balance, then asks for:

  1. Region (auto-picked when there's only one node)
  2. Operating system, a filterable list limited to images the node has
  3. Size, presets with their monthly price, or Custom… for your own CPU/RAM/disk
  4. Public IPv4 address, on by default and shows its price (a free IPv6 block is always included)
  5. Name, where blank means a generated one
  6. SSH key, offering the public keys in ~/.ssh, or skip it and use the root password from the dashboard
  7. Billed to, your personal account or a workspace, when you have any

Before anything is created you get a Review with the monthly total and your balance after purchase. If the balance won't cover it, the wizard stops there and links you to billing. After you confirm, the VPS is provisioned under a spinner. Ctrl-C stops watching but the VPS keeps being set up.

To run the same thing without prompts, pass flags instead:

bitqate vms create --node montreal --os "debian 12" --memory-mb 4096 --cpus 2 --disk-gb 40 --wait

--node takes a name, nickname or ID and --os a name or ID, both case-insensitive. Other useful flags: --ssh-key-file ~/.ssh/id_ed25519.pub, --ipv6-only to skip the public IPv4, --workspace <name> to bill a workspace, --auto-renew, --name, and --dry-run to print the request without sending it.

See what's available first:

bitqate vms nodes
bitqate vms os --node montreal

Referring to a VPS

Wherever a VPS is expected you can use its name, a unique ID prefix (at least 4 characters), or the full UUID. A name needs the vms:read scope to resolve, while a UUID works without it. If a prefix matches several VMs you'll get a picker on a terminal, or a list of candidates otherwise.

Look at them

bitqate vms list
bitqate vms get dizzy-puma

list prints a table with status dots; get shows the detail view; IPs, host key, renewal date and the next-step commands. -q prints only IDs.

Power

bitqate vms stop dizzy-puma --wait
bitqate vms start dizzy-puma --wait
bitqate vms restart dizzy-puma --wait

--wait blocks until the VM actually reaches the target state and shows live status as it goes.

SSH

bitqate vms ssh dizzy-puma
bitqate vms ssh dizzy-puma --user debian
bitqate vms ssh dizzy-puma -- -L 8080:localhost:80

The CLI prints the host and, when BitQate recorded one, the VPS's host key fingerprint, so you can compare it with what ssh shows on first connect. --json prints {host, user, port, host_key_fingerprint} without connecting. Once you're in, see Harden your VPS.

Open in the dashboard

bitqate open dizzy-puma
bitqate vms open dizzy-puma

Prints Opening … and launches your browser on the VM's page.

Change it later

bitqate vms resize dizzy-puma --memory-mb 8192 --cpus 4
bitqate vms rename dizzy-puma web-1
bitqate vms renew dizzy-puma
bitqate vms auto-renew dizzy-puma on

renew adds 30 days and charges your balance; and so does resize when the monthly price goes up. Credits, billing and renewals explains the charging rules.

Backups

bitqate vms backups list dizzy-puma
bitqate vms backups create dizzy-puma
bitqate vms backups restore dizzy-puma <token>
bitqate vms backups delete dizzy-puma <token>

Restoring overwrites the VM's disk. See Back up and restore for what a backup covers.

Network

bitqate vms networking dizzy-puma
bitqate vms rdns dizzy-puma --address 203.0.113.10 --hostname mail.example.com
bitqate vms stats dizzy-puma --range day

Reinstall and delete

bitqate vms reinstall dizzy-puma --os "debian 12"
bitqate vms delete dizzy-puma

Both are destructive. On a terminal you're asked to type the name back; in a script pass --yes. A delete refunds the unused time to your balance.

Still stuck?

Our team can look at your specific setup.