Skip to content

upctl server create

Create a new server

Note that the default template, Ubuntu Server 24.04 LTS (Noble Numbat), only supports SSH key based authentication. Use --ssh-keys option to provide the keys when creating a server with the default template. The examples below use public key from the ~/.ssh directory. If you want to use different authentication method, use --os parameter to specify a different template.

upctl server create [flags]

Examples

upctl server create --title myapp --zone fi-hel1 --hostname myapp --ssh-keys ~/.ssh/id_*.pub
upctl server create --wait --title myapp --zone fi-hel1 --hostname myapp --ssh-keys ~/.ssh/id_*.pub
upctl server create --title "My Server" --zone fi-hel1 --hostname myapp --ssh-keys ~/.ssh/id_*.pub
upctl server create --zone fi-hel1 --hostname myapp --ssh-keys ~/.ssh/id_*.pub --plan 2xCPU-4GB
upctl server create --zone fi-hel1 --hostname myapp --ssh-keys ~/.ssh/id_*.pub --plan custom --cores 2 --memory 4096
upctl server create --zone fi-hel1 --hostname myapp --password-delivery email --os "Debian GNU/Linux 10 (Buster)" --server-group a4643646-8342-4324-4134-364138712378
upctl server create --zone fi-hel1 --hostname myapp --ssh-keys ~/.ssh/id_*.pub --network type=private,network=037a530b-533e-4cef-b6ad-6af8094bb2bc,ip-address=10.0.0.1

Options

Option Description
--avoid-host Host to avoid when scheduling the server. Use this to make sure VMs do not reside on specific host. Refers to value from host attribute. Useful when building HA-environments.
Default: 0
--boot-order The boot device order, disk / cdrom / network or comma separated combination.
--cores Number of cores. Only allowed if plan option is set to "custom".
Default: 0
--create-password Create an admin password.
--enable-firewall Enable firewall.
--enable-metadata Enable metadata service. The metadata service will be enabled by default, if the selected OS template uses cloud-init and thus requires metadata service.
--enable-remote-access Enable remote access.
--host Schedule the server on a specific host. Refers to value from host attribute. Only available in private clouds.
Default: 0
--hostname Server hostname.
--label Labels to describe the server in key=value format, multiple can be declared.
Usage: --label env=dev

--label owner=operations
Default: []
--memory Memory amount in MiB. Only allowed if plan option is set to "custom".
Default: 0
--network A network interface for the server, multiple can be declared.
Usage: --network family=IPv4,type=public

--network type=private,network=037a530b-533e-4cef-b6ad-6af8094bb2bc,ip-address=10.0.0.1
Default: []
--os Server OS to use (will be the first storage device). The value should be title or UUID of an either public or private template. Set to empty to fully customise the storages.
Default: Ubuntu Server 24.04 LTS (Noble Numbat)
--os-storage-size OS storage size in GiB. This is only applicable if os is also set. Zero value makes the disk equal to the minimum size of the template.
Default: 0
--os-storage-encrypt Encrypt the OS storage. This is only applicable if os is also set.
--password-delivery Defines how password is delivered. Available: email, sms
Default: none
--plan Server plan name. See "server plans" command for valid plans. Set to "custom" and use cores and memory options for flexible plan.
Default: 1xCPU-2GB
--remote-access-password Defines the remote access password.
--remote-access-type Set a remote access type. Available: vnc, spice
--server-group UUID of a server group for the server. To remove the server from the group, see `servergroup modify
--simple-backup Simple backup rule. Format (HHMM,{dailies,weeklies,monthlies}). Example: 2300,dailies
--ssh-keys Add one or more SSH keys to the admin account. Accepted values are SSH public keys or filenames from where to read the keys.
Default: []
--storage A storage connected to the server, multiple can be declared.
Usage: --storage action=attach,storage=01000000-0000-4000-8000-000020010301,type=cdrom
Default: []
--time-zone Time zone to set the RTC to.
Default: UTC
--title A short, informational description.
--user-data Defines URL for a server setup script, or the script body itself.
--username Admin account username.
--video-model Video interface model of the server. Available: vga, cirrus
Default: vga
--wait Wait for server to be in started state before returning.
--zone Zone where to create the server. Run upctl zone list to list all available zones.
--help, -h help for create
Default: false

Global options

Option Description
--client-timeout, -t Client timeout to use in API calls.
Default: 0s
--config Configuration file path.
--debug Print out more verbose debug logs.
Default: false
--force-colours Force coloured output despite detected terminal support.
--no-colours Disable coloured output despite detected terminal support. Colours can also be disabled by setting NO_COLOR environment variable.
--output, -o Output format (supported: json, yaml and human)
Default: human
Command Description
upctl server Manage servers