Skip to content

Instance Management ​

The instance command group allows you to create and manage full virtual machine instances on the Aleph Cloud network.

Overall Usage ​

bash
aleph instance [OPTIONS] COMMAND [ARGS]...

Options ​

OptionDescription
--jsonOutput results as JSON
--helpShow the help prompt and exit

Key Commands ​

CommandDescription
createCreate a new VM instance
deleteForget an INSTANCE message (send a FORGET)
listList instances belonging to an account
rebootReboot a VM instance
startStart (allocate) a VM instance on the CRN
stopStop a running VM instance
showShow details of an instance
sshSSH into a dispatched VM instance
eraseErase a VM instance's data on the CRN
priceShow pricing for an instance configuration
backupManage VM backups (create / info / download / delete / restore)
logsStream logs from a running VM instance
port-forwardManage TCP/UDP port forwards for VMs, programs, or IPFS websites (alias: pfw)

Creating an Instance ​

Create a new VM instance on Aleph Cloud. Sizing is specified in one of two ways:

  • --size <SLUG>, e.g. 1vcpu-2gb, 2vcpu-4gb, 4vcpu-8gb, 8vcpu-16gb.
  • --vcpus N --memory <SIZE> --disk-size <SIZE>, with human-readable values (e.g. 4GB, 512MiB, 1TiB).

--gpu <MODEL> is independent: it requests a GPU and enforces a minimum size for that model. You can still combine it with --size (the minimum slug or any larger multiple) or with --vcpus/--memory. Use aleph instance price --list-gpus to see available models.

An instance name (positional), --image, and at least one --ssh-pubkey-file are required. Image accepts a preset name (ubuntu22, ubuntu24, ubuntu26, debian12) or an item hash. Pin to a specific node with --crn-hash. For an interactive walkthrough, pass -i / --interactive.

Usage ​

bash
aleph instance create [OPTIONS] <NAME>

Options ​

OptionDescription
--image <IMAGE>Root filesystem image: preset name or item hash (hex or IPFS CID)
--size <SIZE>Instance size slug (e.g. 1vcpu-2gb, 4vcpu-8gb)
--vcpus <N>Number of virtual CPUs (overrides --size)
--memory <SIZE>Memory size, e.g. 2GB, 2048MB (overrides --size)
--disk-size <SIZE>Disk size, e.g. 20GB, 1TiB (required unless --size is used)
--ssh-pubkey-file PATHPath to SSH public key file; can be repeated for multiple keys
--gpu <MODEL>GPU model name (e.g. rtx4090, a100, l40s); can be repeated
--crn-hash <HASH>CRN node hash - pins the instance to a specific compute node
--on-behalf-of <ADDR>Sign on behalf of another address (requires an authorization from that address)
--persistent-volumename=N,mount=PATH,size=SIZE[,persistence=host|store]; can be repeated
--ephemeral-volumemount=PATH,size=SIZE; can be repeated
--immutable-volumeref=HASH,mount=PATH[,use_latest=BOOL]; can be repeated
--confidentialLaunch a confidential VM (AMD SEV)
--channel <CHANNEL>Channel name
--account <ACCOUNT>Named account (defaults to the active account)
--private-key <KEY>Hex-encoded private key (or set ALEPH_PRIVATE_KEY)
--chain <CHAIN>Signing chain (required with --private-key)
--dry-runBuild and sign the message but don't submit it
-i, --interactivePrompt interactively for any missing values and run the CRN picker
--helpShow this message and exit
bash
# Create a basic instance with a size slug
aleph instance create web \
  --image ubuntu26 \
  --size 1vcpu-2gb \
  --ssh-pubkey-file ~/.ssh/id_ed25519.pub

# Create a GPU instance
aleph instance create gpu-job \
  --image ubuntu26 \
  --gpu h100 \
  --ssh-pubkey-file ~/.ssh/id_ed25519.pub

# Create with custom resources and a persistent volume
aleph instance create db \
  --image ubuntu26 \
  --size 4vcpu-8gb \
  --persistent-volume name=data,mount=/data,size=100GB \
  --ssh-pubkey-file ~/.ssh/id_ed25519.pub

# Create with interactive prompts for everything else
aleph instance create -i web

Deleting an Instance ​

Forget an INSTANCE message (send a FORGET) and stop billing. This command only sends the FORGET - it does not erase the VM's data on the CRN, remove port forwards, or stop any Superfluid payment flow.

For a full teardown, run aleph instance erase first to wipe the VM's data on the CRN, then aleph instance delete to forget the message and stop billing. Remove port forwards separately with aleph instance port-forward delete if needed.

Usage ​

bash
aleph instance delete [OPTIONS] <VM_ID>

Arguments ​

ArgumentDescription
VM_IDInstance item hash

Options ​

OptionDescription
--reason <REASON>Reason recorded on the FORGET message [default: "User deletion"]
-y, --yesSkip the confirmation prompt
--jsonOutput results as JSON
--account <ACCOUNT>Named account (defaults to the active account)
--private-key <KEY>Hex-encoded private key
--chain <CHAIN>Signing chain
--dry-runBuild and sign the message but don't submit it
--helpShow this message and exit
bash
# Typical teardown: erase VM data first, then forget the message
aleph instance erase ITEM_HASH
aleph instance delete ITEM_HASH

