Spin up Linux VMs with QEMU.
- Linux, macOS or Windows (needs testing) host OS.
- QEMU installed and available in the image, you can install it with homebrew or your package manager of choice. spinup uses
qemu-img
binary,qemu-system-aarch64
binary on ARM64 andqemu-system-x86_64
binary on AMD64.
The only way for now is to have a working Go environment and install spinup by running this command:
go install github.com/Igr1s-red/spinup@latest
Create a Debian 12 (Bookworm) virtual machine with 4 CPUs, 4096 mebibytes of ram and 20 GB of disk by running this command:
spinup run debian12 -i debian:bookworm -c 4 -m 4096 -d 20
Run uname -a
inside the virtual machine by running this command:
spinup exec debian12 -- uname -a
You can get SSH parameters by running this command:
spinup ssh debian12
On Unix systems you can quickly connect via SSH by running this command:
$(spinup ssh debian12 --command)
With spinup run
you can create and start a new virtual machine.
spinup will automatically create a pair of SSH keys and configure the chosen system via cloud-init
. If not specified, a forward to guest port 22 will be created using a free port. This will be used to access the virtual machine via SSH.
Example:
spinup run debian12 -i debian:bookworm -c 4 -m 4096 -d 20
Available options:
-c
,--cpu
number of cpu(s) (example:-c 4
)-d
,--disk-size
disk size in gigabytes (GB) (example:-d 20
)-i
,--image
image to use (example:-i debian:bookworm
)-m
,--memory
ram in mebibytes (MiB) (example:-m 4096
)-p
,--port-forward
forward host port to the virtual machine (example:-p 8080-80
,-p [host]-[guest]
)
With spinup remove
or spinup rm
you can remove a virtual machine.
Example:
spinup remove debian12
With spinup start
you can start a virtual machine.
Example:
spinup start debian12
With spinup stop
you can stop a virtual machine.
Example:
spinup stop debian12