Skip to main content

Quickly spin up Hetzner instances

Project description

spawnm

"spawn machine": Quickly spin up temporary Hetzner Cloud VMs.

Simply run

spawnm --ssh --workdir

to directly SSH into a new server with the contents of the current folder copied into it.

*Requires Hetzner's CLI hcloud to be set up and authed.

Installation

uv install spawnm

Prerequisites

  1. Install the Hetzner Cloud CLI:

    brew install hcloud  # macOS
    

    Or see https://github.com/hetznercloud/cli for other platforms.

  2. Configure hcloud with your API token:

    hcloud context create myproject
    # Enter your API token from https://console.hetzner.cloud/
    
  3. Upload your SSH key to Hetzner Cloud:

    hcloud ssh-key create --name id_hetzner_macbook_air --public-key-from-file ~/.ssh/id_hetzner.pub
    

Usage

Create a VM

# Create with defaults
spawnm

# Create and SSH in immediately
spawnm --ssh

# Create, sync current directory, and SSH in
spawnm --ssh --workdir

# Create with custom options
spawnm --name my-server --size cx33 --image ubuntu-24.04

Destroy a VM

# Destroy the only tracked instance
spawnm destroy

# Destroy a specific instance
spawnm destroy my-server

# Destroy all tracked instances
spawnm destroy --all

Options

Option Default Description
--name spawn-tmp-XXXX Server name (random suffix by default)
--size cx23 Server type (cx23, cx33, cx43, etc.)
--image ubuntu-24.04 OS image
--location fsn1 Datacenter (fsn1, nbg1, hel1, ash)
--ssh-key id_hetzner_macbook_air SSH key name in Hetzner Cloud
--ssh - SSH into server after creation
--workdir - Sync current directory to the server

Server Types

Type vCPU RAM Disk
cx22 2 4 GB 40 GB
cx23 2 4 GB 80 GB
cx32 4 8 GB 80 GB
cx33 4 8 GB 160 GB
cx42 8 16 GB 160 GB
cx43 8 16 GB 320 GB

Locations

Code Location
fsn1 Falkenstein, Germany
nbg1 Nuremberg, Germany
hel1 Helsinki, Finland
ash Ashburn, USA

State

Instance information is stored in $XDG_STATE_HOME/spawnm/instances.json (defaults to ~/.local/state/spawnm/instances.json).

License

BSD-2-Clause

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

spawnm-0.1.0.tar.gz (8.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

spawnm-0.1.0-py3-none-any.whl (8.5 kB view details)

Uploaded Python 3

File details

Details for the file spawnm-0.1.0.tar.gz.

File metadata

  • Download URL: spawnm-0.1.0.tar.gz
  • Upload date:
  • Size: 8.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.8

File hashes

Hashes for spawnm-0.1.0.tar.gz
Algorithm Hash digest
SHA256 ab729250e8add9ff958670f2b433ee3f881b091497b7df89225f98eddf0fb1f3
MD5 b1d44457a44a5074b502b410bcbfe78a
BLAKE2b-256 d5857adbad6a5f362ba5b9a5096d56518419d83797507f2bf32a7d5f98b29dd7

See more details on using hashes here.

File details

Details for the file spawnm-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: spawnm-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 8.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.8

File hashes

Hashes for spawnm-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 a093bf5c703a5ce9aa1bafb864b45e9341c63894861af5ae7b2042d6beb79602
MD5 8271bd3bd50c547493fb0805aecfaa42
BLAKE2b-256 14ebd400c27cf5fd0385de413336c7163f4257c63f58691f55d82d4a49ee49f4

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page