# Delete with a reason
aleph instance delete ITEM_HASH --reason "decommission"

# Skip confirmation prompt
aleph instance delete ITEM_HASH -y

Listing Instances ​

List all instances associated with an account.

Usage ​

bash
aleph instance list [OPTIONS]

Options ​

OptionDescription
--address <ADDR>Owner address to list instances for
--jsonOutput results as JSON
--helpShow this message and exit
bash
# List your own instances
aleph instance list

# List instances for a specific address as JSON
aleph instance list --address ADDRESS --json

Rebooting an Instance ​

Reboot a VM instance.

Usage ​

bash
aleph instance reboot [OPTIONS] <VM_ID>

Arguments ​

ArgumentDescription
VM_IDVM instance item hash
bash
# Reboot an instance
aleph instance reboot VM_ID

Starting an Instance ​

Start (allocate) a VM instance on the CRN. This replaces the old allocate command.

Usage ​

bash
aleph instance start [OPTIONS] <VM_ID>

Arguments ​

ArgumentDescription
VM_IDVM instance item hash (accepts a unique prefix)

Options ​

OptionDescription
--crn <CRN>CRN to target: node hash, unique prefix/suffix, or URL (bypasses scheduler discovery)
--jsonOutput results as JSON
--account <ACCOUNT>Named account (defaults to the active account)
--private-key <KEY>Hex-encoded private key
--chain <CHAIN>Signing chain
--dry-runBuild and sign the message but don't submit it
--helpShow this message and exit
bash
# Start an instance
aleph instance start VM_ID

Stopping an Instance ​

Stop a running VM instance.

Usage ​

bash
aleph instance stop [OPTIONS] <VM_ID>
bash
# Stop an instance
aleph instance stop VM_ID

Confidential Instances ​

The confidential VM workflow lives under aleph instance confidential (subcommands: init-session, start, create). Use aleph instance create --confidential to allocate a confidential VM without the full attestation flow, or aleph instance confidential create for the all-in-one (create, allocate, init session, start). See the confidential instances guide for the full deployment workflow.

Show Instance Details ​

Show details of a single VM instance: INSTANCE message from the CCN, scheduler placement, and status. Pass --verbose to also fetch live networking information from the CRN.

Usage ​

bash
aleph instance show [OPTIONS] <VM_ID>

Options ​

OptionDescription
-v, --verboseAlso reach the CRN for live networking (IPv4/IPv6, mapped host ports)
--jsonOutput results as JSON
--helpShow this message and exit
bash
# Show instance details
aleph instance show a41fb91c3e68

# Show with live networking info
aleph instance show a41fb91c3e68 --verbose

# Show as JSON
aleph instance show a41fb91c3e68 --json

SSH Into an Instance ​

Open an SSH session to a dispatched VM instance. The scheduler is queried to find the CRN, then the VM's IPv6 address is discovered from the CRN.

Usage ​

bash
aleph instance ssh [OPTIONS] <VM_ID> [SSH_ARGS]...

Options ​

OptionDescription
--crn <CRN>CRN to target: node hash or URL (skips scheduler discovery)
--user <USER>SSH user to connect as [default: root]
--port <PORT>SSH port [default: 22]
--identity <PATH>Path to an SSH private key (ssh -i)
--jsonOutput results as JSON
--helpShow this message and exit
bash
# SSH into an instance
aleph instance ssh <vm-hash>

# SSH as a specific user with a key
aleph instance ssh <vm-hash> --user ubuntu --identity ~/.ssh/id_ed25519

# Run a remote command
aleph instance ssh <vm-hash> -- uptime

Erasing Instance Data ​

Erase a VM instance's data on the CRN (does not delete the INSTANCE message).

Usage ​

bash
aleph instance erase [OPTIONS] <VM_ID>
bash
# Erase instance data on the CRN
aleph instance erase VM_ID

Instance Pricing ​

Show pricing for an instance configuration. See the pricing page for full details.

bash
# Price by size slug
aleph instance price --size 4vcpu-8gb

# Price a GPU instance
aleph instance price --gpu h100

# List available GPU models
aleph instance price --list-gpus

Instance Backups ​

Manage VM backups: create, inspect, download, delete, or restore.

Usage ​

bash
aleph instance backup [OPTIONS] <COMMAND>
SubcommandDescription
createCreate a backup of a running VM
infoShow the latest backup status for a VM
downloadDownload a backup archive to disk
deleteDelete a backup
restoreRestore a VM from a local QCOW2 file or a volume
bash
# Create a backup of a running instance
aleph instance backup create VM_ID

Port Forwarding ​

Manage TCP/UDP port forwards for VM instances. The command is port-forward (alias: pfw).

For detailed documentation, see the port-forward documentation.

bash
# List port forwards for your account
aleph instance port-forward list

# Create a TCP port forward for port 80
aleph instance port-forward create YOUR_INSTANCE_HASH 80

# Delete a port forward
aleph instance port-forward delete YOUR_INSTANCE_HASH --port 80

Troubleshooting ​

Common issues and solutions:

  • Instance not starting: Check resource allocation and system compatibility
  • SSH connection failures: Verify your SSH key was properly added and the instance is running
  • Performance issues: Consider increasing CPU, memory, or using a GPU instance
  • Payment errors: Ensure you have sufficient credits or ALEPH tokens