hostedpi create

Provision one or more new Raspberry Pi servers

Usage: hostedpi create [OPTIONS] [NAMES]...

Arguments

names [str ...]

Names of the Raspberry Pi servers to provision

If no names are provided, a name will be generated. Use in combination with --number to create multiple servers with generated names.

Options

--model [int] [required]

Raspberry Pi Model

Available models are 3 and 4

--number [int]

Number of Raspberry Pi servers to create

Can be provided when no names are provided. If names are provided, the number of names will determine the number of servers to create.

--disk [int] = 10

Disk size in GB. Must be a multiple of 10.

--memory [int]

Memory in GB. Valid options depend on the model chosen. Default is the lowest available for the model.

--cpu-speed [int]

CPU speed in MHz. Valid options depend on the model chosen. Default is the lowest available for the model.

--os-image [str]

Operating system image. Default is determined by Mythic Beasts.

--wait

Wait and poll for status to be available before returning

--ssh-key-path [path]

Path to the SSH key to install on the Raspberry Pi server

--ssh-import-github [str] [repeatable]

A GitHub username to source SSH keys from

Can be provided multiple times

--ssh-import-launchpad [str] [repeatable]

A Launchpad username to source SSH keys from

Can be provided multiple times

--help

Show this message and exit

Usage

Provision a new Pi 3 using the default Pi 3 spec, and wait for it to be provisioned:

$ hostedpi create mypi --model 3 --wait
┏━━━━━━┳━━━━━━━━━━━━━┓
┃ Name ┃ Status      ┃
┡━━━━━━╇━━━━━━━━━━━━━┩
│ mypi │ Provisioned │
└──────┴─────────────┘

Provision two new Pi 4 servers with generated names, using the default Pi 4 spec:

$ hostedpi create --model 4 --number 2 --wait
┏━━━━━━━━━━━┳━━━━━━━━━━━━━┓
┃ Name      ┃ Status      ┃
┡━━━━━━━━━━━╇━━━━━━━━━━━━━┩
│ c8046pxjf │ Provisioned │
│ c8046pg5e │ Provisioned │
└───────────┴─────────────┘

Warning

If no names are provided, and --wait is not provided, the command will return immediately without the name of the provisioned Pi server.

Provision a new Pi 4 using custom settings:

$ hostedpi create mypi4 --model 4 --memory 8192 --cpu-speed 2000 --disk 60 --os-image rpi-jammy-arm64 --ssh-key-path ~/.ssh/id_rsa.pub --wait
┏━━━━━━━┳━━━━━━━━━━━━━┓
┃ Name  ┃ Status      ┃
┡━━━━━━━╇━━━━━━━━━━━━━┩
│ mypi4 │ Provisioned │
└───────┴─────────────┘

Note

Use the hostedpi images command to retrieve the available operating system images for each Pi model.

Provision a new Pi with SSH keys imported from multiple users on GitHub and Launchpad:

$ hostedpi create mypi --model 4 --ssh-import-github user1 --ssh-import-github user2 --ssh-import-launchpad user3

Note

See Available Raspberry Pi Specifications for more information on which combinations of specs are valid for each Raspberry Pi model.